feat(licenses): add license management and user authentication features

- Introduced a new SQL schema for managing licenses and users, including foreign key relationships.
- Implemented API routes for license validation, activation, and OTP-based user authentication.
- Updated the license creation process to associate licenses with users and handle server IPs.
- Added support for the nanoid package to generate unique license keys.
- Refactored existing code to improve modularity and maintainability, including the separation of license and stripe-related logic into dedicated API routes.
- Enhanced error handling and logging for better debugging and user feedback.
This commit is contained in:
Mauricio Siu
2025-03-23 18:32:50 -06:00
parent 5180c785b4
commit 39e6a98179
11 changed files with 724 additions and 365 deletions

14
pnpm-lock.yaml generated
View File

@@ -554,6 +554,9 @@ importers:
hono:
specifier: ^4.5.8
version: 4.5.8
nanoid:
specifier: 5.1.5
version: 5.1.5
nodemailer:
specifier: 6.9.14
version: 6.9.14
@@ -6059,6 +6062,11 @@ packages:
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
nanoid@5.1.5:
resolution: {integrity: sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw==}
engines: {node: ^18 || >=20}
hasBin: true
nanostores@0.11.3:
resolution: {integrity: sha512-TUes3xKIX33re4QzdxwZ6tdbodjmn3tWXCEc1uokiEmo14sI1EaGYNs2k3bU2pyyGNmBqFGAVl6jAGWd06AVIg==}
engines: {node: ^18.0.0 || >=20.0.0}
@@ -13247,6 +13255,8 @@ snapshots:
nanoid@3.3.8: {}
nanoid@5.1.5: {}
nanostores@0.11.3: {}
napi-build-utils@1.0.2:
@@ -13718,13 +13728,13 @@ snapshots:
postcss@8.4.31:
dependencies:
nanoid: 3.3.7
nanoid: 3.3.8
picocolors: 1.0.1
source-map-js: 1.2.0
postcss@8.4.40:
dependencies:
nanoid: 3.3.7
nanoid: 3.3.8
picocolors: 1.0.1
source-map-js: 1.2.0