@jumentix/cli-init 0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +21 -0
- package/README.md +107 -0
- package/README.pt-BR.md +112 -0
- package/bin/jumentix-init.js +11 -0
- package/bin/jumentix.js +8 -0
- package/bin/launcher.js +72 -0
- package/dist/args.d.ts +46 -0
- package/dist/args.js +215 -0
- package/dist/args.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.js +116 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/add.d.ts +16 -0
- package/dist/commands/add.js +442 -0
- package/dist/commands/add.js.map +1 -0
- package/dist/commands/doctor.d.ts +34 -0
- package/dist/commands/doctor.js +397 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/init.d.ts +8 -0
- package/dist/commands/init.js +221 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/upgrade.d.ts +14 -0
- package/dist/commands/upgrade.js +280 -0
- package/dist/commands/upgrade.js.map +1 -0
- package/dist/config.d.ts +16 -0
- package/dist/config.js +27 -0
- package/dist/config.js.map +1 -0
- package/dist/generators/backend.d.ts +45 -0
- package/dist/generators/backend.js +182 -0
- package/dist/generators/backend.js.map +1 -0
- package/dist/generators/domains.d.ts +46 -0
- package/dist/generators/domains.js +170 -0
- package/dist/generators/domains.js.map +1 -0
- package/dist/generators/env.d.ts +26 -0
- package/dist/generators/env.js +72 -0
- package/dist/generators/env.js.map +1 -0
- package/dist/generators/frontend.d.ts +47 -0
- package/dist/generators/frontend.js +211 -0
- package/dist/generators/frontend.js.map +1 -0
- package/dist/generators/frontendModules.d.ts +53 -0
- package/dist/generators/frontendModules.js +322 -0
- package/dist/generators/frontendModules.js.map +1 -0
- package/dist/generators/frontendOas.d.ts +54 -0
- package/dist/generators/frontendOas.js +226 -0
- package/dist/generators/frontendOas.js.map +1 -0
- package/dist/generators/index.d.ts +11 -0
- package/dist/generators/index.js +71 -0
- package/dist/generators/index.js.map +1 -0
- package/dist/generators/jumentixVersions.d.ts +18 -0
- package/dist/generators/jumentixVersions.js +52 -0
- package/dist/generators/jumentixVersions.js.map +1 -0
- package/dist/generators/packageJson.d.ts +16 -0
- package/dist/generators/packageJson.js +52 -0
- package/dist/generators/packageJson.js.map +1 -0
- package/dist/generators/paths.d.ts +19 -0
- package/dist/generators/paths.js +80 -0
- package/dist/generators/paths.js.map +1 -0
- package/dist/generators/slice.d.ts +26 -0
- package/dist/generators/slice.js +92 -0
- package/dist/generators/slice.js.map +1 -0
- package/dist/generators/workspace.d.ts +113 -0
- package/dist/generators/workspace.js +508 -0
- package/dist/generators/workspace.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +49 -0
- package/dist/index.js.map +1 -0
- package/dist/legacy/bootstrap.d.ts +80 -0
- package/dist/legacy/bootstrap.js +276 -0
- package/dist/legacy/bootstrap.js.map +1 -0
- package/dist/prompt.d.ts +18 -0
- package/dist/prompt.js +51 -0
- package/dist/prompt.js.map +1 -0
- package/dist/sources/catalog.d.ts +7 -0
- package/dist/sources/catalog.js +40 -0
- package/dist/sources/catalog.js.map +1 -0
- package/dist/sources/designerExport.d.ts +10 -0
- package/dist/sources/designerExport.js +39 -0
- package/dist/sources/designerExport.js.map +1 -0
- package/dist/sources/index.d.ts +10 -0
- package/dist/sources/index.js +34 -0
- package/dist/sources/index.js.map +1 -0
- package/dist/sources/messages.d.ts +16 -0
- package/dist/sources/messages.js +22 -0
- package/dist/sources/messages.js.map +1 -0
- package/dist/sources/oas.d.ts +11 -0
- package/dist/sources/oas.js +75 -0
- package/dist/sources/oas.js.map +1 -0
- package/dist/sources/planBuilder.d.ts +79 -0
- package/dist/sources/planBuilder.js +307 -0
- package/dist/sources/planBuilder.js.map +1 -0
- package/dist/sources/preset.d.ts +11 -0
- package/dist/sources/preset.js +44 -0
- package/dist/sources/preset.js.map +1 -0
- package/dist/sources/resolve.d.ts +7 -0
- package/dist/sources/resolve.js +66 -0
- package/dist/sources/resolve.js.map +1 -0
- package/dist/sources/types.d.ts +82 -0
- package/dist/sources/types.js +20 -0
- package/dist/sources/types.js.map +1 -0
- package/dist/sources/validate.d.ts +5 -0
- package/dist/sources/validate.js +66 -0
- package/dist/sources/validate.js.map +1 -0
- package/dist/upgrade/threeWay.d.ts +39 -0
- package/dist/upgrade/threeWay.js +165 -0
- package/dist/upgrade/threeWay.js.map +1 -0
- package/fixtures/designer-export.json +163 -0
- package/fixtures/invalid-duplicate-entity.yml +28 -0
- package/fixtures/invalid-no-core.yml +21 -0
- package/fixtures/invalid-no-primary-key.yml +18 -0
- package/fixtures/users-oas.yml +79 -0
- package/package.json +63 -0
- package/templates/backend/README.md +42 -0
- package/templates/backend/README.pt-BR.md +46 -0
- package/templates/backend/docker/services/Dockerfile.functions +17 -0
- package/templates/backend/docker/services/Dockerfile.graphql +17 -0
- package/templates/backend/docker/services/Dockerfile.grpc +17 -0
- package/templates/backend/docker/services/Dockerfile.rest +17 -0
- package/templates/backend/docker/services/Dockerfile.websocket +17 -0
- package/templates/backend/docker-compose-aurora.yml +20 -0
- package/templates/backend/docker-compose-cassandra.yml +22 -0
- package/templates/backend/docker-compose-dynamodb.yml +18 -0
- package/templates/backend/docker-compose-firebase.yml +34 -0
- package/templates/backend/docker-compose-messaging.yml +35 -0
- package/templates/backend/docker-compose-mongodb.yml +16 -0
- package/templates/backend/docker-compose-mssql.yml +26 -0
- package/templates/backend/docker-compose-mysql.yml +24 -0
- package/templates/backend/docker-compose-oracle.yml +21 -0
- package/templates/backend/docker-compose-postgresql.yml +20 -0
- package/templates/backend/docker-compose-rds.yml +20 -0
- package/templates/backend/docker-compose-redis.yml +30 -0
- package/templates/backend/docker-compose-service-templates.yml +40 -0
- package/templates/backend/documentation/README.md +65 -0
- package/templates/backend/documentation/README.pt-BR.md +68 -0
- package/templates/backend/documentation/guides/CREATING-REALTIME-API-WITH-JUMENTIX.md +176 -0
- package/templates/backend/documentation/guides/CREATING-REALTIME-API-WITH-JUMENTIX.pt-BR.md +177 -0
- package/templates/backend/documentation/guides/CREATING-REST-API-WITH-JUMENTIX.md +189 -0
- package/templates/backend/documentation/guides/CREATING-REST-API-WITH-JUMENTIX.pt-BR.md +190 -0
- package/templates/backend/package.json +44 -0
- package/templates/backend/scripts/purge-tombstones.js +91 -0
- package/templates/backend/scripts/run-api-smoke.js +33 -0
- package/templates/backend/scripts/run-redis-dead-letter-integration.js +42 -0
- package/templates/backend/scripts/run-redis-key-value-integration.js +62 -0
- package/templates/backend/scripts/run-security-smoke.js +51 -0
- package/templates/backend/seed/accounts-api.json +401 -0
- package/templates/backend/seed/accounts.ts +4 -0
- package/templates/backend/seed/organizations.ts +88 -0
- package/templates/backend/seed/transactions-api.json +5011 -0
- package/templates/backend/seed/transactions.ts +4 -0
- package/templates/backend/seed/users.ts +191 -0
- package/templates/backend/src/config/.env.ci +48 -0
- package/templates/backend/src/config/.env.dev +75 -0
- package/templates/backend/src/config/.env.dev.example +77 -0
- package/templates/backend/src/config/.env.staging +52 -0
- package/templates/backend/src/config/auth.ts +14 -0
- package/templates/backend/src/config/constants.ts +53 -0
- package/templates/backend/src/config/jwt.ts +9 -0
- package/templates/backend/src/config/redis.ts +11 -0
- package/templates/backend/src/config/security.ts +25 -0
- package/templates/backend/src/infra/audit/ISecurityAuditRepository.ts +13 -0
- package/templates/backend/src/infra/audit/InMemorySecurityAuditRepository.ts +26 -0
- package/templates/backend/src/infra/audit/index.ts +2 -0
- package/templates/backend/src/infra/cache/CacheService.ts +74 -0
- package/templates/backend/src/infra/cache/ICacheService.ts +7 -0
- package/templates/backend/src/infra/cache/index.ts +2 -0
- package/templates/backend/src/infra/context/Context.ts +199 -0
- package/templates/backend/src/infra/events/InMemoryEventBus.ts +24 -0
- package/templates/backend/src/infra/exceptions/BaseError.ts +42 -0
- package/templates/backend/src/infra/exceptions/ComposeEventError.ts +9 -0
- package/templates/backend/src/infra/exceptions/ConflictError.ts +10 -0
- package/templates/backend/src/infra/exceptions/DataBaseNotFoundError.ts +10 -0
- package/templates/backend/src/infra/exceptions/DatabasePagingError.ts +10 -0
- package/templates/backend/src/infra/exceptions/DomainNotFoundError.ts +9 -0
- package/templates/backend/src/infra/exceptions/DomainValidationError.ts +9 -0
- package/templates/backend/src/infra/exceptions/ForbiddenError.ts +9 -0
- package/templates/backend/src/infra/exceptions/ISerializedError.ts +8 -0
- package/templates/backend/src/infra/exceptions/InternalServerError.ts +9 -0
- package/templates/backend/src/infra/exceptions/NotFoundError.ts +9 -0
- package/templates/backend/src/infra/exceptions/NotImplemented.ts +9 -0
- package/templates/backend/src/infra/exceptions/ResourceLockedError.ts +10 -0
- package/templates/backend/src/infra/exceptions/UnauthorizedError.ts +9 -0
- package/templates/backend/src/infra/exceptions/ValidationError.ts +9 -0
- package/templates/backend/src/infra/exceptions/error.codes.ts +23 -0
- package/templates/backend/src/infra/exceptions/index.ts +20 -0
- package/templates/backend/src/infra/exceptions/registerPersistenceCorrelation.ts +24 -0
- package/templates/backend/src/infra/jwt/IJwtService.ts +6 -0
- package/templates/backend/src/infra/jwt/JwtService.ts +79 -0
- package/templates/backend/src/infra/messages/InMemoryMessageMediator.ts +4 -0
- package/templates/backend/src/infra/messages/adapters/BullMqMessageMediatorAdapter.ts +1 -0
- package/templates/backend/src/infra/messages/adapters/InMemoryMessageMediatorAdapter.ts +1 -0
- package/templates/backend/src/infra/messages/adapters/RabbitMqMessageMediatorAdapter.ts +1 -0
- package/templates/backend/src/infra/messages/compileMessageMediator.ts +1 -0
- package/templates/backend/src/infra/messages/repositories/QueueRequestResponseRepository.ts +39 -0
- package/templates/backend/src/infra/messages/repositories/index.ts +1 -0
- package/templates/backend/src/infra/mutex/adapter/MutexService.ts +1 -0
- package/templates/backend/src/infra/mutex/port/IMutexService.ts +1 -0
- package/templates/backend/src/infra/persistence/InMemoryDatabase/InMemoryDbClient.ts +16 -0
- package/templates/backend/src/infra/persistence/InMemoryDatabase/Stores/InMemoryRelationalStore.ts +209 -0
- package/templates/backend/src/infra/persistence/InMemoryDatabase/Stores/OrganizationStoreAPI.ts +16 -0
- package/templates/backend/src/infra/persistence/InMemoryDatabase/Stores/UserStoreAPI.ts +13 -0
- package/templates/backend/src/infra/persistence/InMemoryDatabase/idReservationLedger.ts +4 -0
- package/templates/backend/src/infra/persistence/KeyValueStorage/BaseKeyValueStorageClient.ts +1 -0
- package/templates/backend/src/infra/persistence/KeyValueStorage/IKeyValueStorageClient.ts +1 -0
- package/templates/backend/src/infra/persistence/KeyValueStorage/InMemoryKeyValueStorageClient.ts +1 -0
- package/templates/backend/src/infra/persistence/KeyValueStorage/RedisKeyValueStorageClient.ts +1 -0
- package/templates/backend/src/infra/persistence/KeyValueStorage/compileKeyValueStorageClient.ts +1 -0
- package/templates/backend/src/infra/persistence/compileDatabaseClient.ts +23 -0
- package/templates/backend/src/infra/persistence/external/AuroraRepository.ts +1 -0
- package/templates/backend/src/infra/persistence/external/BaseExternalDataRepository.ts +6 -0
- package/templates/backend/src/infra/persistence/external/CassandraRepository.ts +1 -0
- package/templates/backend/src/infra/persistence/external/DynamoDbRepository.ts +1 -0
- package/templates/backend/src/infra/persistence/external/ExternalStoreProxy.ts +2 -0
- package/templates/backend/src/infra/persistence/external/FirebaseRepository.ts +1 -0
- package/templates/backend/src/infra/persistence/external/MongoMongooseRepository.ts +1 -0
- package/templates/backend/src/infra/persistence/external/OracleRepository.ts +1 -0
- package/templates/backend/src/infra/persistence/external/RdsRepository.ts +1 -0
- package/templates/backend/src/infra/persistence/external/SqlSequelizeRepository.ts +7 -0
- package/templates/backend/src/infra/persistence/external/index.ts +3 -0
- package/templates/backend/src/infra/persistence/port/IDatabaseClient.ts +11 -0
- package/templates/backend/src/infra/persistence/purgeStores.ts +47 -0
- package/templates/backend/src/infra/ports/persistence/IStore.ts +1 -0
- package/templates/backend/src/infra/security/IPasswordCryptoService.ts +28 -0
- package/templates/backend/src/infra/security/PasswordCryptoService.ts +51 -0
- package/templates/backend/src/infra/security/index.ts +7 -0
- package/templates/backend/src/interface/Async/RealtimeAPIBase.ts +417 -0
- package/templates/backend/src/interface/Async/RealtimeDomainEvent.ts +3 -0
- package/templates/backend/src/interface/CLI/core/catalogStorage.ts +51 -0
- package/templates/backend/src/interface/CLI/core/prompt.ts +46 -0
- package/templates/backend/src/interface/CLI/index.ts +73 -0
- package/templates/backend/src/interface/CLI/subapps/domainManager.ts +202 -0
- package/templates/backend/src/interface/CLI/subapps/entityModelManager.ts +472 -0
- package/templates/backend/src/interface/CLI/types.ts +56 -0
- package/templates/backend/src/interface/GUI/README.md +35 -0
- package/templates/backend/src/interface/GUI/README.pt-BR.md +35 -0
- package/templates/backend/src/interface/GUI/desktop/README.md +9 -0
- package/templates/backend/src/interface/GUI/web/README.md +10 -0
- package/templates/backend/src/interface/HTTP/RestAPI.ts +569 -0
- package/templates/backend/src/interface/HTTP/adapters/adonis-js/AdonisJsServer.ts +245 -0
- package/templates/backend/src/interface/HTTP/adapters/adonis-js/adonis-js.ts +55 -0
- package/templates/backend/src/interface/HTTP/adapters/adonis-js/handlers/infraHandlers.ts +3 -0
- package/templates/backend/src/interface/HTTP/adapters/adonis-js/responses/sendErrorResponse.ts +9 -0
- package/templates/backend/src/interface/HTTP/adapters/aws/lambda/handlers/localhost.ts +12 -0
- package/templates/backend/src/interface/HTTP/adapters/aws/lambda/responses/sendErrorResponse.ts +9 -0
- package/templates/backend/src/interface/HTTP/adapters/cloudflare-workers/cloudflare-workers.ts +277 -0
- package/templates/backend/src/interface/HTTP/adapters/cloudflare-workers/responses/sendErrorResponse.ts +9 -0
- package/templates/backend/src/interface/HTTP/adapters/derby-js/DerbyJsServer.ts +242 -0
- package/templates/backend/src/interface/HTTP/adapters/derby-js/derby-js.ts +55 -0
- package/templates/backend/src/interface/HTTP/adapters/derby-js/handlers/infraHandlers.ts +3 -0
- package/templates/backend/src/interface/HTTP/adapters/derby-js/responses/sendErrorResponse.ts +9 -0
- package/templates/backend/src/interface/HTTP/adapters/express/ExpressServer.ts +94 -0
- package/templates/backend/src/interface/HTTP/adapters/express/express.ts +56 -0
- package/templates/backend/src/interface/HTTP/adapters/express/handlers/apiDocGetHandlerFactory.ts +22 -0
- package/templates/backend/src/interface/HTTP/adapters/express/handlers/apiversions.get.ts +23 -0
- package/templates/backend/src/interface/HTTP/adapters/express/handlers/infraHandlers.ts +9 -0
- package/templates/backend/src/interface/HTTP/adapters/express/handlers/localhost.get.ts +23 -0
- package/templates/backend/src/interface/HTTP/adapters/express/responses/sendErrorResponse.ts +10 -0
- package/templates/backend/src/interface/HTTP/adapters/fastify/FastifyServer.ts +113 -0
- package/templates/backend/src/interface/HTTP/adapters/fastify/fastify.ts +56 -0
- package/templates/backend/src/interface/HTTP/adapters/fastify/handlers/apiDocGetHandlerFactory.ts +23 -0
- package/templates/backend/src/interface/HTTP/adapters/fastify/handlers/apiversions.get.ts +24 -0
- package/templates/backend/src/interface/HTTP/adapters/fastify/handlers/infraHandlers.ts +9 -0
- package/templates/backend/src/interface/HTTP/adapters/fastify/handlers/localhost.get.ts +15 -0
- package/templates/backend/src/interface/HTTP/adapters/fastify/responses/sendErrorResponse.ts +10 -0
- package/templates/backend/src/interface/HTTP/adapters/feathers/FeathersServer.ts +218 -0
- package/templates/backend/src/interface/HTTP/adapters/feathers/feathers.ts +55 -0
- package/templates/backend/src/interface/HTTP/adapters/feathers/handlers/infraHandlers.ts +3 -0
- package/templates/backend/src/interface/HTTP/adapters/feathers/responses/sendErrorResponse.ts +9 -0
- package/templates/backend/src/interface/HTTP/adapters/loopback/LoopBackServer.ts +165 -0
- package/templates/backend/src/interface/HTTP/adapters/loopback/handlers/infraHandlers.ts +3 -0
- package/templates/backend/src/interface/HTTP/adapters/loopback/loopback.ts +55 -0
- package/templates/backend/src/interface/HTTP/adapters/loopback/responses/sendErrorResponse.ts +9 -0
- package/templates/backend/src/interface/HTTP/adapters/restify/RestifyServer.ts +117 -0
- package/templates/backend/src/interface/HTTP/adapters/restify/handlers/apiDocGetHandlerFactory.ts +21 -0
- package/templates/backend/src/interface/HTTP/adapters/restify/handlers/apiversions.get.ts +24 -0
- package/templates/backend/src/interface/HTTP/adapters/restify/handlers/auth/login.ts +39 -0
- package/templates/backend/src/interface/HTTP/adapters/restify/handlers/auth/logout.ts +40 -0
- package/templates/backend/src/interface/HTTP/adapters/restify/handlers/auth/register.ts +41 -0
- package/templates/backend/src/interface/HTTP/adapters/restify/handlers/auth/updatePassword.ts +42 -0
- package/templates/backend/src/interface/HTTP/adapters/restify/handlers/infraHandlers.ts +9 -0
- package/templates/backend/src/interface/HTTP/adapters/restify/handlers/localhost.get.ts +17 -0
- package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/create.ts +40 -0
- package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/createDocument.ts +42 -0
- package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/createEmail.ts +42 -0
- package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/createPhone.ts +42 -0
- package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/deleteDocument.ts +41 -0
- package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/deleteEmail.ts +41 -0
- package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/deleteOne.ts +37 -0
- package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/deletePhone.ts +41 -0
- package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/getAll.ts +46 -0
- package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/getOneById.ts +40 -0
- package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/update.ts +38 -0
- package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/updateDocument.ts +43 -0
- package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/updateEmail.ts +43 -0
- package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/updatePassword.ts +43 -0
- package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/updatePhone.ts +43 -0
- package/templates/backend/src/interface/HTTP/adapters/restify/responses/sendErrorResponse.ts +8 -0
- package/templates/backend/src/interface/HTTP/adapters/restify/restify.ts +58 -0
- package/templates/backend/src/interface/HTTP/adapters/sails-js/SailsJsServer.ts +205 -0
- package/templates/backend/src/interface/HTTP/adapters/sails-js/handlers/infraHandlers.ts +3 -0
- package/templates/backend/src/interface/HTTP/adapters/sails-js/responses/sendErrorResponse.ts +9 -0
- package/templates/backend/src/interface/HTTP/adapters/sails-js/sails-js.ts +55 -0
- package/templates/backend/src/interface/HTTP/adapters/start-rest-api.ts +65 -0
- package/templates/backend/src/interface/HTTP/adapters/total-js/TotalJsServer.ts +245 -0
- package/templates/backend/src/interface/HTTP/adapters/total-js/handlers/infraHandlers.ts +3 -0
- package/templates/backend/src/interface/HTTP/adapters/total-js/responses/sendErrorResponse.ts +9 -0
- package/templates/backend/src/interface/HTTP/adapters/total-js/total-js.ts +55 -0
- package/templates/backend/src/interface/HTTP/adapters/vercel-functions/responses/sendErrorResponse.ts +9 -0
- package/templates/backend/src/interface/HTTP/adapters/vercel-functions/vercel-functions.ts +252 -0
- package/templates/backend/src/interface/HTTP/adapters/vercel-functions/vercelFunctionsSecurity.ts +14 -0
- package/templates/backend/src/interface/HTTP/ports/BaseController.ts +110 -0
- package/templates/backend/src/interface/HTTP/ports/EHTTPFrameworks.ts +14 -0
- package/templates/backend/src/interface/HTTP/ports/EndPointFactory.ts +4 -0
- package/templates/backend/src/interface/HTTP/ports/HTTPBaseServer.ts +46 -0
- package/templates/backend/src/interface/HTTP/ports/IAPIFactory.ts +22 -0
- package/templates/backend/src/interface/HTTP/ports/IController.ts +39 -0
- package/templates/backend/src/interface/HTTP/ports/IControllerFactory.ts +23 -0
- package/templates/backend/src/interface/HTTP/ports/IHTTPRequest.ts +5 -0
- package/templates/backend/src/interface/HTTP/ports/IHTTPResponse.ts +5 -0
- package/templates/backend/src/interface/HTTP/ports/IHTTPServer.ts +9 -0
- package/templates/backend/src/interface/HTTP/ports/IHandlerFactory.ts +16 -0
- package/templates/backend/src/interface/HTTP/ports/IbaseHandler.ts +9 -0
- package/templates/backend/src/interface/HTTP/ports/IbaseHandlerFactory.ts +8 -0
- package/templates/backend/src/interface/HTTP/ports/index.ts +39 -0
- package/templates/backend/src/interface/HTTP/validators/checkRequiredProperties.ts +22 -0
- package/templates/backend/src/interface/HTTP/validators/getSchema.ts +34 -0
- package/templates/backend/src/interface/HTTP/validators/index.ts +6 -0
- package/templates/backend/src/interface/HTTP/validators/isPropertiesMatching.ts +20 -0
- package/templates/backend/src/interface/HTTP/validators/throwIfOASInputValidationFails.ts +94 -0
- package/templates/backend/src/interface/HTTP/validators/validateRequestAgainstOAS.ts +29 -0
- package/templates/backend/src/interface/HTTP/validators/validateRequestParams.ts +78 -0
- package/templates/backend/src/interface/WebSocket/WebSocketAPI.ts +189 -0
- package/templates/backend/src/interface/WebSocket/adapters/socket-io/clusterAdapter.ts +35 -0
- package/templates/backend/src/interface/WebSocket/adapters/socket-io/redisStreamsAdapter.ts +49 -0
- package/templates/backend/src/interface/WebSocket/adapters/socket-io/socket-io.ts +93 -0
- package/templates/backend/src/interface/WebSocket/adapters/start-websocket-api.ts +34 -0
- package/templates/backend/src/interface/gRPC/adapters/grpc/grpc.ts +73 -0
- package/templates/backend/src/interface/gRPC/adapters/start-grpc-api.ts +13 -0
- package/templates/backend/src/interface/gRPC/gRPCAPI.ts +211 -0
- package/templates/backend/src/interface/gRPC/resolveGrpcProtoPath.ts +42 -0
- package/templates/backend/src/interface/index.ts +0 -0
- package/templates/backend/src/interface/runtime/RuntimeEnvironment.ts +77 -0
- package/templates/backend/src/modules/Users/adapters/in/http/controllers/AuthController.ts +96 -0
- package/templates/backend/src/modules/Users/adapters/in/http/controllers/OrganizationController.ts +350 -0
- package/templates/backend/src/modules/Users/adapters/in/http/controllers/UserController.ts +383 -0
- package/templates/backend/src/modules/Users/adapters/in/http/controllers/index.ts +3 -0
- package/templates/backend/src/modules/Users/adapters/out/persistence/OrganizationDataRepository.ts +192 -0
- package/templates/backend/src/modules/Users/adapters/out/persistence/UserDataRepository.ts +215 -0
- package/templates/backend/src/modules/Users/adapters/out/persistence/index.ts +1 -0
- package/templates/backend/src/modules/Users/application/AuthUseCases.ts +103 -0
- package/templates/backend/src/modules/Users/application/UserUseCases.ts +89 -0
- package/templates/backend/src/modules/Users/application/ports/IAuthUseCases.ts +19 -0
- package/templates/backend/src/modules/Users/application/ports/IOrganizationUseCases.ts +48 -0
- package/templates/backend/src/modules/Users/application/ports/IUserUseCases.ts +51 -0
- package/templates/backend/src/modules/Users/application/use-cases/AuthUseCases.ts +1 -0
- package/templates/backend/src/modules/Users/application/use-cases/OrganizationUseCases.ts +124 -0
- package/templates/backend/src/modules/Users/application/use-cases/UserUseCases.ts +1 -0
- package/templates/backend/src/modules/Users/application/use-cases/index.ts +2 -0
- package/templates/backend/src/modules/Users/composition/composeUserDeadLetterReplay.ts +116 -0
- package/templates/backend/src/modules/Users/composition/composeUsersAuthServices.ts +145 -0
- package/templates/backend/src/modules/Users/domain/Entity/IOrganization.ts +17 -0
- package/templates/backend/src/modules/Users/domain/Entity/IUser.ts +22 -0
- package/templates/backend/src/modules/Users/domain/Model/Organization.ts +280 -0
- package/templates/backend/src/modules/Users/domain/Model/User.ts +445 -0
- package/templates/backend/src/modules/Users/domain/security/Rbac.ts +87 -0
- package/templates/backend/src/modules/Users/domain/security/TenantAuthorizationPolicy.ts +126 -0
- package/templates/backend/src/modules/Users/events/LoginRequestEvent.ts +18 -0
- package/templates/backend/src/modules/Users/events/LogoutRequestEvent.ts +18 -0
- package/templates/backend/src/modules/Users/events/OrganizationAddressCreateRequestEvent.ts +19 -0
- package/templates/backend/src/modules/Users/events/OrganizationAddressDeleteRequestEvent.ts +19 -0
- package/templates/backend/src/modules/Users/events/OrganizationAddressUpdateRequestEvent.ts +20 -0
- package/templates/backend/src/modules/Users/events/OrganizationCreateRequestEvent.ts +18 -0
- package/templates/backend/src/modules/Users/events/OrganizationDeleteRequestEvent.ts +18 -0
- package/templates/backend/src/modules/Users/events/OrganizationEmailCreateRequestEvent.ts +19 -0
- package/templates/backend/src/modules/Users/events/OrganizationEmailDeleteRequestEvent.ts +19 -0
- package/templates/backend/src/modules/Users/events/OrganizationEmailUpdateRequestEvent.ts +20 -0
- package/templates/backend/src/modules/Users/events/OrganizationGetAllRequestEvent.ts +18 -0
- package/templates/backend/src/modules/Users/events/OrganizationGetMetricsRequestEvent.ts +18 -0
- package/templates/backend/src/modules/Users/events/OrganizationGetOneRequestEvent.ts +18 -0
- package/templates/backend/src/modules/Users/events/OrganizationPhoneCreateRequestEvent.ts +19 -0
- package/templates/backend/src/modules/Users/events/OrganizationPhoneDeleteRequestEvent.ts +19 -0
- package/templates/backend/src/modules/Users/events/OrganizationPhoneUpdateRequestEvent.ts +20 -0
- package/templates/backend/src/modules/Users/events/OrganizationUpdateRequestEvent.ts +19 -0
- package/templates/backend/src/modules/Users/events/RegisterRequestEvent.ts +18 -0
- package/templates/backend/src/modules/Users/events/UpdatePasswordRequestEvent.ts +18 -0
- package/templates/backend/src/modules/Users/events/UserCreateRequestEvent.ts +18 -0
- package/templates/backend/src/modules/Users/events/UserDeleteRequestEvent.ts +19 -0
- package/templates/backend/src/modules/Users/events/UserDocumentCreateRequestEvent.ts +19 -0
- package/templates/backend/src/modules/Users/events/UserDocumentDeleteRequestEvent.ts +19 -0
- package/templates/backend/src/modules/Users/events/UserDocumentUpdateRequestEvent.ts +19 -0
- package/templates/backend/src/modules/Users/events/UserEmailCreateRequestEvent.ts +19 -0
- package/templates/backend/src/modules/Users/events/UserEmailDeleteRequestEvent.ts +19 -0
- package/templates/backend/src/modules/Users/events/UserEmailUpdateRequestEvent.ts +19 -0
- package/templates/backend/src/modules/Users/events/UserGetAllRequestEvent.ts +19 -0
- package/templates/backend/src/modules/Users/events/UserGetMetricsRequestEvent.ts +18 -0
- package/templates/backend/src/modules/Users/events/UserGetOneRequestEvent.ts +19 -0
- package/templates/backend/src/modules/Users/events/UserPasswordUpdateRequestEvent.ts +19 -0
- package/templates/backend/src/modules/Users/events/UserPhoneCreateRequestEvent.ts +19 -0
- package/templates/backend/src/modules/Users/events/UserPhoneDeleteRequestEvent.ts +19 -0
- package/templates/backend/src/modules/Users/events/UserPhoneUpdateRequestEvent.ts +19 -0
- package/templates/backend/src/modules/Users/events/UserUpdateRequestEvent.ts +19 -0
- package/templates/backend/src/modules/Users/events/contracts/IUserEventListeners.ts +8 -0
- package/templates/backend/src/modules/Users/events/contracts/UserIntegrationEventName.ts +10 -0
- package/templates/backend/src/modules/Users/events/contracts/UserMessageContracts.ts +4 -0
- package/templates/backend/src/modules/Users/events/listeners/registerUserEventListeners.ts +25 -0
- package/templates/backend/src/modules/Users/events/listeners/registerUserMessageHandlers.ts +60 -0
- package/templates/backend/src/modules/Users/features/createDocument.ts +14 -0
- package/templates/backend/src/modules/Users/features/createEmail.ts +14 -0
- package/templates/backend/src/modules/Users/features/createPhone.ts +14 -0
- package/templates/backend/src/modules/Users/features/createUser.ts +16 -0
- package/templates/backend/src/modules/Users/features/deleteDocument.ts +13 -0
- package/templates/backend/src/modules/Users/features/deleteEmail.ts +13 -0
- package/templates/backend/src/modules/Users/features/deletePhone.ts +13 -0
- package/templates/backend/src/modules/Users/features/deleteUserById.ts +9 -0
- package/templates/backend/src/modules/Users/features/getAllUsers.ts +21 -0
- package/templates/backend/src/modules/Users/features/getUserById.ts +12 -0
- package/templates/backend/src/modules/Users/features/updateDocument.ts +15 -0
- package/templates/backend/src/modules/Users/features/updateEmail.ts +15 -0
- package/templates/backend/src/modules/Users/features/updatePassword.ts +14 -0
- package/templates/backend/src/modules/Users/features/updatePhone.ts +15 -0
- package/templates/backend/src/modules/Users/features/updateUser.ts +14 -0
- package/templates/backend/src/modules/Users/index.ts +114 -0
- package/templates/backend/src/modules/Users/infra/repository/UserDataRepository.ts +1 -0
- package/templates/backend/src/modules/Users/interface/controller/AuthController.ts +1 -0
- package/templates/backend/src/modules/Users/interface/controller/UserController.ts +1 -0
- package/templates/backend/src/modules/Users/interface/dto/ILoginRequest.ts +7 -0
- package/templates/backend/src/modules/Users/interface/dto/ILogoutRequest.ts +3 -0
- package/templates/backend/src/modules/Users/interface/dto/IRegisterRequest.ts +9 -0
- package/templates/backend/src/modules/Users/interface/dto/IUpdatePasswordRequest.ts +5 -0
- package/templates/backend/src/modules/Users/interface/dto/RequestCreateAddress.ts +5 -0
- package/templates/backend/src/modules/Users/interface/dto/RequestCreateDocument.ts +7 -0
- package/templates/backend/src/modules/Users/interface/dto/RequestCreateEmail.ts +7 -0
- package/templates/backend/src/modules/Users/interface/dto/RequestCreateOrganization.ts +12 -0
- package/templates/backend/src/modules/Users/interface/dto/RequestCreatePhone.ts +6 -0
- package/templates/backend/src/modules/Users/interface/dto/RequestCreateUser.ts +20 -0
- package/templates/backend/src/modules/Users/interface/dto/RequestUpdateAddress.ts +5 -0
- package/templates/backend/src/modules/Users/interface/dto/RequestUpdateDocument.ts +8 -0
- package/templates/backend/src/modules/Users/interface/dto/RequestUpdateEmail.ts +8 -0
- package/templates/backend/src/modules/Users/interface/dto/RequestUpdateOrganization.ts +5 -0
- package/templates/backend/src/modules/Users/interface/dto/RequestUpdatePassword.ts +5 -0
- package/templates/backend/src/modules/Users/interface/dto/RequestUpdatePhone.ts +7 -0
- package/templates/backend/src/modules/Users/interface/dto/RequestUpdateUser.ts +19 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/_createGrpcOperationHandler.ts +34 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/create.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/createDocument.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/createEmail.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/createOrganization.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/createOrganizationAddress.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/createOrganizationEmail.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/createOrganizationPhone.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/createPhone.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/deleteDocument.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/deleteEmail.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/deleteOne.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/deleteOrganization.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/deleteOrganizationAddress.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/deleteOrganizationEmail.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/deleteOrganizationPhone.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/deletePhone.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/getAll.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/getAllOrganizations.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/getOneById.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/getOrganizationById.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/login.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/logout.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/register.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/update.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/updateDocument.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/updateEmail.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/updateOrganization.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/updateOrganizationAddress.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/updateOrganizationEmail.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/updateOrganizationPhone.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/updatePassword.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/updatePhone.ts +5 -0
- package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/updateUserPassword.ts +5 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/_documentMutationHandlerFactory.ts +70 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/_organizationMutationHandlerFactory.ts +76 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/create.ts +37 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/createDocument.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/createEmail.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/createOrganization.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/createOrganizationAddress.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/createOrganizationEmail.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/createOrganizationPhone.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/createPhone.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/deleteDocument.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/deleteEmail.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/deleteOne.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/deleteOrganization.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/deleteOrganizationAddress.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/deleteOrganizationEmail.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/deleteOrganizationPhone.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/deletePhone.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/getAll.ts +45 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/getAllOrganizations.ts +43 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/getOneById.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/getOrganizationById.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/login.ts +37 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/logout.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/register.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/update.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/updateDocument.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/updateEmail.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/updateOrganization.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/updateOrganizationAddress.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/updateOrganizationEmail.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/updateOrganizationPhone.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/updatePassword.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/updatePhone.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/updateUserPassword.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/create.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/createDocument.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/createEmail.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/createLambdaOperationHandler.ts +306 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/createOrganization.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/createOrganizationAddress.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/createOrganizationEmail.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/createOrganizationPhone.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/createPhone.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/deleteDocument.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/deleteEmail.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/deleteOne.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/deleteOrganization.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/deleteOrganizationAddress.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/deleteOrganizationEmail.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/deleteOrganizationPhone.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/deletePhone.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/getAll.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/getAllOrganizations.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/getOneById.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/getOrganizationById.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/login.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/logout.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/register.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/runtime.ts +106 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/update.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/updateDocument.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/updateEmail.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/updateOrganization.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/updateOrganizationAddress.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/updateOrganizationEmail.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/updateOrganizationPhone.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/updatePassword.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/updatePhone.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/updateUserPassword.ts +3 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/_documentMutationHandlerFactory.ts +73 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/_organizationMutationHandlerFactory.ts +79 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/create.ts +37 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/createDocument.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/createEmail.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/createOrganization.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/createOrganizationAddress.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/createOrganizationEmail.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/createOrganizationPhone.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/createPhone.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/deleteDocument.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/deleteEmail.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/deleteOne.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/deleteOrganization.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/deleteOrganizationAddress.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/deleteOrganizationEmail.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/deleteOrganizationPhone.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/deletePhone.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/getAll.ts +45 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/getAllOrganizations.ts +43 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/getOneById.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/getOrganizationById.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/login.ts +37 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/logout.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/register.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/update.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/updateDocument.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/updateEmail.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/updateOrganization.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/updateOrganizationAddress.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/updateOrganizationEmail.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/updateOrganizationPhone.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/updatePassword.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/updatePhone.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/updateUserPassword.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/_documentMutationHandlerFactory.ts +70 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/_organizationMutationHandlerFactory.ts +76 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/create.ts +37 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/createDocument.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/createEmail.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/createOrganization.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/createOrganizationAddress.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/createOrganizationEmail.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/createOrganizationPhone.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/createPhone.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/deleteDocument.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/deleteEmail.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/deleteOne.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/deleteOrganization.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/deleteOrganizationAddress.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/deleteOrganizationEmail.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/deleteOrganizationPhone.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/deletePhone.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/getAll.ts +45 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/getAllOrganizations.ts +43 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/getOneById.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/getOrganizationById.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/login.ts +37 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/logout.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/register.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/update.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/updateDocument.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/updateEmail.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/updateOrganization.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/updateOrganizationAddress.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/updateOrganizationEmail.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/updateOrganizationPhone.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/updatePassword.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/updatePhone.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/updateUserPassword.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/_organizationMutationHandlerFactory.ts +67 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/create.ts +37 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/createDocument.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/createEmail.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/createOrganization.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/createOrganizationAddress.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/createOrganizationEmail.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/createOrganizationPhone.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/createPhone.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/deleteDocument.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/deleteEmail.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/deleteOne.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/deleteOrganization.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/deleteOrganizationAddress.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/deleteOrganizationEmail.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/deleteOrganizationPhone.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/deletePhone.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/getAll.ts +45 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/getAllOrganizations.ts +43 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/getOneById.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/getOrganizationById.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/getOrganizationsMetrics.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/getUsersMetrics.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/login.ts +37 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/logout.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/register.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/update.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/updateDocument.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/updateEmail.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/updateOrganization.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/updateOrganizationAddress.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/updateOrganizationEmail.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/updateOrganizationPhone.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/updatePassword.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/updatePhone.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/updateUserPassword.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/_organizationMutationHandlerFactory.ts +68 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/create.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/createDocument.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/createEmail.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/createOrganization.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/createOrganizationAddress.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/createOrganizationEmail.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/createOrganizationPhone.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/createPhone.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/deleteDocument.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/deleteEmail.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/deleteOne.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/deleteOrganization.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/deleteOrganizationAddress.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/deleteOrganizationEmail.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/deleteOrganizationPhone.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/deletePhone.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/getAll.ts +46 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/getAllOrganizations.ts +44 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/getOneById.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/getOrganizationById.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/getOrganizationsMetrics.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/getUsersMetrics.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/login.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/logout.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/register.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/update.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/updateDocument.ts +43 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/updateEmail.ts +43 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/updateOrganization.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/updateOrganizationAddress.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/updateOrganizationEmail.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/updateOrganizationPhone.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/updatePassword.ts +43 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/updatePhone.ts +43 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/updateUserPassword.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/_documentMutationHandlerFactory.ts +70 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/_organizationMutationHandlerFactory.ts +76 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/create.ts +37 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/createDocument.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/createEmail.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/createOrganization.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/createOrganizationAddress.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/createOrganizationEmail.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/createOrganizationPhone.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/createPhone.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/deleteDocument.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/deleteEmail.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/deleteOne.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/deleteOrganization.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/deleteOrganizationAddress.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/deleteOrganizationEmail.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/deleteOrganizationPhone.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/deletePhone.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/getAll.ts +45 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/getAllOrganizations.ts +43 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/getOneById.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/getOrganizationById.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/login.ts +37 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/logout.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/register.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/update.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/updateDocument.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/updateEmail.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/updateOrganization.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/updateOrganizationAddress.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/updateOrganizationEmail.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/updateOrganizationPhone.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/updatePassword.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/updatePhone.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/updateUserPassword.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/_documentMutationHandlerFactory.ts +70 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/_organizationMutationHandlerFactory.ts +76 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/create.ts +37 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/createDocument.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/createEmail.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/createOrganization.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/createOrganizationAddress.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/createOrganizationEmail.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/createOrganizationPhone.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/createPhone.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/deleteDocument.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/deleteEmail.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/deleteOne.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/deleteOrganization.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/deleteOrganizationAddress.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/deleteOrganizationEmail.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/deleteOrganizationPhone.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/deletePhone.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/getAll.ts +45 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/getAllOrganizations.ts +43 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/getOneById.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/getOrganizationById.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/login.ts +37 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/logout.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/register.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/update.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/updateDocument.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/updateEmail.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/updateOrganization.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/updateOrganizationAddress.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/updateOrganizationEmail.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/updateOrganizationPhone.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/updatePassword.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/updatePhone.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/updateUserPassword.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/_organizationMutationHandlerFactory.ts +68 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/create.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/createDocument.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/createEmail.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/createOrganization.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/createOrganizationAddress.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/createOrganizationEmail.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/createOrganizationPhone.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/createPhone.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/deleteDocument.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/deleteEmail.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/deleteOne.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/deleteOrganization.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/deleteOrganizationAddress.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/deleteOrganizationEmail.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/deleteOrganizationPhone.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/deletePhone.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/getAll.ts +46 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/getAllOrganizations.ts +43 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/getOneById.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/getOrganizationById.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/getOrganizationsMetrics.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/getUsersMetrics.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/login.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/logout.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/register.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/update.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/updateDocument.ts +43 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/updateEmail.ts +43 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/updateOrganization.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/updateOrganizationAddress.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/updateOrganizationEmail.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/updateOrganizationPhone.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/updatePassword.ts +43 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/updatePhone.ts +43 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/updateUserPassword.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/_documentMutationHandlerFactory.ts +70 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/_organizationMutationHandlerFactory.ts +76 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/create.ts +37 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/createDocument.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/createEmail.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/createOrganization.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/createOrganizationAddress.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/createOrganizationEmail.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/createOrganizationPhone.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/createPhone.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/deleteDocument.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/deleteEmail.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/deleteOne.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/deleteOrganization.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/deleteOrganizationAddress.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/deleteOrganizationEmail.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/deleteOrganizationPhone.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/deletePhone.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/getAll.ts +45 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/getAllOrganizations.ts +43 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/getOneById.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/getOrganizationById.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/login.ts +37 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/logout.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/register.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/update.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/updateDocument.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/updateEmail.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/updateOrganization.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/updateOrganizationAddress.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/updateOrganizationEmail.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/updateOrganizationPhone.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/updatePassword.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/updatePhone.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/updateUserPassword.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/_documentMutationHandlerFactory.ts +70 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/_organizationMutationHandlerFactory.ts +76 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/create.ts +37 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/createDocument.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/createEmail.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/createOrganization.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/createOrganizationAddress.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/createOrganizationEmail.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/createOrganizationPhone.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/createPhone.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/deleteDocument.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/deleteEmail.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/deleteOne.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/deleteOrganization.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/deleteOrganizationAddress.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/deleteOrganizationEmail.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/deleteOrganizationPhone.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/deletePhone.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/getAll.ts +45 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/getAllOrganizations.ts +43 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/getOneById.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/getOrganizationById.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/login.ts +37 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/logout.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/register.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/update.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/updateDocument.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/updateEmail.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/updateOrganization.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/updateOrganizationAddress.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/updateOrganizationEmail.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/updateOrganizationPhone.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/updatePassword.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/updatePhone.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/updateUserPassword.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/_documentMutationHandlerFactory.ts +70 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/_organizationMutationHandlerFactory.ts +76 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/create.ts +37 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/createDocument.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/createEmail.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/createOrganization.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/createOrganizationAddress.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/createOrganizationEmail.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/createOrganizationPhone.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/createPhone.ts +41 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/deleteDocument.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/deleteEmail.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/deleteOne.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/deleteOrganization.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/deleteOrganizationAddress.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/deleteOrganizationEmail.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/deleteOrganizationPhone.ts +11 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/deletePhone.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/getAll.ts +45 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/getAllOrganizations.ts +43 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/getOneById.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/getOrganizationById.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/login.ts +37 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/logout.ts +38 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/register.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/update.ts +39 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/updateDocument.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/updateEmail.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/updateOrganization.ts +40 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/updateOrganizationAddress.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/updateOrganizationEmail.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/updateOrganizationPhone.ts +10 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/updatePassword.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/updatePhone.ts +42 -0
- package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/updateUserPassword.ts +40 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/_createWebSocketOperationHandler.ts +34 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/create.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/createDocument.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/createEmail.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/createOrganization.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/createOrganizationAddress.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/createOrganizationEmail.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/createOrganizationPhone.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/createPhone.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/deleteDocument.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/deleteEmail.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/deleteOne.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/deleteOrganization.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/deleteOrganizationAddress.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/deleteOrganizationEmail.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/deleteOrganizationPhone.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/deletePhone.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/getAll.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/getAllOrganizations.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/getOneById.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/getOrganizationById.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/login.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/logout.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/register.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/update.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/updateDocument.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/updateEmail.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/updateOrganization.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/updateOrganizationAddress.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/updateOrganizationEmail.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/updateOrganizationPhone.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/updatePassword.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/updatePhone.ts +5 -0
- package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/updateUserPassword.ts +5 -0
- package/templates/backend/src/modules/Users/service/AuthService.ts +535 -0
- package/templates/backend/src/modules/Users/service/OrganizationService.ts +348 -0
- package/templates/backend/src/modules/Users/service/UserProviderLocal.ts +45 -0
- package/templates/backend/src/modules/Users/service/UserService.ts +696 -0
- package/templates/backend/src/modules/Users/service/ports/EAuthSchemaType.ts +5 -0
- package/templates/backend/src/modules/Users/service/ports/IAuthSchema.ts +6 -0
- package/templates/backend/src/modules/Users/service/ports/IAuthService.ts +35 -0
- package/templates/backend/src/modules/Users/service/ports/IAuthorizationHeader.ts +4 -0
- package/templates/backend/src/modules/Users/service/ports/IOrganizationRepository.ts +42 -0
- package/templates/backend/src/modules/Users/service/ports/ITokenObject.ts +10 -0
- package/templates/backend/src/modules/Users/service/ports/IUserProvider.ts +10 -0
- package/templates/backend/src/modules/Users/service/ports/IUserRepository.ts +33 -0
- package/templates/backend/src/modules/ddd/valueObjects/AddressValueObject.ts +39 -0
- package/templates/backend/src/modules/ddd/valueObjects/DocumentValueObject.ts +78 -0
- package/templates/backend/src/modules/ddd/valueObjects/EAddressType.ts +6 -0
- package/templates/backend/src/modules/ddd/valueObjects/EDocumentType.ts +7 -0
- package/templates/backend/src/modules/ddd/valueObjects/EEmailType.ts +5 -0
- package/templates/backend/src/modules/ddd/valueObjects/EmailValueObject.ts +36 -0
- package/templates/backend/src/modules/ddd/valueObjects/LoginCustomValueObject.ts +4 -0
- package/templates/backend/src/modules/ddd/valueObjects/PhoneValueObject.ts +36 -0
- package/templates/backend/src/modules/ddd/valueObjects/index.ts +9 -0
- package/templates/backend/src/modules/port/BaseDomainEvent.ts +70 -0
- package/templates/backend/src/modules/port/BaseModel.ts +119 -0
- package/templates/backend/src/modules/port/BaseRepo.ts +33 -0
- package/templates/backend/src/modules/port/BaseService.ts +50 -0
- package/templates/backend/src/modules/port/IDomainEventMetadata.ts +18 -0
- package/templates/backend/src/modules/port/IEventBus.ts +1 -0
- package/templates/backend/src/modules/port/IEventMessage.ts +12 -0
- package/templates/backend/src/modules/port/IFilter.ts +7 -0
- package/templates/backend/src/modules/port/IIntegrationEvent.ts +1 -0
- package/templates/backend/src/modules/port/IMessage.ts +5 -0
- package/templates/backend/src/modules/port/IMessageMediator.ts +8 -0
- package/templates/backend/src/modules/port/IPagingRequest.ts +14 -0
- package/templates/backend/src/modules/port/IPagingResponse.ts +6 -0
- package/templates/backend/src/modules/port/IRepoConfig.ts +8 -0
- package/templates/backend/src/modules/port/ISearch.ts +6 -0
- package/templates/backend/src/modules/port/IServiceConfig.ts +12 -0
- package/templates/backend/src/modules/port/IServiceResponse.ts +9 -0
- package/templates/backend/src/modules/port/ServiceResponse.ts +16 -0
- package/templates/backend/src/modules/port/TRepos.ts +1 -0
- package/templates/backend/src/modules/port/TServices.ts +1 -0
- package/templates/backend/src/modules/port/UUID.ts +33 -0
- package/templates/backend/src/modules/port/index.ts +47 -0
- package/templates/backend/src/modules/port/operators.ts +4 -0
- package/templates/backend/src/modules/port/relations.ts +51 -0
- package/templates/backend/src/modules/port/setFilter.ts +18 -0
- package/templates/backend/src/modules/port/setFilterAndPaging.ts +28 -0
- package/templates/backend/src/modules/port/setListQuery.ts +128 -0
- package/templates/backend/src/modules/port/setMetricsQuery.ts +50 -0
- package/templates/backend/src/modules/port/setPaging.ts +25 -0
- package/templates/backend/src/shared/decorators/guard/Authorize.ts +42 -0
- package/templates/backend/src/shared/openapi/OpenApi31DataEntity.ts +733 -0
- package/templates/backend/src/shared/utils.ts +77 -0
- package/templates/backend/src/shared/validators/index.ts +118 -0
- package/templates/frontend/.browserslistrc +3 -0
- package/templates/frontend/.editorconfig +14 -0
- package/templates/frontend/.gitattributes +2 -0
- package/templates/frontend/.prettierrc.js +7 -0
- package/templates/frontend/README.md +76 -0
- package/templates/frontend/README.pt-BR.md +79 -0
- package/templates/frontend/cypress/e2e/auth.cy.ts +46 -0
- package/templates/frontend/cypress/e2e/dashboard-a11y.cy.ts +32 -0
- package/templates/frontend/cypress/e2e/offline-boot.cy.ts +16 -0
- package/templates/frontend/cypress/e2e/offline-pwa.cy.ts +15 -0
- package/templates/frontend/cypress/e2e/offline-sync.cy.ts +28 -0
- package/templates/frontend/cypress/e2e/offline-writes.cy.ts +20 -0
- package/templates/frontend/cypress/e2e/organizations-dashboard.cy.ts +64 -0
- package/templates/frontend/cypress/e2e/shell-multitask.cy.ts +21 -0
- package/templates/frontend/cypress/e2e/shell-responsive.cy.ts +36 -0
- package/templates/frontend/cypress/e2e/users-crud.cy.ts +76 -0
- package/templates/frontend/cypress/support/e2e.ts +63 -0
- package/templates/frontend/cypress/tsconfig.json +14 -0
- package/templates/frontend/cypress.config.js +20 -0
- package/templates/frontend/e2e/Dockerfile.backend +44 -0
- package/templates/frontend/e2e/docker-compose.yml +12 -0
- package/templates/frontend/eslint.config.mjs +46 -0
- package/templates/frontend/index.html +43 -0
- package/templates/frontend/package.json +61 -0
- package/templates/frontend/public/android-icon-144x144.png +0 -0
- package/templates/frontend/public/android-icon-192x192.png +0 -0
- package/templates/frontend/public/android-icon-36x36.png +0 -0
- package/templates/frontend/public/android-icon-48x48.png +0 -0
- package/templates/frontend/public/android-icon-512x512.png +0 -0
- package/templates/frontend/public/android-icon-72x72.png +0 -0
- package/templates/frontend/public/android-icon-96x96.png +0 -0
- package/templates/frontend/public/apple-icon-114x114.png +0 -0
- package/templates/frontend/public/apple-icon-120x120.png +0 -0
- package/templates/frontend/public/apple-icon-144x144.png +0 -0
- package/templates/frontend/public/apple-icon-152x152.png +0 -0
- package/templates/frontend/public/apple-icon-180x180.png +0 -0
- package/templates/frontend/public/apple-icon-57x57.png +0 -0
- package/templates/frontend/public/apple-icon-60x60.png +0 -0
- package/templates/frontend/public/apple-icon-72x72.png +0 -0
- package/templates/frontend/public/apple-icon-76x76.png +0 -0
- package/templates/frontend/public/apple-icon-precomposed.png +0 -0
- package/templates/frontend/public/apple-icon.png +0 -0
- package/templates/frontend/public/browserconfig.xml +2 -0
- package/templates/frontend/public/favicon-16x16.png +0 -0
- package/templates/frontend/public/favicon-32x32.png +0 -0
- package/templates/frontend/public/favicon-96x96.png +0 -0
- package/templates/frontend/public/favicon.ico +0 -0
- package/templates/frontend/public/manifest.json +52 -0
- package/templates/frontend/public/ms-icon-144x144.png +0 -0
- package/templates/frontend/public/ms-icon-150x150.png +0 -0
- package/templates/frontend/public/ms-icon-310x310.png +0 -0
- package/templates/frontend/public/ms-icon-70x70.png +0 -0
- package/templates/frontend/public/sw.js +34 -0
- package/templates/frontend/scripts/check-coverage.js +157 -0
- package/templates/frontend/scripts/run-e2e.mjs +75 -0
- package/templates/frontend/scripts/sync-contracts.mjs +31 -0
- package/templates/frontend/src/.gitkeep +1 -0
- package/templates/frontend/src/App.vue +28 -0
- package/templates/frontend/src/components/AppBreadcrumb.vue +69 -0
- package/templates/frontend/src/components/AppFooter.vue +18 -0
- package/templates/frontend/src/components/AppHeader.vue +132 -0
- package/templates/frontend/src/components/AppHeaderDropdownAccnt.vue +86 -0
- package/templates/frontend/src/components/AppSidebar.vue +37 -0
- package/templates/frontend/src/components/AppSidebarNav.vue +91 -0
- package/templates/frontend/src/components/AppTaskbar.vue +152 -0
- package/templates/frontend/src/components/ModuleLayout.vue +115 -0
- package/templates/frontend/src/components/NetworkActivity.vue +64 -0
- package/templates/frontend/src/components/OasFormField.vue +108 -0
- package/templates/frontend/src/components/SearchableEnumInput.vue +117 -0
- package/templates/frontend/src/components/dashboard/AdminUserRatioWidget.vue +66 -0
- package/templates/frontend/src/components/dashboard/ChartCard.vue +97 -0
- package/templates/frontend/src/components/dashboard/DashboardGrid.vue +58 -0
- package/templates/frontend/src/components/dashboard/MetricWidget.vue +80 -0
- package/templates/frontend/src/components/dashboard/genericWidgets.ts +124 -0
- package/templates/frontend/src/components/dashboard/loadMetrics.ts +88 -0
- package/templates/frontend/src/components/dashboard/types.ts +26 -0
- package/templates/frontend/src/components/x-crud/XCrud.vue +152 -0
- package/templates/frontend/src/components/x-crud/XCrudArrayEditor.vue +108 -0
- package/templates/frontend/src/components/x-crud/XCrudChart.vue +48 -0
- package/templates/frontend/src/components/x-crud/XCrudFilters.vue +69 -0
- package/templates/frontend/src/components/x-crud/XCrudForm.vue +261 -0
- package/templates/frontend/src/components/x-crud/XCrudGrid.vue +399 -0
- package/templates/frontend/src/components/x-crud/XCrudPanels.vue +58 -0
- package/templates/frontend/src/components/x-crud/XCrudReferenceInput.vue +75 -0
- package/templates/frontend/src/components/x-crud/XCrudRowDetail.vue +169 -0
- package/templates/frontend/src/components/x-crud/XCrudRowMenu.vue +48 -0
- package/templates/frontend/src/components/x-crud/XCrudToolbar.vue +156 -0
- package/templates/frontend/src/components/x-crud/useXCrud.ts +554 -0
- package/templates/frontend/src/components/x-crud/xCrudFormat.ts +76 -0
- package/templates/frontend/src/components/x-crud/xCrudTypes.ts +72 -0
- package/templates/frontend/src/contracts/apiClient.ts +48 -0
- package/templates/frontend/src/contracts/appOperations.ts +74 -0
- package/templates/frontend/src/contracts/errors.ts +51 -0
- package/templates/frontend/src/contracts/formSchema.ts +202 -0
- package/templates/frontend/src/contracts/labels.ts +41 -0
- package/templates/frontend/src/contracts/listSchema.ts +115 -0
- package/templates/frontend/src/contracts/metricsSchema.ts +84 -0
- package/templates/frontend/src/contracts/oasForm.ts +82 -0
- package/templates/frontend/src/contracts/openapi.json +4467 -0
- package/templates/frontend/src/contracts/rbac.ts +83 -0
- package/templates/frontend/src/contracts/relationLabels.ts +68 -0
- package/templates/frontend/src/contracts/sessionGuard.ts +59 -0
- package/templates/frontend/src/contracts/sharedContractsBrowserShim.ts +14 -0
- package/templates/frontend/src/contracts/usePermissions.ts +25 -0
- package/templates/frontend/src/contracts/validation.ts +195 -0
- package/templates/frontend/src/data/canaSchema.ts +146 -0
- package/templates/frontend/src/data/db.ts +114 -0
- package/templates/frontend/src/data/localRepository.ts +125 -0
- package/templates/frontend/src/data/outbox.ts +258 -0
- package/templates/frontend/src/data/pwa.ts +26 -0
- package/templates/frontend/src/data/sync.ts +280 -0
- package/templates/frontend/src/env.d.ts +8 -0
- package/templates/frontend/src/features/auth/LoginView.vue +98 -0
- package/templates/frontend/src/features/auth/RegisterView.vue +102 -0
- package/templates/frontend/src/features/dashboard/DashboardView.vue +80 -0
- package/templates/frontend/src/features/dashboard/NotFoundView.vue +15 -0
- package/templates/frontend/src/features/dashboard/usersDomainWidgets.ts +59 -0
- package/templates/frontend/src/features/organizations/OrganizationsView.vue +20 -0
- package/templates/frontend/src/features/organizations/organizationsCrudConfig.ts +27 -0
- package/templates/frontend/src/features/profile/ProfileDocuments.vue +157 -0
- package/templates/frontend/src/features/profile/ProfileEmails.vue +142 -0
- package/templates/frontend/src/features/profile/ProfilePasswordForm.vue +66 -0
- package/templates/frontend/src/features/profile/ProfilePhones.vue +165 -0
- package/templates/frontend/src/features/profile/ProfileScalarsForm.vue +62 -0
- package/templates/frontend/src/features/profile/ProfileView.vue +63 -0
- package/templates/frontend/src/features/profile/useSectionNotify.ts +37 -0
- package/templates/frontend/src/features/users/UsersView.vue +40 -0
- package/templates/frontend/src/features/users/usersCrudConfig.ts +55 -0
- package/templates/frontend/src/i18n/index.ts +87 -0
- package/templates/frontend/src/i18n/messages.ts +369 -0
- package/templates/frontend/src/layouts/DefaultLayout.vue +82 -0
- package/templates/frontend/src/main.ts +157 -0
- package/templates/frontend/src/modules/index.ts +7 -0
- package/templates/frontend/src/modules/manifest.ts +115 -0
- package/templates/frontend/src/modules/nav.ts +13 -0
- package/templates/frontend/src/modules/navTypes.ts +19 -0
- package/templates/frontend/src/modules/users.ts +28 -0
- package/templates/frontend/src/router/guards.ts +68 -0
- package/templates/frontend/src/router/index.ts +91 -0
- package/templates/frontend/src/shell/LocaleWidget.vue +27 -0
- package/templates/frontend/src/shell/NotificationCenter.vue +65 -0
- package/templates/frontend/src/shell/OnlineOfflineWidget.vue +36 -0
- package/templates/frontend/src/shell/ReservedToolbarSlot.vue +7 -0
- package/templates/frontend/src/shell/breakpoints.ts +50 -0
- package/templates/frontend/src/shell/registerShellWidgets.ts +39 -0
- package/templates/frontend/src/shell/toolbarWidgets.ts +57 -0
- package/templates/frontend/src/stores/auth.ts +157 -0
- package/templates/frontend/src/stores/entityStore.ts +109 -0
- package/templates/frontend/src/stores/network.ts +61 -0
- package/templates/frontend/src/stores/notifications.ts +75 -0
- package/templates/frontend/src/stores/profile.ts +260 -0
- package/templates/frontend/src/stores/sidebar.ts +19 -0
- package/templates/frontend/src/stores/tasks.ts +114 -0
- package/templates/frontend/src/stores/theme.ts +14 -0
- package/templates/frontend/src/styles/breakpoints.scss +6 -0
- package/templates/frontend/src/styles/style.scss +85 -0
- package/templates/frontend/src/views/BootErrorView.vue +18 -0
- package/templates/frontend/src/views/SyncProgressView.vue +55 -0
- package/templates/frontend/tsconfig.json +59 -0
- package/templates/frontend/vite.config.mjs +78 -0
- package/templates.manifest.json +4199 -0
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { _INFRA_NOT_IMPLEMENTED_ } from '@src/config/constants';
|
|
2
|
+
import type { IAuthService } from '@src/modules/Users/service/ports/IAuthService';
|
|
3
|
+
import type { IControllerFactory } from '@src/interface/HTTP/ports/IControllerFactory';
|
|
4
|
+
import type { IDatabaseClient } from '@src/infra/persistence/port/IDatabaseClient';
|
|
5
|
+
import type { IMutexService } from '@src/infra/mutex/port/IMutexService';
|
|
6
|
+
import type { IPasswordCryptoService } from '@src/infra/security/IPasswordCryptoService';
|
|
7
|
+
import type { IMessageMediator } from '@src/modules/port';
|
|
8
|
+
|
|
9
|
+
export abstract class BaseController {
|
|
10
|
+
private _authService: IAuthService = {} as IAuthService;
|
|
11
|
+
|
|
12
|
+
public _databaseClient: IDatabaseClient = {} as IDatabaseClient;
|
|
13
|
+
|
|
14
|
+
private _passwordCryptoService: IPasswordCryptoService = {} as IPasswordCryptoService;
|
|
15
|
+
|
|
16
|
+
private _mutexService: IMutexService = {} as IMutexService;
|
|
17
|
+
|
|
18
|
+
private _messageMediator: IMessageMediator | undefined;
|
|
19
|
+
|
|
20
|
+
public openApiSpecification: any;
|
|
21
|
+
|
|
22
|
+
constructor(factory: IControllerFactory) {
|
|
23
|
+
this.authService = factory.authService;
|
|
24
|
+
|
|
25
|
+
this.databaseClient = factory.databaseClient;
|
|
26
|
+
|
|
27
|
+
this.openApiSpecification = factory.openApiSpecification;
|
|
28
|
+
|
|
29
|
+
if (factory.passwordCryptoService) {
|
|
30
|
+
this.passwordCryptoService = factory.passwordCryptoService;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (factory.mutexService) {
|
|
34
|
+
this.mutexService = factory.mutexService;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
if (factory.messageMediator) {
|
|
38
|
+
this.messageMediator = factory.messageMediator;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
public get passwordCryptoService(): IPasswordCryptoService {
|
|
43
|
+
return this._passwordCryptoService;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
public set passwordCryptoService(service: IPasswordCryptoService) {
|
|
47
|
+
if (!service.hash) {
|
|
48
|
+
const error = new Error('PasswordCryptoService is not implemented');
|
|
49
|
+
error.name = _INFRA_NOT_IMPLEMENTED_;
|
|
50
|
+
throw error;
|
|
51
|
+
}
|
|
52
|
+
this._passwordCryptoService = service;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
public get mutexService(): IMutexService {
|
|
56
|
+
return this._mutexService;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
public set mutexService(service: IMutexService) {
|
|
60
|
+
if (!service.lock) {
|
|
61
|
+
const error = new Error('MutexService is not implemented');
|
|
62
|
+
error.name = _INFRA_NOT_IMPLEMENTED_;
|
|
63
|
+
throw error;
|
|
64
|
+
}
|
|
65
|
+
this._mutexService = service;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
public get authService() {
|
|
69
|
+
return this._authService;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
public set authService(service: IAuthService) {
|
|
73
|
+
if (!service.authenticate) {
|
|
74
|
+
const error = new Error('AuthService is not implemented');
|
|
75
|
+
error.name = _INFRA_NOT_IMPLEMENTED_;
|
|
76
|
+
throw error;
|
|
77
|
+
}
|
|
78
|
+
this._authService = service;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
public get messageMediator(): IMessageMediator | undefined {
|
|
82
|
+
return this._messageMediator;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
public set messageMediator(service: IMessageMediator | undefined) {
|
|
86
|
+
if (!service) {
|
|
87
|
+
this._messageMediator = undefined;
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
if (!service.request || !service.registerHandler) {
|
|
91
|
+
const error = new Error('MessageMediator is not implemented');
|
|
92
|
+
error.name = _INFRA_NOT_IMPLEMENTED_;
|
|
93
|
+
throw error;
|
|
94
|
+
}
|
|
95
|
+
this._messageMediator = service;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
public get databaseClient() {
|
|
99
|
+
return this._databaseClient;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
public set databaseClient(service: IDatabaseClient) {
|
|
103
|
+
if (!service.stores) {
|
|
104
|
+
const error = new Error('DatabaseClient is not implemented');
|
|
105
|
+
error.name = _INFRA_NOT_IMPLEMENTED_;
|
|
106
|
+
throw error;
|
|
107
|
+
}
|
|
108
|
+
this._databaseClient = service;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// eslint-disable-next-line no-shadow
|
|
2
|
+
export enum EHTTPFrameworks {
|
|
3
|
+
express = 'express',
|
|
4
|
+
fastify = 'fastify',
|
|
5
|
+
restify = 'restify',
|
|
6
|
+
cloudflare_workers = 'cloudflare-workers',
|
|
7
|
+
vercel_functions = 'vercel-functions',
|
|
8
|
+
loopback = 'loopback',
|
|
9
|
+
sails_js = 'sails-js',
|
|
10
|
+
feathers = 'feathers',
|
|
11
|
+
derby_js = 'derby-js',
|
|
12
|
+
adonis_js = 'adonis-js',
|
|
13
|
+
total_js = 'total-js',
|
|
14
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { IHTTPServer } from './IHTTPServer';
|
|
2
|
+
import type { IbaseHandler } from './IbaseHandler';
|
|
3
|
+
|
|
4
|
+
export abstract class HTTPBaseServer<T> implements IHTTPServer<T> {
|
|
5
|
+
// eslint-disable-next-line no-useless-constructor, no-empty-function
|
|
6
|
+
// constructor() { }
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Register one endpoint, failing loudly when the framework refuses it.
|
|
10
|
+
*
|
|
11
|
+
* This used to swallow every error from the framework's own registration
|
|
12
|
+
* call. A route that failed to register simply did not exist, and every
|
|
13
|
+
* request to it came back as the framework's 404 — no log at boot, no failed
|
|
14
|
+
* assertion until some test asked for that route and got a 404 where it
|
|
15
|
+
* expected a 403, a 400 or a 200. That is the shape JUM-687 recorded three
|
|
16
|
+
* times from CI and never explained: "a request that did not reach the
|
|
17
|
+
* handler the test was aiming at", with no domain error raised anywhere.
|
|
18
|
+
*
|
|
19
|
+
* Registration is boot-time work with no user waiting on it, so the only
|
|
20
|
+
* useful behaviour is to stop: an API that silently serves fewer routes than
|
|
21
|
+
* its specification declares is worse than one that refuses to start
|
|
22
|
+
* (Requirement 065).
|
|
23
|
+
*/
|
|
24
|
+
public endPointRegister(handlerFactory: IbaseHandler): void {
|
|
25
|
+
try {
|
|
26
|
+
(this.application as any)[handlerFactory.method](
|
|
27
|
+
handlerFactory.path,
|
|
28
|
+
handlerFactory.handler
|
|
29
|
+
);
|
|
30
|
+
} catch (error) {
|
|
31
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
32
|
+
throw new Error(
|
|
33
|
+
`Endpoint registration failed for ${String(handlerFactory.method).toUpperCase()} `
|
|
34
|
+
+ `${handlerFactory.path}: ${reason}`
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
public abstract application: T;
|
|
40
|
+
|
|
41
|
+
public abstract start(): Promise<void>;
|
|
42
|
+
|
|
43
|
+
public abstract stop(): Promise<void>;
|
|
44
|
+
|
|
45
|
+
public static compile() {}
|
|
46
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { IDatabaseClient } from '@src/infra/persistence/port/IDatabaseClient';
|
|
2
|
+
import type { IHTTPServer, EndPointFactory } from '@src/interface/HTTP/ports';
|
|
3
|
+
import { EHTTPFrameworks } from '@src/interface/HTTP/ports';
|
|
4
|
+
// import { IMutexService } from '@src/domains/ports/mutex/IMutexService';
|
|
5
|
+
import type { IAuthService } from '@src/modules/Users/service/ports/IAuthService';
|
|
6
|
+
import type { IPasswordCryptoService } from '@src/infra/security/IPasswordCryptoService';
|
|
7
|
+
import type { IKeyValueStorageClient } from '@src/infra/persistence/KeyValueStorage/IKeyValueStorageClient';
|
|
8
|
+
import type { IMutexService } from '@src/infra/mutex/port/IMutexService';
|
|
9
|
+
import type { IEventBus, IMessageMediator } from '@src/modules/port';
|
|
10
|
+
|
|
11
|
+
export interface IAPIFactory<ServerType> {
|
|
12
|
+
databaseClient: IDatabaseClient,
|
|
13
|
+
webServer: IHTTPServer<ServerType>,
|
|
14
|
+
serverType?: EHTTPFrameworks;
|
|
15
|
+
mutexService?: IMutexService,
|
|
16
|
+
infraHandlers: Record<string, EndPointFactory>;
|
|
17
|
+
authService?: IAuthService;
|
|
18
|
+
passwordCryptoService?: IPasswordCryptoService;
|
|
19
|
+
keyValueStorageClient?: IKeyValueStorageClient;
|
|
20
|
+
eventBus?: IEventBus;
|
|
21
|
+
messageMediator?: IMessageMediator;
|
|
22
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { BaseDomainEvent } from '@src/modules/port/BaseDomainEvent';
|
|
2
|
+
import type { IServiceResponse } from '@src/modules/port';
|
|
3
|
+
import type { IAuthService } from '@src/modules/Users/service/ports/IAuthService';
|
|
4
|
+
import type { IDatabaseClient } from '@src/infra/persistence/port/IDatabaseClient';
|
|
5
|
+
|
|
6
|
+
export interface IController {
|
|
7
|
+
authService: IAuthService;
|
|
8
|
+
openApiSpecification: any;
|
|
9
|
+
databaseClient: IDatabaseClient;
|
|
10
|
+
create?(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
11
|
+
update?(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
12
|
+
delete?(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
13
|
+
getOneById?(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
14
|
+
getAll?(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
15
|
+
getUsersMetrics?(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
16
|
+
getOrganizationsMetrics?(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
17
|
+
login?(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
18
|
+
logout?(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
19
|
+
register?(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
20
|
+
updatePassword?(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
21
|
+
createOrganization?(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
22
|
+
updateOrganization?(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
23
|
+
deleteOrganization?(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
24
|
+
getOrganizationById?(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
25
|
+
getAllOrganizations?(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
26
|
+
createOrganizationAddress?(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
27
|
+
updateOrganizationAddress?(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
28
|
+
deleteOrganizationAddress?(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
29
|
+
createOrganizationPhone?(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
30
|
+
updateOrganizationPhone?(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
31
|
+
deleteOrganizationPhone?(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
32
|
+
createOrganizationEmail?(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
33
|
+
updateOrganizationEmail?(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
34
|
+
deleteOrganizationEmail?(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
35
|
+
restore?(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
36
|
+
// update(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
37
|
+
// create(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
38
|
+
// create(event: BaseDomainEvent): Promise<IServiceResponse<any>>;
|
|
39
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { IAuthService } from '@src/modules/Users/service/ports/IAuthService';
|
|
2
|
+
import { UserService } from '@src/modules/Users/service/UserService';
|
|
3
|
+
import type { IUserUseCases } from '@src/modules/Users/application/ports/IUserUseCases';
|
|
4
|
+
import type { IAuthUseCases } from '@src/modules/Users/application/ports/IAuthUseCases';
|
|
5
|
+
import type { IOrganizationUseCases } from '@src/modules/Users/application/ports/IOrganizationUseCases';
|
|
6
|
+
import type { IMutexService } from '@src/infra/mutex/port/IMutexService';
|
|
7
|
+
import type { IDatabaseClient } from '@src/infra/persistence/port/IDatabaseClient';
|
|
8
|
+
import type { IPasswordCryptoService } from '@src/infra/security/IPasswordCryptoService';
|
|
9
|
+
import type { IMessageMediator } from '@src/modules/port';
|
|
10
|
+
// import { PasswordCryptoService } from '@src/infra/security/PasswordCryptoService';
|
|
11
|
+
|
|
12
|
+
export interface IControllerFactory {
|
|
13
|
+
authService: IAuthService;
|
|
14
|
+
openApiSpecification: any;
|
|
15
|
+
databaseClient: IDatabaseClient;
|
|
16
|
+
userService?: UserService;
|
|
17
|
+
userUseCases?: IUserUseCases;
|
|
18
|
+
organizationUseCases?: IOrganizationUseCases;
|
|
19
|
+
authUseCases?: IAuthUseCases;
|
|
20
|
+
passwordCryptoService?: IPasswordCryptoService,
|
|
21
|
+
mutexService?: IMutexService;
|
|
22
|
+
messageMediator?: IMessageMediator;
|
|
23
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { OpenAPIV3 } from 'openapi-types';
|
|
2
|
+
import type { IDatabaseClient } from '@src/infra/persistence/port/IDatabaseClient';
|
|
3
|
+
import type { IMutexService } from '@src/infra/mutex/port/IMutexService';
|
|
4
|
+
import type { IAuthService } from '@src/modules/Users/service/ports/IAuthService';
|
|
5
|
+
import type { IController } from './IController';
|
|
6
|
+
|
|
7
|
+
export interface IHandlerFactory {
|
|
8
|
+
databaseClient: IDatabaseClient;
|
|
9
|
+
mutexService?: IMutexService;
|
|
10
|
+
endPointConfig: Record<string, any>;
|
|
11
|
+
spec: OpenAPIV3.Document;
|
|
12
|
+
version?: string;
|
|
13
|
+
apiDocs?: Map<string, OpenAPIV3.Document>;
|
|
14
|
+
authService?: IAuthService;
|
|
15
|
+
controller?: IController;
|
|
16
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { IHTTPRequest } from './IHTTPRequest';
|
|
2
|
+
import type { IHTTPResponse } from './IHTTPResponse';
|
|
3
|
+
|
|
4
|
+
export interface IbaseHandler {
|
|
5
|
+
method: string;
|
|
6
|
+
path: string;
|
|
7
|
+
handler(req: IHTTPRequest, res: IHTTPResponse): void | Promise<any>;
|
|
8
|
+
securitySchemes?(req: IHTTPRequest, res: IHTTPResponse, next: any): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { EHTTPFrameworks } from './EHTTPFrameworks';
|
|
2
|
+
import type { EndPointFactory } from './EndPointFactory';
|
|
3
|
+
import { HTTPBaseServer } from './HTTPBaseServer';
|
|
4
|
+
import type { IAPIFactory } from './IAPIFactory';
|
|
5
|
+
import type { IbaseHandler } from './IbaseHandler';
|
|
6
|
+
import type { IbaseHandlerFactory } from './IbaseHandlerFactory';
|
|
7
|
+
import type { IController } from './IController';
|
|
8
|
+
import type { IControllerFactory } from './IControllerFactory';
|
|
9
|
+
import type { IHandlerFactory } from './IHandlerFactory';
|
|
10
|
+
import type { IHTTPRequest } from './IHTTPRequest';
|
|
11
|
+
import type { IHTTPResponse } from './IHTTPResponse';
|
|
12
|
+
import type { IHTTPServer } from './IHTTPServer';
|
|
13
|
+
|
|
14
|
+
// Split by declaration kind. Everything imported above with `import type` is erased
|
|
15
|
+
// at runtime, so listing it in a value `export { … }` block leaves Bun's ESM loader
|
|
16
|
+
// resolving a binding that does not exist and the whole barrel fails to load.
|
|
17
|
+
//
|
|
18
|
+
// The repo-wide codemod missed this shape: it handled `export { … } from '…'` but not
|
|
19
|
+
// a *local* re-export block fed by separate import statements.
|
|
20
|
+
//
|
|
21
|
+
// `EHTTPFrameworks` is an enum and `HTTPBaseServer` an abstract class — real runtime
|
|
22
|
+
// values, which is why they stay in the value export.
|
|
23
|
+
export type {
|
|
24
|
+
EndPointFactory,
|
|
25
|
+
IAPIFactory,
|
|
26
|
+
IbaseHandler,
|
|
27
|
+
IbaseHandlerFactory,
|
|
28
|
+
IController,
|
|
29
|
+
IControllerFactory,
|
|
30
|
+
IHandlerFactory,
|
|
31
|
+
IHTTPRequest,
|
|
32
|
+
IHTTPResponse,
|
|
33
|
+
IHTTPServer
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export {
|
|
37
|
+
EHTTPFrameworks,
|
|
38
|
+
HTTPBaseServer
|
|
39
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ValidationError } from '@src/infra/exceptions';
|
|
2
|
+
/**
|
|
3
|
+
* Checks if the payload contains all the required properties
|
|
4
|
+
* @param payload the payload to check
|
|
5
|
+
* @param required the required properties
|
|
6
|
+
* @returns true if the payload contains all the required properties
|
|
7
|
+
*/
|
|
8
|
+
export default function checkRequiredProperties(
|
|
9
|
+
payload: Record<string, any>,
|
|
10
|
+
required: string[]
|
|
11
|
+
): boolean {
|
|
12
|
+
const payloadKeyNames = Object.keys(payload);
|
|
13
|
+
for (const name of required) {
|
|
14
|
+
if (payloadKeyNames.indexOf(name) === -1) {
|
|
15
|
+
throw new ValidationError(`The property ${name} is required.`);
|
|
16
|
+
}
|
|
17
|
+
if (payload[name] === undefined || payload[name] === null) {
|
|
18
|
+
throw new ValidationError(`The property ${name} can not be null or undefined.`);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { OpenAPIV3 } from 'openapi-types';
|
|
2
|
+
|
|
3
|
+
const resolveRef = (
|
|
4
|
+
spec: OpenAPIV3.Document,
|
|
5
|
+
ref: string
|
|
6
|
+
): Record<string, any> | undefined => {
|
|
7
|
+
if (!ref.startsWith('#/')) return undefined;
|
|
8
|
+
const path = ref.slice(2).split('/');
|
|
9
|
+
let current: any = spec;
|
|
10
|
+
for (const entry of path) {
|
|
11
|
+
if (!current || typeof current !== 'object') {
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
current = current[entry];
|
|
15
|
+
}
|
|
16
|
+
return current as Record<string, any> | undefined;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export default function getSchema(
|
|
20
|
+
spec: OpenAPIV3.Document,
|
|
21
|
+
content: Record<string, any>
|
|
22
|
+
): Record<string, any> | undefined {
|
|
23
|
+
const keyName = Object.keys(content || {})[0];
|
|
24
|
+
if (!keyName) return undefined;
|
|
25
|
+
|
|
26
|
+
const schema = content[keyName]?.schema;
|
|
27
|
+
if (!schema) return undefined;
|
|
28
|
+
|
|
29
|
+
if (schema.$ref && typeof schema.$ref === 'string') {
|
|
30
|
+
return resolveRef(spec, schema.$ref);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return schema as Record<string, any>;
|
|
34
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { default as throwIfOASInputValidationFails } from './throwIfOASInputValidationFails';
|
|
2
|
+
export { default as isPropertiesMatching } from './isPropertiesMatching';
|
|
3
|
+
export { default as getSchema } from './getSchema';
|
|
4
|
+
export { default as checkRequiredProperties } from './checkRequiredProperties';
|
|
5
|
+
export { default as validateRequestParams } from './validateRequestParams';
|
|
6
|
+
export { default as validateRequestAgainstOAS } from './validateRequestAgainstOAS';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ValidationError } from '@src/infra/exceptions';
|
|
2
|
+
/**
|
|
3
|
+
* Check if properties exists in payload
|
|
4
|
+
*
|
|
5
|
+
* @param payload - The payload to check
|
|
6
|
+
* @param properties - The properties to check
|
|
7
|
+
* @returns True if properties exists in payload
|
|
8
|
+
*/
|
|
9
|
+
export default function isPropertiesMatching(
|
|
10
|
+
payload: Record<string, any>,
|
|
11
|
+
properties: Record<string, any>
|
|
12
|
+
): boolean {
|
|
13
|
+
const propertyNames = Object.keys(properties);
|
|
14
|
+
for (const name of Object.keys(payload)) {
|
|
15
|
+
if (propertyNames.indexOf(name) === -1) {
|
|
16
|
+
throw new ValidationError(`The property ${name} from input payload does not exist.`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { OpenAPIV3 } from 'openapi-types';
|
|
2
|
+
import { ValidationError } from '@src/infra/exceptions';
|
|
3
|
+
import { validateValueAgainstOpenApiSchema } from '@src/shared/openapi/OpenApi31DataEntity';
|
|
4
|
+
import getSchema from './getSchema';
|
|
5
|
+
import isPropertiesMatching from './isPropertiesMatching';
|
|
6
|
+
import checkRequiredProperties from './checkRequiredProperties';
|
|
7
|
+
|
|
8
|
+
const SERVER_MANAGED_INPUT_PROPERTIES = new Set(['createdAt', 'updatedAt', 'deletedAt']);
|
|
9
|
+
|
|
10
|
+
const toPublicValidationMessage = (
|
|
11
|
+
message: string,
|
|
12
|
+
payload: unknown,
|
|
13
|
+
operationId?: string
|
|
14
|
+
): string => {
|
|
15
|
+
const fieldMatch = message.match(/payload\.([A-Za-z0-9_]+)/);
|
|
16
|
+
const fieldName = fieldMatch?.[1];
|
|
17
|
+
if (!fieldName || typeof payload !== 'object' || payload === null) {
|
|
18
|
+
return message;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const fieldValue = (payload as Record<string, unknown>)[fieldName];
|
|
22
|
+
if (fieldValue === '' && (
|
|
23
|
+
message.includes('minLength')
|
|
24
|
+
|| message.includes('value must be one of')
|
|
25
|
+
)) {
|
|
26
|
+
if (
|
|
27
|
+
fieldName === 'password'
|
|
28
|
+
&& message.includes('minLength')
|
|
29
|
+
&& operationId !== 'updatePassword'
|
|
30
|
+
) {
|
|
31
|
+
const minimum = message.match(/minLength is (\d+)/)?.[1];
|
|
32
|
+
if (minimum) {
|
|
33
|
+
return `password must have at least ${minimum} chars.`;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return `${fieldName} can not be empty`;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (fieldName === 'password' && message.includes('minLength')) {
|
|
40
|
+
const minimum = message.match(/minLength is (\d+)/)?.[1];
|
|
41
|
+
if (minimum) {
|
|
42
|
+
return `password must have at least ${minimum} chars.`;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return message;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export default function throwIfOASInputValidationFails(
|
|
50
|
+
spec: OpenAPIV3.Document,
|
|
51
|
+
endPointConfig: Record<string, any>,
|
|
52
|
+
payload: unknown
|
|
53
|
+
): boolean {
|
|
54
|
+
const requestBody = endPointConfig?.requestBody;
|
|
55
|
+
if (!requestBody) return true;
|
|
56
|
+
|
|
57
|
+
const { content, required } = requestBody;
|
|
58
|
+
if ((payload === undefined || payload === null) && required) {
|
|
59
|
+
throw new ValidationError('Request body is required by OpenAPI schema.');
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
if (payload === undefined || payload === null) {
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
const schema = getSchema(spec, content);
|
|
67
|
+
if (schema) {
|
|
68
|
+
const objectPayload = payload as Record<string, unknown>;
|
|
69
|
+
if (
|
|
70
|
+
typeof objectPayload === 'object'
|
|
71
|
+
&& !Array.isArray(objectPayload)
|
|
72
|
+
&& schema.properties
|
|
73
|
+
) {
|
|
74
|
+
const contractInput = Object.fromEntries(
|
|
75
|
+
Object.entries(objectPayload)
|
|
76
|
+
.filter(([name]) => !SERVER_MANAGED_INPUT_PROPERTIES.has(name))
|
|
77
|
+
);
|
|
78
|
+
isPropertiesMatching(contractInput, schema.properties);
|
|
79
|
+
checkRequiredProperties(objectPayload, schema.required || []);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
try {
|
|
83
|
+
validateValueAgainstOpenApiSchema(payload, schema, spec as unknown as Record<string, any>);
|
|
84
|
+
} catch (error) {
|
|
85
|
+
throw new ValidationError(toPublicValidationMessage(
|
|
86
|
+
(error as Error).message,
|
|
87
|
+
payload,
|
|
88
|
+
endPointConfig.operationId
|
|
89
|
+
));
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
return true;
|
|
94
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { OpenAPIV3 } from 'openapi-types';
|
|
2
|
+
import throwIfOASInputValidationFails from './throwIfOASInputValidationFails';
|
|
3
|
+
import validateRequestParams from './validateRequestParams';
|
|
4
|
+
|
|
5
|
+
type RequestValidationInput = {
|
|
6
|
+
input?: unknown;
|
|
7
|
+
params?: Record<string, any>;
|
|
8
|
+
queryString?: Record<string, any>;
|
|
9
|
+
authorization?: string;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default function validateRequestAgainstOAS(
|
|
13
|
+
spec: OpenAPIV3.Document,
|
|
14
|
+
endPointConfig: Record<string, any>,
|
|
15
|
+
request: RequestValidationInput
|
|
16
|
+
): boolean {
|
|
17
|
+
validateRequestParams(
|
|
18
|
+
endPointConfig,
|
|
19
|
+
request.params || {},
|
|
20
|
+
request.queryString || {},
|
|
21
|
+
{ authorization: request.authorization || '' }
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
return throwIfOASInputValidationFails(
|
|
25
|
+
spec,
|
|
26
|
+
endPointConfig,
|
|
27
|
+
request.input
|
|
28
|
+
);
|
|
29
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { ValidationError } from '@src/infra/exceptions';
|
|
2
|
+
import { validateValueAgainstOpenApiSchema } from '@src/shared/openapi/OpenApi31DataEntity';
|
|
3
|
+
|
|
4
|
+
const coerceQueryValue = (value: unknown, schema: Record<string, any>): unknown => {
|
|
5
|
+
if (typeof value !== 'string') return value;
|
|
6
|
+
const type = Array.isArray(schema?.type) ? schema.type[0] : schema?.type;
|
|
7
|
+
if (type === 'integer' || type === 'number') {
|
|
8
|
+
const trimmed = value.trim();
|
|
9
|
+
if (trimmed === '') return value;
|
|
10
|
+
const parsed = Number(trimmed);
|
|
11
|
+
return Number.isNaN(parsed) ? value : parsed;
|
|
12
|
+
}
|
|
13
|
+
if (type === 'boolean') {
|
|
14
|
+
if (value === 'true') return true;
|
|
15
|
+
if (value === 'false') return false;
|
|
16
|
+
}
|
|
17
|
+
return value;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Validate request parameters
|
|
22
|
+
* @param endPointConfig
|
|
23
|
+
* @param requestParams
|
|
24
|
+
*/
|
|
25
|
+
export default function validateRequestParams(
|
|
26
|
+
endPointConfig: Record<string, any>,
|
|
27
|
+
requestParams: Record<string, any>,
|
|
28
|
+
queryString: Record<string, any> = {},
|
|
29
|
+
headers: Record<string, any> = {}
|
|
30
|
+
): boolean {
|
|
31
|
+
const { parameters } = endPointConfig;
|
|
32
|
+
if (!parameters) return true;
|
|
33
|
+
for (const parameter of parameters) {
|
|
34
|
+
const {
|
|
35
|
+
name,
|
|
36
|
+
required,
|
|
37
|
+
schema = {},
|
|
38
|
+
in: location = 'path'
|
|
39
|
+
} = parameter;
|
|
40
|
+
let source = requestParams;
|
|
41
|
+
if (location === 'query') {
|
|
42
|
+
source = queryString;
|
|
43
|
+
} else if (location === 'header') {
|
|
44
|
+
source = headers;
|
|
45
|
+
}
|
|
46
|
+
// Query strings arrive as text; coerce to the declared primitive before
|
|
47
|
+
// validating so `page=2` satisfies `type: integer` (JUM-777). Values that
|
|
48
|
+
// do not parse stay strings and fail the type check with a clear message.
|
|
49
|
+
const value = location === 'query' ? coerceQueryValue(source?.[name], schema) : source?.[name];
|
|
50
|
+
|
|
51
|
+
if (required) {
|
|
52
|
+
if (value === undefined || value === null || value === '') {
|
|
53
|
+
throw new ValidationError(`The parameter ${name} is required in ${location}.`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
if (value !== undefined && value !== null) {
|
|
58
|
+
if (typeof value === 'string' && value.length === 0) {
|
|
59
|
+
throw new ValidationError(`The parameter ${name} can not be empty.`);
|
|
60
|
+
}
|
|
61
|
+
if (typeof value === 'string' && value.toLowerCase() === 'null') {
|
|
62
|
+
throw new ValidationError(`The parameter ${name} can not be null.`);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
try {
|
|
66
|
+
validateValueAgainstOpenApiSchema(
|
|
67
|
+
value,
|
|
68
|
+
schema,
|
|
69
|
+
{ components: { schemas: {} } },
|
|
70
|
+
`params.${name}`
|
|
71
|
+
);
|
|
72
|
+
} catch (error) {
|
|
73
|
+
throw new ValidationError((error as Error).message);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return true;
|
|
78
|
+
}
|