@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,189 @@
|
|
|
1
|
+
# Creating REST API with Jumentix
|
|
2
|
+
|
|
3
|
+
## Responsibility in context
|
|
4
|
+
|
|
5
|
+
- **Owns:** HTTP adapter + application use-cases for REST
|
|
6
|
+
- **Used with:** sdk-rest-client, persistence packages, backend-template app hub
|
|
7
|
+
- **Not responsible for:** WebSocket/gRPC realtime (see realtime guide) or offline IndexedDB (Cana)
|
|
8
|
+
|
|
9
|
+
## What it is
|
|
10
|
+
|
|
11
|
+
This guide walks you through bootstrapping, running, and validating a REST service
|
|
12
|
+
using the Jumentix backend template. You will wire domain logic to an HTTP adapter
|
|
13
|
+
(Express by default) and call the API from a typed client.
|
|
14
|
+
|
|
15
|
+
## Why it exists
|
|
16
|
+
|
|
17
|
+
Most junior teams start by editing controller files and hope routes stay aligned
|
|
18
|
+
with documentation. Jumentix inverts that: **OpenAPI is the contract**, domain
|
|
19
|
+
code sits in the center, and the HTTP framework is a replaceable adapter. This
|
|
20
|
+
guide gives you a repeatable path from env profile → running server → green tests.
|
|
21
|
+
|
|
22
|
+
## Prerequisites
|
|
23
|
+
|
|
24
|
+
| Item | Required | Notes |
|
|
25
|
+
| --- | --- | --- |
|
|
26
|
+
| Bun 1.3.13+ | Yes | See [Getting started](/docs/jumentix/concepts/getting-started) |
|
|
27
|
+
| Completed getting-started | Recommended | Mental model + Cana playground |
|
|
28
|
+
| Backend template scaffold | Yes | Use the monorepo `apps/backend-template` or your internal bootstrap flow |
|
|
29
|
+
| Service Management (optional) | For design-first teams | Domain Designer generates entities aligned with OpenAPI |
|
|
30
|
+
|
|
31
|
+
**Environment file:** `apps/backend-template/src/config/.env.dev` (or your scaffold’s equivalent).
|
|
32
|
+
|
|
33
|
+
## Glossary
|
|
34
|
+
|
|
35
|
+
| Term | Meaning on this page |
|
|
36
|
+
| --- | --- |
|
|
37
|
+
| **REST** | HTTP API using verbs (GET, POST, …) and JSON payloads. |
|
|
38
|
+
| **OpenAPI** | Spec at `spec/1.0.0.yml` describing paths, schemas, and operationIds. |
|
|
39
|
+
| **Runtime profile** | Env vars (`JUMENTIX_HTTP_FRAMEWORK`, `JUMENTIX_REALTIME_API`) selecting adapters. |
|
|
40
|
+
| **Controller** | Interface-layer class mapping HTTP requests to use-case calls. |
|
|
41
|
+
| **Use case** | Application service implementing one business operation. |
|
|
42
|
+
| **Repository port** | Interface for persistence; implemented by a database adapter. |
|
|
43
|
+
| **HTTP adapter** | Express/Fastify/etc. module mounting routes from OpenAPI operationIds. |
|
|
44
|
+
| **oas:check-routes** | Script verifying every OpenAPI path resolves to a registered handler. |
|
|
45
|
+
|
|
46
|
+
## Numbered steps
|
|
47
|
+
|
|
48
|
+
### Step 1 — Select the REST runtime profile (< 5 minutes)
|
|
49
|
+
|
|
50
|
+
1. Open your env file (default: `apps/backend-template/src/config/.env.dev`).
|
|
51
|
+
2. Set REST-only mode:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
JUMENTIX_HTTP_FRAMEWORK=express
|
|
55
|
+
JUMENTIX_REALTIME_API=no
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Supported HTTP frameworks are listed on [HTTP adapters](/docs/jumentix/adapters/http).
|
|
59
|
+
|
|
60
|
+
3. Start the dev server from the monorepo root:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
bun run dev:http
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Or from inside `apps/backend-template`:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
bun run dev:rest
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**Success check:** PM2 reports `jumentix-dev-http` online; curl or browser hits
|
|
73
|
+
`/health` (or your scaffold’s health route) with HTTP 200.
|
|
74
|
+
|
|
75
|
+
### Step 2 — Model domain and contracts (< 15 minutes)
|
|
76
|
+
|
|
77
|
+
1. **Design-first (recommended):** open Service Management → Domain Designer.
|
|
78
|
+
Define entities, relationships, and bounded contexts.
|
|
79
|
+
2. **Spec-first:** edit OpenAPI at `spec/1.0.0.yml` — add paths, schemas, and
|
|
80
|
+
stable `operationId` values.
|
|
81
|
+
3. Keep request/response DTOs aligned with controller method inputs/outputs.
|
|
82
|
+
4. Shared contract packages (`@jumentix/shared-contracts`) should mirror the same
|
|
83
|
+
shapes; see [/docs/jumentix/packages/shared-contracts](/docs/jumentix/packages/shared-contracts).
|
|
84
|
+
|
|
85
|
+
**Success check:** `bun run oas:check-routes` passes with zero unresolved routes.
|
|
86
|
+
|
|
87
|
+
### Step 3 — Implement the domain flow (< 30 minutes per feature)
|
|
88
|
+
|
|
89
|
+
Follow the backend template layering — bottom to top:
|
|
90
|
+
|
|
91
|
+
1. **Domain** — entities, value objects, domain events under `src/domain/`.
|
|
92
|
+
2. **Ports** — repository and gateway interfaces your use cases depend on.
|
|
93
|
+
3. **Use cases** — application services orchestrating domain rules.
|
|
94
|
+
4. **Controllers** — translate HTTP DTOs ↔ use-case inputs/outputs.
|
|
95
|
+
5. **Handlers** — framework-specific route bindings (Express router modules).
|
|
96
|
+
|
|
97
|
+
Rule: **domain and use cases must not import Express/Fastify.** Only adapters do.
|
|
98
|
+
|
|
99
|
+
**Success check:** unit tests for the use case pass without starting HTTP.
|
|
100
|
+
|
|
101
|
+
### Step 4 — Bind to the HTTP adapter (< 10 minutes)
|
|
102
|
+
|
|
103
|
+
1. Confirm `JUMENTIX_HTTP_FRAMEWORK` matches the adapter you wired.
|
|
104
|
+
2. REST startup loads `start-rest-api.ts` (or your scaffold entry) which registers
|
|
105
|
+
handlers from module interfaces.
|
|
106
|
+
3. Each OpenAPI `operationId` maps to one controller method via the adapter registry.
|
|
107
|
+
|
|
108
|
+
Swap adapters by changing env only — domain code stays untouched:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
JUMENTIX_HTTP_FRAMEWORK=fastify # example; confirm support on adapters page
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**Success check:** manual request to a new endpoint returns the contract-shaped JSON.
|
|
115
|
+
|
|
116
|
+
### Step 5 — Validate quality gates (< 10 minutes)
|
|
117
|
+
|
|
118
|
+
Run from monorepo root (or `bun --cwd ../..` from backend-template):
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
bun run lint
|
|
122
|
+
bun run test:unit
|
|
123
|
+
bun run oas:check-routes
|
|
124
|
+
bun run test:integration:express
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Optional smoke before pushing:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
cd apps/backend-template && bun run test:integration:smoke
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
**Success check:** all four commands exit 0; integration test hits real HTTP against the running profile.
|
|
134
|
+
|
|
135
|
+
### Step 6 — Call the API from a client (junior path)
|
|
136
|
+
|
|
137
|
+
In Node or the browser docs playground, **inject the OpenAPI document** instead of
|
|
138
|
+
loading it from disk with `fs`:
|
|
139
|
+
|
|
140
|
+
```js
|
|
141
|
+
const client = api.createMockClient();
|
|
142
|
+
const result = await client.request({ method: 'GET', path: '/health' });
|
|
143
|
+
console.log(result.status, result.body);
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
For production clients, use `@jumentix/sdk-rest-client` with the same injected spec
|
|
147
|
+
in browser bundles.
|
|
148
|
+
|
|
149
|
+
## Examples
|
|
150
|
+
|
|
151
|
+
### Static mock client
|
|
152
|
+
|
|
153
|
+
```js
|
|
154
|
+
const client = api.createMockClient();
|
|
155
|
+
const result = await client.request({ method: 'GET', path: '/health' });
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Interactive REST client playground
|
|
159
|
+
|
|
160
|
+
Try the mocked REST client — **Run** should return a successful `/health` response:
|
|
161
|
+
|
|
162
|
+
<DocsPlayground runtime="sdk-rest-client" id="getting-started" />
|
|
163
|
+
|
|
164
|
+
## Common errors
|
|
165
|
+
|
|
166
|
+
| Symptom | Likely cause | Fix | Verify success |
|
|
167
|
+
| --- | --- | --- | --- |
|
|
168
|
+
| PM2 process exits immediately | Invalid env file path or missing secret | Confirm `--env-file=./apps/backend-template/src/config/.env.dev` | `bun run dev:http` stays online |
|
|
169
|
+
| `oas:check-routes` fails | OpenAPI path has no handler | Add handler + controller method; rerun check | Script exits 0 |
|
|
170
|
+
| 404 on documented route | Wrong HTTP framework adapter loaded | Match `JUMENTIX_HTTP_FRAMEWORK` to wired module | curl returns 200 |
|
|
171
|
+
| Integration test timeout | Server not running or wrong port | Start dev profile before integration suite | `test:integration:express` green |
|
|
172
|
+
| Browser client cannot load YAML | `fs.readFile` in bundle | Inject parsed OpenAPI object (playground pattern) | Mock client works in browser |
|
|
173
|
+
| Domain imports Express | Layer violation | Move HTTP code to adapter/handler layer | `arch:check-boundaries` passes |
|
|
174
|
+
|
|
175
|
+
## Junior checklist (“I can …”)
|
|
176
|
+
|
|
177
|
+
- [ ] Set `JUMENTIX_HTTP_FRAMEWORK` and `JUMENTIX_REALTIME_API=no` and start `bun run dev:http`.
|
|
178
|
+
- [ ] Locate `spec/1.0.0.yml` and explain what an `operationId` is.
|
|
179
|
+
- [ ] Add or trace one path: OpenAPI → controller → use case → repository port.
|
|
180
|
+
- [ ] Run `bun run oas:check-routes` and `bun run test:integration:express` successfully.
|
|
181
|
+
- [ ] Call `/health` via the sdk-rest-client playground (**Run** green).
|
|
182
|
+
- [ ] Name one HTTP adapter alternative without changing domain code.
|
|
183
|
+
|
|
184
|
+
## Next step
|
|
185
|
+
|
|
186
|
+
When you need push notifications or live updates, continue to
|
|
187
|
+
[Create a Realtime API](/docs/jumentix/guides/realtime-api). For adapter
|
|
188
|
+
reference, see [HTTP adapters](/docs/jumentix/adapters/http) and
|
|
189
|
+
[Errors and responses](/docs/jumentix/reference/errors-responses).
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
# Criando API REST com Jumentix
|
|
2
|
+
|
|
3
|
+
## Responsabilidade no escopo
|
|
4
|
+
|
|
5
|
+
- **Responsável por:** Adapter HTTP + use-cases de aplicação para REST
|
|
6
|
+
- **Usado com:** sdk-rest-client, pacotes de persistência, hub do app backend-template
|
|
7
|
+
- **Não responsável por:** Realtime WebSocket/gRPC (guia realtime) ou IndexedDB offline (Cana)
|
|
8
|
+
|
|
9
|
+
## O que é
|
|
10
|
+
|
|
11
|
+
Este guia mostra como inicializar, executar e validar um serviço REST usando o
|
|
12
|
+
template de backend Jumentix. Você vai ligar lógica de domínio a um adaptador
|
|
13
|
+
HTTP (Express por padrão) e chamar a API por um client tipado.
|
|
14
|
+
|
|
15
|
+
## Por que existe
|
|
16
|
+
|
|
17
|
+
Times júnior costumam editar controllers e esperar que rotas permaneçam alinhadas
|
|
18
|
+
à documentação. O Jumentix inverte isso: **OpenAPI é o contrato**, o código de
|
|
19
|
+
domínio fica no centro e o framework HTTP é um adaptador substituível. Este guia
|
|
20
|
+
oferece um caminho repetível de perfil de env → servidor rodando → testes verdes.
|
|
21
|
+
|
|
22
|
+
## Pré-requisitos
|
|
23
|
+
|
|
24
|
+
| Item | Obrigatório | Notas |
|
|
25
|
+
| --- | --- | --- |
|
|
26
|
+
| Bun 1.3.13+ | Sim | Veja [Começando](/docs/pt-BR/jumentix/concepts/getting-started) |
|
|
27
|
+
| Getting-started concluído | Recomendado | Modelo mental + playground Cana |
|
|
28
|
+
| Scaffold backend-template | Sim | Use o monorepo `apps/backend-template` ou o fluxo interno de bootstrap |
|
|
29
|
+
| Service Management (opcional) | Times design-first | Domain Designer gera entidades alinhadas ao OpenAPI |
|
|
30
|
+
|
|
31
|
+
**Arquivo de ambiente:** `apps/backend-template/src/config/.env.dev` (ou equivalente do seu scaffold).
|
|
32
|
+
|
|
33
|
+
## Glossário
|
|
34
|
+
|
|
35
|
+
| Termo | Significado nesta página |
|
|
36
|
+
| --- | --- |
|
|
37
|
+
| **REST** | API HTTP com verbos (GET, POST, …) e payloads JSON. |
|
|
38
|
+
| **OpenAPI** | Spec em `spec/1.0.0.yml` descrevendo paths, schemas e operationIds. |
|
|
39
|
+
| **Perfil de runtime** | Variáveis de env (`JUMENTIX_HTTP_FRAMEWORK`, `JUMENTIX_REALTIME_API`) que selecionam adaptadores. |
|
|
40
|
+
| **Controller** | Classe da camada de interface mapeando requests HTTP para casos de uso. |
|
|
41
|
+
| **Caso de uso** | Serviço de aplicação implementando uma operação de negócio. |
|
|
42
|
+
| **Porta de repositório** | Interface de persistência; implementada por adaptador de banco. |
|
|
43
|
+
| **Adaptador HTTP** | Módulo Express/Fastify/etc. montando rotas a partir de operationIds OpenAPI. |
|
|
44
|
+
| **oas:check-routes** | Script que verifica se todo path OpenAPI resolve para um handler registrado. |
|
|
45
|
+
|
|
46
|
+
## Passos numerados
|
|
47
|
+
|
|
48
|
+
### Passo 1 — Selecionar perfil REST (< 5 minutos)
|
|
49
|
+
|
|
50
|
+
1. Abra seu arquivo de env (padrão: `apps/backend-template/src/config/.env.dev`).
|
|
51
|
+
2. Configure modo só REST:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
JUMENTIX_HTTP_FRAMEWORK=express
|
|
55
|
+
JUMENTIX_REALTIME_API=no
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Frameworks HTTP suportados estão em [Adaptadores HTTP](/docs/pt-BR/jumentix/adapters/http).
|
|
59
|
+
|
|
60
|
+
3. Inicie o servidor dev na raiz do monorepo:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
bun run dev:http
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Ou de dentro de `apps/backend-template`:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
bun run dev:rest
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**Verificação de sucesso:** PM2 reporta `jumentix-dev-http` online; curl ou browser
|
|
73
|
+
acessa `/health` (ou rota de health do scaffold) com HTTP 200.
|
|
74
|
+
|
|
75
|
+
### Passo 2 — Modelar domínio e contratos (< 15 minutos)
|
|
76
|
+
|
|
77
|
+
1. **Design-first (recomendado):** abra Service Management → Domain Designer.
|
|
78
|
+
Defina entidades, relacionamentos e contextos limitados.
|
|
79
|
+
2. **Spec-first:** edite OpenAPI em `spec/1.0.0.yml` — adicione paths, schemas e
|
|
80
|
+
`operationId` estáveis.
|
|
81
|
+
3. Mantenha DTOs de request/response alinhados às entradas/saídas do controller.
|
|
82
|
+
4. Packages de contrato compartilhado (`@jumentix/shared-contracts`) devem espelhar
|
|
83
|
+
as mesmas formas; veja [/docs/pt-BR/jumentix/packages/shared-contracts](/docs/pt-BR/jumentix/packages/shared-contracts).
|
|
84
|
+
|
|
85
|
+
**Verificação de sucesso:** `bun run oas:check-routes` passa sem rotas não resolvidas.
|
|
86
|
+
|
|
87
|
+
### Passo 3 — Implementar fluxo de domínio (< 30 minutos por feature)
|
|
88
|
+
|
|
89
|
+
Siga as camadas do backend template — de baixo para cima:
|
|
90
|
+
|
|
91
|
+
1. **Domínio** — entidades, value objects, eventos em `src/domain/`.
|
|
92
|
+
2. **Portas** — interfaces de repositório e gateway dos casos de uso.
|
|
93
|
+
3. **Casos de uso** — serviços de aplicação orquestrando regras de domínio.
|
|
94
|
+
4. **Controllers** — traduzem DTOs HTTP ↔ entradas/saídas do caso de uso.
|
|
95
|
+
5. **Handlers** — bindings de rota específicos do framework (módulos Express).
|
|
96
|
+
|
|
97
|
+
Regra: **domínio e casos de uso não importam Express/Fastify.** Só adaptadores importam.
|
|
98
|
+
|
|
99
|
+
**Verificação de sucesso:** testes unitários do caso de uso passam sem subir HTTP.
|
|
100
|
+
|
|
101
|
+
### Passo 4 — Vincular ao adaptador HTTP (< 10 minutos)
|
|
102
|
+
|
|
103
|
+
1. Confirme que `JUMENTIX_HTTP_FRAMEWORK` corresponde ao adaptador ligado.
|
|
104
|
+
2. O startup REST carrega `start-rest-api.ts` (ou entry do scaffold) registrando
|
|
105
|
+
handlers das interfaces de módulo.
|
|
106
|
+
3. Cada `operationId` OpenAPI mapeia para um método de controller via registro do adaptador.
|
|
107
|
+
|
|
108
|
+
Troque adaptadores só mudando env — código de domínio intacto:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
JUMENTIX_HTTP_FRAMEWORK=fastify # exemplo; confirme suporte na página de adaptadores
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**Verificação de sucesso:** request manual a um endpoint novo retorna JSON no formato do contrato.
|
|
115
|
+
|
|
116
|
+
### Passo 5 — Validar portões de qualidade (< 10 minutos)
|
|
117
|
+
|
|
118
|
+
Execute na raiz do monorepo (ou `bun --cwd ../..` a partir de backend-template):
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
bun run lint
|
|
122
|
+
bun run test:unit
|
|
123
|
+
bun run oas:check-routes
|
|
124
|
+
bun run test:integration:express
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Smoke opcional antes do push:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
cd apps/backend-template && bun run test:integration:smoke
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
**Verificação de sucesso:** os quatro comandos saem com código 0; teste de integração
|
|
134
|
+
bate HTTP real contra o perfil rodando.
|
|
135
|
+
|
|
136
|
+
### Passo 6 — Chamar a API de um client (caminho júnior)
|
|
137
|
+
|
|
138
|
+
No Node ou no playground de docs do browser, **injete o documento OpenAPI** em vez
|
|
139
|
+
de carregar do disco com `fs`:
|
|
140
|
+
|
|
141
|
+
```js
|
|
142
|
+
const client = api.createMockClient();
|
|
143
|
+
const result = await client.request({ method: 'GET', path: '/health' });
|
|
144
|
+
console.log(result.status, result.body);
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Para clients de produção, use `@jumentix/sdk-rest-client` com a mesma spec injetada
|
|
148
|
+
em bundles de browser.
|
|
149
|
+
|
|
150
|
+
## Exemplos
|
|
151
|
+
|
|
152
|
+
### Client mock estático
|
|
153
|
+
|
|
154
|
+
```js
|
|
155
|
+
const client = api.createMockClient();
|
|
156
|
+
const result = await client.request({ method: 'GET', path: '/health' });
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Playground interativo REST client
|
|
160
|
+
|
|
161
|
+
Experimente o client REST mockado — **Run** deve retornar `/health` com sucesso:
|
|
162
|
+
|
|
163
|
+
<DocsPlayground runtime="sdk-rest-client" id="getting-started" />
|
|
164
|
+
|
|
165
|
+
## Erros comuns
|
|
166
|
+
|
|
167
|
+
| Sintoma | Causa provável | Correção | Verificar sucesso |
|
|
168
|
+
| --- | --- | --- | --- |
|
|
169
|
+
| Processo PM2 sai imediatamente | Caminho de env inválido ou secret ausente | Confirme `--env-file=./apps/backend-template/src/config/.env.dev` | `bun run dev:http` permanece online |
|
|
170
|
+
| `oas:check-routes` falha | Path OpenAPI sem handler | Adicione handler + método de controller; rode de novo | Script sai com 0 |
|
|
171
|
+
| 404 em rota documentada | Adaptador HTTP errado carregado | Alinhe `JUMENTIX_HTTP_FRAMEWORK` ao módulo ligado | curl retorna 200 |
|
|
172
|
+
| Timeout em teste de integração | Servidor parado ou porta errada | Suba perfil dev antes da suite | `test:integration:express` verde |
|
|
173
|
+
| Client browser não carrega YAML | `fs.readFile` no bundle | Injete objeto OpenAPI parseado (padrão do playground) | Mock client funciona no browser |
|
|
174
|
+
| Domínio importa Express | Violação de camada | Mova código HTTP para adaptador/handler | `arch:check-boundaries` passa |
|
|
175
|
+
|
|
176
|
+
## Checklist júnior (“Eu consigo …”)
|
|
177
|
+
|
|
178
|
+
- [ ] Definir `JUMENTIX_HTTP_FRAMEWORK` e `JUMENTIX_REALTIME_API=no` e iniciar `bun run dev:http`.
|
|
179
|
+
- [ ] Localizar `spec/1.0.0.yml` e explicar o que é um `operationId`.
|
|
180
|
+
- [ ] Adicionar ou rastrear um path: OpenAPI → controller → caso de uso → porta de repositório.
|
|
181
|
+
- [ ] Rodar `bun run oas:check-routes` e `bun run test:integration:express` com sucesso.
|
|
182
|
+
- [ ] Chamar `/health` via playground sdk-rest-client (**Run** verde).
|
|
183
|
+
- [ ] Citar um adaptador HTTP alternativo sem alterar código de domínio.
|
|
184
|
+
|
|
185
|
+
## Próximo passo
|
|
186
|
+
|
|
187
|
+
Quando precisar de push ou atualizações ao vivo, continue em
|
|
188
|
+
[Criar API em tempo real](/docs/pt-BR/jumentix/guides/realtime-api). Para referência
|
|
189
|
+
de adaptadores, veja [Adaptadores HTTP](/docs/pt-BR/jumentix/adapters/http) e
|
|
190
|
+
[Erros e respostas](/docs/pt-BR/jumentix/reference/errors-responses).
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@jumentix/backend-template",
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"private": true,
|
|
5
|
+
"description": "Jumentix backend template workspace app",
|
|
6
|
+
"dependencies": {
|
|
7
|
+
"@jumentix/adapter-runtime-bootstrap": "workspace:*",
|
|
8
|
+
"@jumentix/database-client-factory": "workspace:*",
|
|
9
|
+
"@jumentix/dead-letter-queue": "workspace:*",
|
|
10
|
+
"@jumentix/external-db-repositories": "workspace:*",
|
|
11
|
+
"@jumentix/external-persistence-core": "workspace:*",
|
|
12
|
+
"@jumentix/external-store-proxy": "workspace:*",
|
|
13
|
+
"@jumentix/key-value-storage": "workspace:*",
|
|
14
|
+
"@jumentix/message-mediator": "workspace:*",
|
|
15
|
+
"@jumentix/mutex-service": "workspace:*",
|
|
16
|
+
"@jumentix/persistence-contracts": "workspace:*",
|
|
17
|
+
"@jumentix/sdk-grpc-client": "workspace:*"
|
|
18
|
+
},
|
|
19
|
+
"scripts": {
|
|
20
|
+
"build": "NODE_ENV=dev tsc -p ../../tsconfig.build.json",
|
|
21
|
+
"build:dev": "NODE_ENV=dev tsc -p ../../tsconfig.build.json",
|
|
22
|
+
"test": "NODE_ENV=dev bun ../../ci-cd/run-unit-tests.js",
|
|
23
|
+
"test:unit": "NODE_ENV=dev bun ../../ci-cd/run-unit-tests.js",
|
|
24
|
+
"test:integration": "NODE_ENV=dev jest ./test/integration --runInBand",
|
|
25
|
+
"test:integration:smoke": "JUMENTIX_JWT_TOKEN_SECRET_KEY=${JUMENTIX_JWT_TOKEN_SECRET_KEY:-ci_jwt_secret_key} NODE_ENV=ci bun ./scripts/run-api-smoke.js",
|
|
26
|
+
"lint": "eslint src test --ext .ts",
|
|
27
|
+
"coverage:patch": "bun ../../ci-cd/check-patch-coverage.js",
|
|
28
|
+
"ci:gate": "bun --cwd ../.. run ci:gate",
|
|
29
|
+
"ci:gate:strict": "bun --cwd ../.. run ci:gate:strict",
|
|
30
|
+
"typecheck": "NODE_ENV=dev tsc -p ../../tsconfig.build.json --noEmit",
|
|
31
|
+
"dev:rest": "bun --cwd ../.. run dev:http",
|
|
32
|
+
"dev:websocket-rest": "bun --cwd ../.. run dev:websocket",
|
|
33
|
+
"dev:grpc-rest": "bun --cwd ../.. run dev:grpc",
|
|
34
|
+
"pm2:start:dev:restapi": "bun --cwd ../.. run pm2:start:dev:restapi",
|
|
35
|
+
"pm2:start:dev:websocket-rest": "bun --cwd ../.. run pm2:start:dev:websocket-rest",
|
|
36
|
+
"pm2:start:dev:grpc-rest": "bun --cwd ../.. run pm2:start:dev:grpc-rest",
|
|
37
|
+
"pm2:start:staging:restapi": "bun --cwd ../.. run pm2:start:staging:restapi",
|
|
38
|
+
"pm2:start:staging:websocket-rest": "bun --cwd ../.. run pm2:start:staging:websocket-rest",
|
|
39
|
+
"pm2:start:staging:grpc-rest": "bun --cwd ../.. run pm2:start:staging:grpc-rest",
|
|
40
|
+
"pm2:start:prod:restapi": "bun --cwd ../.. run pm2:start:prod:restapi",
|
|
41
|
+
"pm2:start:prod:websocket-rest": "bun --cwd ../.. run pm2:start:prod:websocket-rest",
|
|
42
|
+
"pm2:start:prod:grpc-rest": "bun --cwd ../.. run pm2:start:prod:grpc-rest"
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
/**
|
|
3
|
+
* JUM-822 — opt-in tombstone purge. Default is dry-run (stdout JSONL, no write).
|
|
4
|
+
* dev PM2 calls this with --via-loopback so the dev RestAPI process owns the store.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
const parseArgs = (argv) => {
|
|
8
|
+
const flags = {
|
|
9
|
+
commit: false,
|
|
10
|
+
protectSeed: true,
|
|
11
|
+
viaLoopback: false,
|
|
12
|
+
olderThan: 90,
|
|
13
|
+
port: Number(process.env.JUMENTIX_HTTP_PORT || 3000)
|
|
14
|
+
};
|
|
15
|
+
for (let i = 0; i < argv.length; i += 1) {
|
|
16
|
+
const arg = argv[i];
|
|
17
|
+
if (arg === '--commit') flags.commit = true;
|
|
18
|
+
else if (arg === '--dry-run') flags.commit = false;
|
|
19
|
+
else if (arg === '--no-protect-seed') flags.protectSeed = false;
|
|
20
|
+
else if (arg === '--protect-seed') flags.protectSeed = true;
|
|
21
|
+
else if (arg === '--via-loopback') flags.viaLoopback = true;
|
|
22
|
+
else if (arg === '--older-than') {
|
|
23
|
+
flags.olderThan = Number(argv[i + 1]);
|
|
24
|
+
i += 1;
|
|
25
|
+
} else if (arg === '--port') {
|
|
26
|
+
flags.port = Number(argv[i + 1]);
|
|
27
|
+
i += 1;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
if (!Number.isFinite(flags.olderThan) || flags.olderThan < 1) {
|
|
31
|
+
throw new Error('--older-than must be a positive number of days');
|
|
32
|
+
}
|
|
33
|
+
return flags;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const printReport = (report) => {
|
|
37
|
+
for (const event of report.events || []) {
|
|
38
|
+
process.stdout.write(`${JSON.stringify(event)}\n`);
|
|
39
|
+
}
|
|
40
|
+
process.stdout.write(`${JSON.stringify({
|
|
41
|
+
summary: true,
|
|
42
|
+
dryRun: report.dryRun,
|
|
43
|
+
olderThanDays: report.olderThanDays,
|
|
44
|
+
eligible: (report.events || []).length,
|
|
45
|
+
skippedProtected: report.skippedProtected,
|
|
46
|
+
skippedTooYoung: report.skippedTooYoung
|
|
47
|
+
})}\n`);
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
const viaLoopback = async (flags) => {
|
|
51
|
+
const url = `http://127.0.0.1:${flags.port}/internal/tombstones/purge`;
|
|
52
|
+
const response = await fetch(url, {
|
|
53
|
+
method: 'POST',
|
|
54
|
+
headers: { 'content-type': 'application/json' },
|
|
55
|
+
body: JSON.stringify({
|
|
56
|
+
commit: flags.commit,
|
|
57
|
+
olderThanDays: flags.olderThan,
|
|
58
|
+
protectSeed: flags.protectSeed
|
|
59
|
+
})
|
|
60
|
+
});
|
|
61
|
+
if (!response.ok) {
|
|
62
|
+
const text = await response.text();
|
|
63
|
+
throw new Error(`Purge loopback ${response.status}: ${text}`);
|
|
64
|
+
}
|
|
65
|
+
return response.json();
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
const main = async () => {
|
|
69
|
+
const flags = parseArgs(process.argv.slice(2));
|
|
70
|
+
if (!flags.viaLoopback) {
|
|
71
|
+
throw new Error(
|
|
72
|
+
'In-process dev stores live in the RestAPI process. Use --via-loopback against dev RestAPI.'
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
const report = await viaLoopback(flags);
|
|
76
|
+
printReport(report);
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
if (import.meta.main) {
|
|
80
|
+
main().catch((error) => {
|
|
81
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
82
|
+
if (message.includes('ECONNREFUSED') || message.includes('fetch failed')) {
|
|
83
|
+
process.stderr.write(`purge-tombstones: RestAPI not reachable (${message})\n`);
|
|
84
|
+
process.exit(0);
|
|
85
|
+
}
|
|
86
|
+
process.stderr.write(`${message}\n`);
|
|
87
|
+
process.exit(1);
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export { parseArgs, printReport };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/* eslint-disable no-console */
|
|
2
|
+
const fs = require('fs');
|
|
3
|
+
const path = require('path');
|
|
4
|
+
const { spawnSync } = require('child_process');
|
|
5
|
+
|
|
6
|
+
const CANDIDATE_SMOKE_TESTS = [
|
|
7
|
+
'apps/backend-template/test/integration/Express/get.localhost.test.ts',
|
|
8
|
+
'test/integration/Express/get.localhost.test.ts'
|
|
9
|
+
];
|
|
10
|
+
|
|
11
|
+
function run() {
|
|
12
|
+
const root = process.cwd();
|
|
13
|
+
const testFile = CANDIDATE_SMOKE_TESTS.find((target) => fs.existsSync(path.join(root, target)));
|
|
14
|
+
|
|
15
|
+
if (!testFile) {
|
|
16
|
+
console.error('[ci] api smoke: missing localhost smoke test file.');
|
|
17
|
+
console.error(`[ci] expected one of: ${CANDIDATE_SMOKE_TESTS.join(', ')}`);
|
|
18
|
+
process.exit(1);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
console.log(`[ci] api smoke target: ${testFile}`);
|
|
22
|
+
|
|
23
|
+
const result = spawnSync('jest', [testFile, '--runInBand', '--coverage=false'], {
|
|
24
|
+
stdio: 'inherit',
|
|
25
|
+
env: { ...process.env, NODE_ENV: process.env.NODE_ENV || 'ci' }
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
if (result.status !== 0) {
|
|
29
|
+
process.exit(result.status || 1);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
run();
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
/* eslint-disable no-console */
|
|
3
|
+
/**
|
|
4
|
+
* Runs the dead-letter Redis integration suite against docker-compose-redis.
|
|
5
|
+
*
|
|
6
|
+
* JUM-53. Shares `passwordFromCompose` with the key-value runner rather than
|
|
7
|
+
* copying it: the reason that function exists — keeping the local requirepass
|
|
8
|
+
* out of package.json, where gitleaks finds it — applies identically here.
|
|
9
|
+
*/
|
|
10
|
+
const path = require('node:path');
|
|
11
|
+
const { spawnSync } = require('node:child_process');
|
|
12
|
+
const { isEntryPoint } = require('../../../ci-cd/lib/entry-point.js');
|
|
13
|
+
const { passwordFromCompose } = require('./run-redis-key-value-integration.js');
|
|
14
|
+
|
|
15
|
+
const ROOT = process.cwd();
|
|
16
|
+
|
|
17
|
+
function run() {
|
|
18
|
+
const env = { ...process.env, NODE_ENV: 'dev', RUN_REDIS_INTEGRATION: '1' };
|
|
19
|
+
if (!env.JUMENTIX_REDIS_PASSWORD) {
|
|
20
|
+
env.JUMENTIX_REDIS_PASSWORD = env.AAA_REDIS_PASSWORD || passwordFromCompose();
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const result = spawnSync(
|
|
24
|
+
process.execPath,
|
|
25
|
+
[
|
|
26
|
+
path.join(ROOT, 'ci-cd/run-suite.js'),
|
|
27
|
+
'--script-label',
|
|
28
|
+
'dead-letter',
|
|
29
|
+
'packages/dead-letter-queue/test/integration'
|
|
30
|
+
],
|
|
31
|
+
{ cwd: ROOT, env, stdio: 'inherit' }
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
if (result.error) throw result.error;
|
|
35
|
+
return typeof result.status === 'number' ? result.status : 1;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (isEntryPoint(module)) {
|
|
39
|
+
process.exit(run());
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
module.exports = { run };
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
/* eslint-disable no-console */
|
|
3
|
+
/**
|
|
4
|
+
* Runs the Redis key-value integration suite against docker-compose-redis.
|
|
5
|
+
*
|
|
6
|
+
* The compose file already carries the local requirepass (since 2024). Putting
|
|
7
|
+
* that same value into package.json scripts re-introduced it into the PR diff
|
|
8
|
+
* and failed gitleaks. This runner copies the password from the compose file
|
|
9
|
+
* into JUMENTIX_REDIS_PASSWORD only when the env var is unset, so package.json
|
|
10
|
+
* never embeds a secret and CI can still override via secrets. The legacy
|
|
11
|
+
* AAA_REDIS_PASSWORD name is still accepted as a fallback for older shells.
|
|
12
|
+
*/
|
|
13
|
+
const fs = require('node:fs');
|
|
14
|
+
const path = require('node:path');
|
|
15
|
+
const { spawnSync } = require('node:child_process');
|
|
16
|
+
const { isEntryPoint } = require('../../../ci-cd/lib/entry-point.js');
|
|
17
|
+
|
|
18
|
+
const ROOT = process.cwd();
|
|
19
|
+
const COMPOSE = path.join(
|
|
20
|
+
ROOT,
|
|
21
|
+
'apps/backend-template/docker-compose-redis.yml'
|
|
22
|
+
);
|
|
23
|
+
const REQUIREPASS = /--requirepass\s+(\S+)/;
|
|
24
|
+
|
|
25
|
+
function passwordFromCompose(composePath = COMPOSE) {
|
|
26
|
+
const contents = fs.readFileSync(composePath, 'utf8');
|
|
27
|
+
const match = REQUIREPASS.exec(contents);
|
|
28
|
+
if (!match) {
|
|
29
|
+
throw new Error(
|
|
30
|
+
`[redis-integration] could not read --requirepass from ${composePath}`
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
return match[1];
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function run() {
|
|
37
|
+
const env = { ...process.env, NODE_ENV: 'dev', RUN_REDIS_INTEGRATION: '1' };
|
|
38
|
+
if (!env.JUMENTIX_REDIS_PASSWORD) {
|
|
39
|
+
env.JUMENTIX_REDIS_PASSWORD =
|
|
40
|
+
env.AAA_REDIS_PASSWORD || passwordFromCompose();
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const result = spawnSync(
|
|
44
|
+
process.execPath,
|
|
45
|
+
[
|
|
46
|
+
path.join(ROOT, 'ci-cd/run-suite.js'),
|
|
47
|
+
'--script-label',
|
|
48
|
+
'key-value',
|
|
49
|
+
'packages/key-value-storage/test/integration'
|
|
50
|
+
],
|
|
51
|
+
{ cwd: ROOT, env, stdio: 'inherit' }
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
if (result.error) throw result.error;
|
|
55
|
+
return typeof result.status === 'number' ? result.status : 1;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if (isEntryPoint(module)) {
|
|
59
|
+
process.exit(run());
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
module.exports = { passwordFromCompose, run };
|