@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,77 @@
|
|
|
1
|
+
import {
|
|
2
|
+
_VALIDATION_ERROR_NAME_,
|
|
3
|
+
_DOMAIN_VALIDATION_ERROR_NAME_,
|
|
4
|
+
_FORBIDDEN_ERROR_NAME_,
|
|
5
|
+
_NOT_FOUND_ERROR_NAME_,
|
|
6
|
+
_DOMAIN_NOT_FOUND_ERROR_NAME_,
|
|
7
|
+
_DATABASE_NOT_FOUND_ERROR_NAME_,
|
|
8
|
+
_DATABASE_CONFLICT_ERROR_NAME_,
|
|
9
|
+
_EVENT_INVALID_MESSAGE_,
|
|
10
|
+
_UNAUTHORIZED_ERROR_NAME_,
|
|
11
|
+
_INFRA_NOT_IMPLEMENTED_,
|
|
12
|
+
_DATABASE_PAGING_ERROR_,
|
|
13
|
+
_LOCKED_RESOURCE_ERROR_NAME_
|
|
14
|
+
|
|
15
|
+
} from '@src/config/constants';
|
|
16
|
+
import { BaseError, EErrorNumberCodes, EErrorStringCodes } from '@src/infra/exceptions';
|
|
17
|
+
|
|
18
|
+
export function replaceVars(path: string): string {
|
|
19
|
+
return path.toString().replace(/{/g, ':').replace(/}/g, '');
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export function toHttpStatus(stringCode: EErrorStringCodes): number {
|
|
23
|
+
return EErrorNumberCodes[stringCode as any] as unknown as number;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export function formatErrorMessage(error: BaseError) {
|
|
27
|
+
let message: string = '';
|
|
28
|
+
if (
|
|
29
|
+
error.name === _VALIDATION_ERROR_NAME_
|
|
30
|
+
|| error.name === _DOMAIN_VALIDATION_ERROR_NAME_
|
|
31
|
+
|| error.name === _EVENT_INVALID_MESSAGE_
|
|
32
|
+
|| error.name === _DATABASE_PAGING_ERROR_
|
|
33
|
+
) {
|
|
34
|
+
message = `Bad Request - ${error.message}`;
|
|
35
|
+
} else if (error.name === _FORBIDDEN_ERROR_NAME_) {
|
|
36
|
+
message = `Forbidden - ${error.message}`;
|
|
37
|
+
} else if (error.name === _UNAUTHORIZED_ERROR_NAME_) {
|
|
38
|
+
message = `Unauthorized - ${error.message}`;
|
|
39
|
+
} else if (error.name === _LOCKED_RESOURCE_ERROR_NAME_) {
|
|
40
|
+
message = `Locked - ${error.message}`;
|
|
41
|
+
} else if (
|
|
42
|
+
error.name === _NOT_FOUND_ERROR_NAME_
|
|
43
|
+
|| error.name === _DOMAIN_NOT_FOUND_ERROR_NAME_
|
|
44
|
+
|| error.name === _DATABASE_NOT_FOUND_ERROR_NAME_
|
|
45
|
+
) {
|
|
46
|
+
message = `Not Found - ${error.message}`;
|
|
47
|
+
} else if (error.name === _DATABASE_CONFLICT_ERROR_NAME_) {
|
|
48
|
+
message = `Conflict - ${error.message}`;
|
|
49
|
+
} else if (error.name === _INFRA_NOT_IMPLEMENTED_) {
|
|
50
|
+
message = `Not Implemented - ${error.message}`;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return message;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export function isProductionEnv(env: NodeJS.ProcessEnv = process.env): boolean {
|
|
57
|
+
const nodeEnv = String(env.NODE_ENV || '').trim().toLowerCase();
|
|
58
|
+
return nodeEnv === 'prod' || nodeEnv === 'production';
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export function shouldExposeInternalErrors(env: NodeJS.ProcessEnv = process.env): boolean {
|
|
62
|
+
return !isProductionEnv(env);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export function buildErrorResponsePayload(
|
|
66
|
+
error: BaseError,
|
|
67
|
+
env: NodeJS.ProcessEnv = process.env
|
|
68
|
+
): Record<string, unknown> {
|
|
69
|
+
const payload: Record<string, unknown> = {
|
|
70
|
+
message: formatErrorMessage(error),
|
|
71
|
+
correlationId: error.correlationId || undefined
|
|
72
|
+
};
|
|
73
|
+
if (shouldExposeInternalErrors(env)) {
|
|
74
|
+
payload.error = error;
|
|
75
|
+
}
|
|
76
|
+
return payload;
|
|
77
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import {
|
|
2
|
+
_PASSWORD_MIN_LENGTH_
|
|
3
|
+
} from '@src/config/constants';
|
|
4
|
+
import { DomainNotFoundError, DomainValidationError } from '@src/infra/exceptions';
|
|
5
|
+
import { readProductEnv } from '@src/interface/runtime/RuntimeEnvironment';
|
|
6
|
+
|
|
7
|
+
export function throwIfNotFound(found: boolean) {
|
|
8
|
+
if (!found) {
|
|
9
|
+
throw new DomainNotFoundError('Record not found');
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export function throwIfValuesAreDifferent(values: any[]) {
|
|
14
|
+
const set = new Set(values);
|
|
15
|
+
if (set.size === values.length) {
|
|
16
|
+
throw new DomainValidationError('The provided values are different');
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export function throwIfIsNotObject(field: string, value: any) {
|
|
21
|
+
if (
|
|
22
|
+
(typeof value !== 'object')
|
|
23
|
+
|| (typeof value === 'object' && Array.isArray(value))
|
|
24
|
+
) {
|
|
25
|
+
throw new DomainValidationError(`The property ${field} must be an object`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export function canNotWriteDirectly(field: string) {
|
|
30
|
+
throw new DomainValidationError(`The property ${field} can not be directly changed`);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export function mustBeNumeric(field: string, value: number) {
|
|
34
|
+
if (typeof value !== 'number') throw new DomainValidationError(`${field} must be a number`);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export function mustBePassword(field: string, value: string) {
|
|
38
|
+
if (typeof value !== 'string') {
|
|
39
|
+
throw new DomainValidationError(`${field} must be a string.`);
|
|
40
|
+
}
|
|
41
|
+
if (value.length < _PASSWORD_MIN_LENGTH_) {
|
|
42
|
+
throw new DomainValidationError(`${field} must have at least 8 chars.`);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const strictPasswordPolicy = String(readProductEnv(process.env, 'JUMENTIX_STRICT_PASSWORD_POLICY') || '').toLowerCase() === 'yes';
|
|
46
|
+
if (!strictPasswordPolicy) return;
|
|
47
|
+
|
|
48
|
+
if (!/[A-Z]/.test(value)) throw new DomainValidationError(`${field} must include at least one uppercase letter.`);
|
|
49
|
+
if (!/[a-z]/.test(value)) throw new DomainValidationError(`${field} must include at least one lowercase letter.`);
|
|
50
|
+
if (!/[0-9]/.test(value)) throw new DomainValidationError(`${field} must include at least one number.`);
|
|
51
|
+
if (!/[^A-Za-z0-9]/.test(value)) throw new DomainValidationError(`${field} must include at least one symbol.`);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export function mustBeArray<T>(field: string, value: T[]) {
|
|
55
|
+
if (!Array.isArray(value)) throw new DomainValidationError(`${field} must be an array`);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export function mustBeGreaterThanZero(field: string, value: number) {
|
|
59
|
+
let msg = '';
|
|
60
|
+
if (typeof value !== 'number') {
|
|
61
|
+
msg = `${field} must be a number.`;
|
|
62
|
+
}
|
|
63
|
+
if (value <= 0) {
|
|
64
|
+
msg = `${field} must be greater than 0`;
|
|
65
|
+
}
|
|
66
|
+
if (msg !== '') {
|
|
67
|
+
throw new DomainValidationError(msg);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export function mustBePositiveNumber(field: string, value: number) {
|
|
72
|
+
let msg = '';
|
|
73
|
+
if (typeof value !== 'number') {
|
|
74
|
+
msg = `${field} must be a number.`;
|
|
75
|
+
}
|
|
76
|
+
if (value < 0) {
|
|
77
|
+
msg = `${field} must be a positive number`;
|
|
78
|
+
}
|
|
79
|
+
if (msg !== '') {
|
|
80
|
+
throw new DomainValidationError(msg);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export function throwIfReadOnly(field: string, value: boolean) {
|
|
85
|
+
if (value) throw new DomainValidationError(`Can not write to ${field}. The model is read only`);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export function throwIfPreUpdateValidationFails(id: string, data: any) {
|
|
89
|
+
let errorMessage = '';
|
|
90
|
+
if (id !== data.id) {
|
|
91
|
+
errorMessage = 'id and data.id must match';
|
|
92
|
+
}
|
|
93
|
+
if (errorMessage !== '') {
|
|
94
|
+
throw new DomainValidationError(errorMessage);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export function canNotBeEmpty(field: string, value: any) {
|
|
99
|
+
const msg = `${field} can not be empty`;
|
|
100
|
+
if (typeof value === 'undefined') throw new DomainValidationError(msg);
|
|
101
|
+
if (value === null) throw new DomainValidationError(msg);
|
|
102
|
+
|
|
103
|
+
if (typeof value === 'string') if (value === '') throw new DomainValidationError(msg);
|
|
104
|
+
|
|
105
|
+
if (typeof value === 'object' && (!Array.isArray(value))) {
|
|
106
|
+
if (Object.keys(value).length === 0) throw new DomainValidationError(msg);
|
|
107
|
+
} else if (typeof value === 'object' && (Array.isArray(value))) {
|
|
108
|
+
if (value.length === 0) throw new DomainValidationError(msg);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
export function mustEndsAtLeastInMinutes(_eventDate: Date, minutesIntheFuture: number): void {
|
|
112
|
+
const error = new DomainValidationError(`Event must ends in at least ${minutesIntheFuture} minutes in the future`);
|
|
113
|
+
const eventDate = new Date(_eventDate);
|
|
114
|
+
const dateNow = new Date();
|
|
115
|
+
const minimumFutureWindowMs = minutesIntheFuture * 60 * 1000;
|
|
116
|
+
const diffMs = eventDate.getTime() - dateNow.getTime();
|
|
117
|
+
if (Number.isNaN(diffMs) || diffMs < minimumFutureWindowMs) throw error;
|
|
118
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Editor configuration, see http://editorconfig.org
|
|
2
|
+
root = true
|
|
3
|
+
|
|
4
|
+
[*]
|
|
5
|
+
charset = utf-8
|
|
6
|
+
end_of_line = lf
|
|
7
|
+
indent_size = 2
|
|
8
|
+
indent_style = space
|
|
9
|
+
insert_final_newline = true
|
|
10
|
+
trim_trailing_whitespace = true
|
|
11
|
+
|
|
12
|
+
[*.md]
|
|
13
|
+
max_line_length = off
|
|
14
|
+
trim_trailing_whitespace = false
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# @jumentix/frontend
|
|
2
|
+
|
|
3
|
+
Seed for the frontends the Jumentix factory generates — the *Hybrid Backend + Frontend* and
|
|
4
|
+
*Frontend-only SPA/PWA* modes of the service factory matrix. An OAS-driven enterprise admin SPA
|
|
5
|
+
(Vue 3 + Vite + CoreUI + Pinia) over the Users / Organizations domain of `apps/backend-template`.
|
|
6
|
+
|
|
7
|
+
A versão em português está em [README.pt-BR.md](./README.pt-BR.md).
|
|
8
|
+
Full technical description: [Frontend Seed and the X-CRUD Kit](../../documentation/md/FRONTEND-SEED-AND-XCRUD.md).
|
|
9
|
+
|
|
10
|
+
## Contract boundary (Requirement 136)
|
|
11
|
+
|
|
12
|
+
The frontend knows the backend **only through its OpenAPI document**. `scripts/sync-contracts.mjs`
|
|
13
|
+
bakes `spec/1.0.0.yml` into `src/contracts/openapi.json` (`predev`/`prebuild`); the SDK
|
|
14
|
+
`@jumentix/sdk-rest-client` is the only HTTP channel. Importing from `apps/backend-template/**`
|
|
15
|
+
— even type-only — is forbidden and caught by `arch:check-workspace-boundaries`.
|
|
16
|
+
|
|
17
|
+
## What renders from the contract
|
|
18
|
+
|
|
19
|
+
- **Forms** from `components.schemas` (`type`, `format`, `required`, lengths, `enum`, `pattern`,
|
|
20
|
+
`default`, `nullable`); `x-hide` keeps a property out of every form.
|
|
21
|
+
- **Labels** from `x-label` (`{ en, 'pt-BR' }`) → `title` → humanized name; `description` is help
|
|
22
|
+
text under the control.
|
|
23
|
+
- **Validation** from `x-validation` (CPF mod-11, SSN, BR/US phones, pattern caps) before any HTTP.
|
|
24
|
+
- **References** from `x-references`: selects show the referenced label and emit the id; arrays
|
|
25
|
+
of ids (organization members) resolve to labels too.
|
|
26
|
+
- **RBAC** from `info.x-rbac` + per-operation `security`: routes, nav items and buttons follow the
|
|
27
|
+
signed-in roles; the backend enforces.
|
|
28
|
+
- **Lists** from `x-list-capabilities`: the X-CRUD kit asks the server for pages
|
|
29
|
+
([Paginated List Contract](../../documentation/md/PAGINATED-LIST-CONTRACT.md)) and renders sort,
|
|
30
|
+
filter and search only for the declared fields; without the extension it falls back to memory.
|
|
31
|
+
|
|
32
|
+
## Surface
|
|
33
|
+
|
|
34
|
+
- **Auth** — login/register built from `RequestLogin`/`RequestRegister`; unauthenticated users go
|
|
35
|
+
to `/login`; scope-guarded routes (`meta.operationId`); a rejected session drops to `/login`.
|
|
36
|
+
- **Dashboard** — real totals from the list envelopes and the signed-in roles/organization; an
|
|
37
|
+
honest "no access" for roles without read scope.
|
|
38
|
+
- **Users / Organizations** — X-CRUD sub-apps: server-side listing (search, per-column filters,
|
|
39
|
+
sort, pager or scroll), row detail with one tab per array field, create/update/preview forms
|
|
40
|
+
with array editors, bulk delete, export, column visibility, aggregates.
|
|
41
|
+
- **Profile** — scalars, emails, documents, phones from the OAS sub-resource schemas.
|
|
42
|
+
- **i18n** — `en` and `pt-BR`, switchable from the account menu, persisted per browser.
|
|
43
|
+
|
|
44
|
+
## Layout
|
|
45
|
+
|
|
46
|
+
```text
|
|
47
|
+
src/contracts/ OAS engine: formSchema, oasForm, validation, labels, listSchema, rbac,
|
|
48
|
+
apiClient, appOperations, errors, openapi.json (generated)
|
|
49
|
+
src/components/ OasFormField, SearchableEnumInput, x-crud/* (XCrud, grid, toolbar, forms,
|
|
50
|
+
row detail, array editor, reference input, panels, chart, useXCrud)
|
|
51
|
+
src/features/ auth, dashboard, profile, users, organizations
|
|
52
|
+
src/stores/ auth, profile, network, entityStore, sidebar, theme
|
|
53
|
+
src/i18n/ messages (en, pt-BR), t(), localized(), useI18n()
|
|
54
|
+
template/ frozen CoreUI catalog — reference only, never imported
|
|
55
|
+
test/unit bun:test — contract engine, stores, router, kit state
|
|
56
|
+
test/component @vue/test-utils + happy-dom mounting the shipped .vue components
|
|
57
|
+
cypress/e2e Cypress against the containerised backend (e2e/docker-compose.yml)
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Commands
|
|
61
|
+
|
|
62
|
+
```sh
|
|
63
|
+
bun install # from the monorepo root
|
|
64
|
+
bun run dev # vite on :3001, /api proxied to :3010
|
|
65
|
+
# VITE_DEV_PORT / VITE_API_PROXY_TARGET override both
|
|
66
|
+
bun run build # vite build
|
|
67
|
+
bun run test # unit + component suites
|
|
68
|
+
bun run test:coverage # writes coverage/frontend/lcov.info (root: frontend:coverage:check)
|
|
69
|
+
bun run test:e2e # Docker backend + Vite + Cypress (Chrome headless by default)
|
|
70
|
+
bun run typecheck && bun run lint
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Seeded dev accounts: `eduardo@xpertminds.dev` / `eduardo@123456` (superadmin),
|
|
74
|
+
`admin@xpertminds.dev` / `admin@123456`, `user@xpertminds.dev` / `user@123456`.
|
|
75
|
+
|
|
76
|
+
Agent rules for this workspace: [AGENTS.md](./AGENTS.md).
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# @jumentix/frontend
|
|
2
|
+
|
|
3
|
+
Seed dos frontends que a fábrica Jumentix gera — os modos *Hybrid Backend + Frontend* e
|
|
4
|
+
*Frontend-only SPA/PWA* da matriz da fábrica. Uma SPA administrativa enterprise dirigida pela OAS
|
|
5
|
+
(Vue 3 + Vite + CoreUI + Pinia) sobre o domínio Users / Organizations do `apps/backend-template`.
|
|
6
|
+
|
|
7
|
+
The English version is at [README.md](./README.md).
|
|
8
|
+
Descrição técnica completa: [Seed de Frontend e o Kit X-CRUD](../../documentation/md/FRONTEND-SEED-AND-XCRUD.pt-BR.md).
|
|
9
|
+
|
|
10
|
+
## Fronteira de contrato (Requisito 136)
|
|
11
|
+
|
|
12
|
+
O frontend conhece o backend **só pelo documento OpenAPI**. `scripts/sync-contracts.mjs` grava
|
|
13
|
+
`spec/1.0.0.yml` em `src/contracts/openapi.json` (`predev`/`prebuild`); o SDK
|
|
14
|
+
`@jumentix/sdk-rest-client` é o único canal HTTP. Importar de `apps/backend-template/**` — mesmo
|
|
15
|
+
type-only — é proibido e pego por `arch:check-workspace-boundaries`.
|
|
16
|
+
|
|
17
|
+
## O que renderiza a partir do contrato
|
|
18
|
+
|
|
19
|
+
- **Formulários** de `components.schemas` (`type`, `format`, `required`, tamanhos, `enum`,
|
|
20
|
+
`pattern`, `default`, `nullable`); `x-hide` tira a propriedade de todo formulário.
|
|
21
|
+
- **Rótulos** de `x-label` (`{ en, 'pt-BR' }`) → `title` → nome humanizado; `description` é texto
|
|
22
|
+
de ajuda sob o controle.
|
|
23
|
+
- **Validação** de `x-validation` (CPF mod-11, SSN, telefones BR/US, limites de pattern) antes de
|
|
24
|
+
qualquer HTTP.
|
|
25
|
+
- **Referências** de `x-references`: selects mostram o label referenciado e emitem o id; arrays de
|
|
26
|
+
ids (membros de organização) também resolvem para labels.
|
|
27
|
+
- **RBAC** de `info.x-rbac` + `security` por operação: rotas, itens de menu e botões seguem os
|
|
28
|
+
papéis logados; o backend aplica.
|
|
29
|
+
- **Listagens** de `x-list-capabilities`: o kit X-CRUD pede páginas ao servidor
|
|
30
|
+
([Contrato de Listagem Paginada](../../documentation/md/PAGINATED-LIST-CONTRACT.pt-BR.md)) e
|
|
31
|
+
renderiza ordenação, filtro e busca só para os campos declarados; sem a extensão, volta ao modo
|
|
32
|
+
memória.
|
|
33
|
+
|
|
34
|
+
## Superfície
|
|
35
|
+
|
|
36
|
+
- **Auth** — login/cadastro montados de `RequestLogin`/`RequestRegister`; não autenticado vai para
|
|
37
|
+
`/login`; rotas com guarda de escopo (`meta.operationId`); sessão rejeitada cai em `/login`.
|
|
38
|
+
- **Dashboard** — totais reais dos envelopes de listagem e os papéis/organização logados; "sem
|
|
39
|
+
acesso" honesto para papéis sem escopo de leitura.
|
|
40
|
+
- **Users / Organizations** — sub-apps X-CRUD: listagem no servidor (busca, filtros por coluna,
|
|
41
|
+
ordenação, pager ou scroll), row detail com uma tab por campo array, formulários
|
|
42
|
+
create/update/preview com editores de array, exclusão em massa, exportação, visibilidade de
|
|
43
|
+
colunas, agregadores.
|
|
44
|
+
- **Perfil** — escalares, e-mails, documentos, telefones a partir dos schemas de sub-recurso.
|
|
45
|
+
- **i18n** — `en` e `pt-BR`, trocável no menu da conta, persistido por navegador.
|
|
46
|
+
|
|
47
|
+
## Layout
|
|
48
|
+
|
|
49
|
+
```text
|
|
50
|
+
src/contracts/ motor OAS: formSchema, oasForm, validation, labels, listSchema, rbac,
|
|
51
|
+
apiClient, appOperations, errors, openapi.json (gerado)
|
|
52
|
+
src/components/ OasFormField, SearchableEnumInput, x-crud/* (XCrud, grid, toolbar, forms,
|
|
53
|
+
row detail, array editor, reference input, panels, chart, useXCrud)
|
|
54
|
+
src/features/ auth, dashboard, profile, users, organizations
|
|
55
|
+
src/stores/ auth, profile, network, entityStore, sidebar, theme
|
|
56
|
+
src/i18n/ messages (en, pt-BR), t(), localized(), useI18n()
|
|
57
|
+
template/ catálogo CoreUI congelado — só referência, nunca importado
|
|
58
|
+
test/unit bun:test — motor de contratos, stores, router, estado do kit
|
|
59
|
+
test/component @vue/test-utils + happy-dom montando os .vue reais
|
|
60
|
+
cypress/e2e Cypress contra o backend em contêiner (e2e/docker-compose.yml)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Comandos
|
|
64
|
+
|
|
65
|
+
```sh
|
|
66
|
+
bun install # na raiz do monorepo
|
|
67
|
+
bun run dev # vite em :3001, /api em proxy para :3010
|
|
68
|
+
# VITE_DEV_PORT / VITE_API_PROXY_TARGET sobrescrevem
|
|
69
|
+
bun run build # vite build
|
|
70
|
+
bun run test # suítes unit + component
|
|
71
|
+
bun run test:coverage # grava coverage/frontend/lcov.info (raiz: frontend:coverage:check)
|
|
72
|
+
bun run test:e2e # backend em Docker + Vite + Cypress (Chrome headless por padrão)
|
|
73
|
+
bun run typecheck && bun run lint
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Contas seed de dev: `eduardo@xpertminds.dev` / `eduardo@123456` (superadmin),
|
|
77
|
+
`admin@xpertminds.dev` / `admin@123456`, `user@xpertminds.dev` / `user@123456`.
|
|
78
|
+
|
|
79
|
+
Regras para agentes neste workspace: [AGENTS.md](./AGENTS.md).
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { accounts } from '../support/e2e';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* JUM-776 — authentication against the real backend: login, RBAC-driven
|
|
5
|
+
* navigation per role, unauthenticated redirect, logout.
|
|
6
|
+
*/
|
|
7
|
+
describe('authentication', () => {
|
|
8
|
+
it('redirects an unauthenticated visitor to /login and shows the OAS-driven form', () => {
|
|
9
|
+
cy.visit('/#/users');
|
|
10
|
+
cy.location('hash').should('eq', '#/login');
|
|
11
|
+
cy.get('label[for="oas-field-username"]').should('contain', 'Username');
|
|
12
|
+
cy.get('#oas-field-schemaType').should('not.exist');
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
it('shows the contract error for wrong credentials without leaving the page', () => {
|
|
16
|
+
cy.visit('/#/login');
|
|
17
|
+
cy.get('#oas-field-username').type(accounts.user.username);
|
|
18
|
+
cy.get('#oas-field-password').type('wrong-password');
|
|
19
|
+
cy.get('form').submit();
|
|
20
|
+
cy.get('[role="alert"]').should('be.visible');
|
|
21
|
+
cy.location('hash').should('eq', '#/login');
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
it('signs in each seeded role and the sidebar reflects its scopes', () => {
|
|
25
|
+
cy.login('superadmin');
|
|
26
|
+
cy.get('.sidebar-nav').should('contain', 'Users');
|
|
27
|
+
cy.get('[data-module-tabs]').should('contain', 'Organizations');
|
|
28
|
+
|
|
29
|
+
cy.login('admin');
|
|
30
|
+
cy.get('.sidebar-nav').should('contain', 'Users');
|
|
31
|
+
cy.get('[data-module-tabs]').should('contain', 'Organizations');
|
|
32
|
+
|
|
33
|
+
cy.login('user');
|
|
34
|
+
cy.get('.sidebar-nav').should('contain', 'Users').and('not.contain', 'Organizations');
|
|
35
|
+
cy.get('[data-module-tabs]').should('contain', 'Users').and('not.contain', 'Organizations');
|
|
36
|
+
cy.visit('/#/organizations');
|
|
37
|
+
cy.location('hash').should('eq', '#/m/users/dashboard');
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
it('logs out from the account menu and lands on /login', () => {
|
|
41
|
+
cy.login('user');
|
|
42
|
+
cy.get('.header [aria-label="Account"]').click();
|
|
43
|
+
cy.contains('.dropdown-item', 'Logout').click();
|
|
44
|
+
cy.location('hash').should('eq', '#/login');
|
|
45
|
+
});
|
|
46
|
+
});
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JUM-813 — axe on the dashboard tab at the three shell viewports.
|
|
3
|
+
*/
|
|
4
|
+
const assertDashboardA11y = (width: number, height: number): void => {
|
|
5
|
+
cy.viewport(width, height);
|
|
6
|
+
cy.login('superadmin');
|
|
7
|
+
cy.get('[data-dashboard-grid]').should('exist');
|
|
8
|
+
cy.get('[data-chart-table-toggle]').first().click();
|
|
9
|
+
cy.get('[data-chart-table]').first().should('be.visible');
|
|
10
|
+
cy.injectAxe();
|
|
11
|
+
cy.checkA11y('[data-dashboard-grid]', {
|
|
12
|
+
includedImpacts: ['critical', 'serious'],
|
|
13
|
+
rules: {
|
|
14
|
+
// Chart.js canvas: numbers live in the table fallback.
|
|
15
|
+
'color-contrast': { enabled: false }
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
describe('dashboard accessibility', () => {
|
|
21
|
+
it('has no serious/critical axe violations at 375×812', () => {
|
|
22
|
+
assertDashboardA11y(375, 812);
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
it('has no serious/critical axe violations at 768×1024', () => {
|
|
26
|
+
assertDashboardA11y(768, 1024);
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
it('has no serious/critical axe violations at 1280×800', () => {
|
|
30
|
+
assertDashboardA11y(1280, 800);
|
|
31
|
+
});
|
|
32
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JUM-802 — Cana opens before the login form, with users and organizations stores.
|
|
3
|
+
*/
|
|
4
|
+
describe('offline boot', () => {
|
|
5
|
+
it('opens IndexedDB tables before login', () => {
|
|
6
|
+
cy.visit('/#/login');
|
|
7
|
+
cy.get('#oas-field-username');
|
|
8
|
+
cy.window().then(async (win) => {
|
|
9
|
+
const dbs = await win.indexedDB.databases();
|
|
10
|
+
expect(dbs.map((item) => item.name)).to.include('jumentix-frontend');
|
|
11
|
+
const stores = (win as Window & { __jumentixObjectStores?: () => string[] })
|
|
12
|
+
.__jumentixObjectStores?.() ?? [];
|
|
13
|
+
expect(stores).to.include.members(['users', 'organizations', 'meta', 'outbox']);
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JUM-808 — listings survive a failed /api after the first sync (Vite dest
|
|
3
|
+
* does not register the service worker unless VITE_PWA=1).
|
|
4
|
+
*/
|
|
5
|
+
describe('offline listings after sync', () => {
|
|
6
|
+
it('still lists users when GET /api/users fails', () => {
|
|
7
|
+
cy.login('superadmin');
|
|
8
|
+
cy.visit('/#/users');
|
|
9
|
+
cy.get('.xcrud-grid tbody tr').should('have.length.at.least', 6);
|
|
10
|
+
cy.intercept('GET', '/api/1.0.0/users?*', { forceNetworkError: true });
|
|
11
|
+
cy.get('input[aria-label="search"]').type('obama');
|
|
12
|
+
cy.get('.xcrud-grid tbody tr').should('have.length', 1);
|
|
13
|
+
cy.get('.xcrud-grid tbody tr').first().should('contain', 'Barack');
|
|
14
|
+
});
|
|
15
|
+
});
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JUM-805 — first login runs a full load behind a progress bar, then the shell.
|
|
3
|
+
*/
|
|
4
|
+
describe('offline sync', () => {
|
|
5
|
+
it('shows sync progress then the dashboard, and a second user wipes local data', () => {
|
|
6
|
+
cy.visit('/#/login');
|
|
7
|
+
cy.get('#oas-field-username').type('eduardo@xpertminds.dev');
|
|
8
|
+
cy.get('#oas-field-password').type('eduardo@123456');
|
|
9
|
+
cy.get('form').submit();
|
|
10
|
+
cy.location('hash', { timeout: 15000 }).should('be.oneOf', [
|
|
11
|
+
'#/sync',
|
|
12
|
+
'#/m/users/dashboard'
|
|
13
|
+
]);
|
|
14
|
+
cy.location('hash', { timeout: 30000 }).should('eq', '#/m/users/dashboard');
|
|
15
|
+
cy.contains('Users');
|
|
16
|
+
|
|
17
|
+
cy.get('.header [aria-label="Account"]').click();
|
|
18
|
+
cy.contains('.dropdown-item', 'Logout').click();
|
|
19
|
+
cy.get('#oas-field-username').clear().type('user@xpertminds.dev');
|
|
20
|
+
cy.get('#oas-field-password').clear().type('user@123456');
|
|
21
|
+
cy.get('form').submit();
|
|
22
|
+
cy.location('hash', { timeout: 15000 }).should('be.oneOf', [
|
|
23
|
+
'#/sync',
|
|
24
|
+
'#/m/users/dashboard'
|
|
25
|
+
]);
|
|
26
|
+
cy.location('hash', { timeout: 30000 }).should('eq', '#/m/users/dashboard');
|
|
27
|
+
});
|
|
28
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JUM-806 — local-first writes stay visible as pending when the API is down.
|
|
3
|
+
*/
|
|
4
|
+
describe('offline writes', () => {
|
|
5
|
+
it('keeps a created user locally while /api is failing', () => {
|
|
6
|
+
cy.login('superadmin');
|
|
7
|
+
cy.visit('/#/users');
|
|
8
|
+
cy.get('.xcrud-grid tbody tr').should('have.length.at.least', 6);
|
|
9
|
+
cy.goOffline();
|
|
10
|
+
const username = `offline-${Date.now()}@x.dev`;
|
|
11
|
+
cy.contains('.nav-link', 'New User').click();
|
|
12
|
+
cy.get('#oas-field-firstName').type('Offline');
|
|
13
|
+
cy.get('#oas-field-lastName').type('Row');
|
|
14
|
+
cy.get('#oas-field-username').type(username);
|
|
15
|
+
cy.get('#oas-field-password').type('e2e@123456');
|
|
16
|
+
cy.get('#oas-field-primaryEmail').type(username);
|
|
17
|
+
cy.contains('button', 'Create').click();
|
|
18
|
+
cy.get('.xcrud-grid tbody tr').contains(username);
|
|
19
|
+
});
|
|
20
|
+
});
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JUM-811/812/813 — dashboard totals and domain widgets vs the metrics contract.
|
|
3
|
+
*/
|
|
4
|
+
const backendOrigin = `http://127.0.0.1:${Cypress.env('FRONTEND_E2E_BACKEND_PORT') || '3130'}`;
|
|
5
|
+
|
|
6
|
+
describe('organizations, dashboard and profile', () => {
|
|
7
|
+
it('lists organizations with member usernames and totals on the dashboard', () => {
|
|
8
|
+
cy.login('superadmin');
|
|
9
|
+
cy.window().then((win) => {
|
|
10
|
+
const raw = win.localStorage.getItem('jumentix-frontend-auth');
|
|
11
|
+
expect(raw).to.be.a('string');
|
|
12
|
+
const { token } = JSON.parse(raw as string) as { token: string };
|
|
13
|
+
cy.request({
|
|
14
|
+
url: `${backendOrigin}/api/1.0.0/users/metrics?metric=count`,
|
|
15
|
+
headers: { Authorization: token }
|
|
16
|
+
}).then((usersMetrics) => {
|
|
17
|
+
const usersTotal = usersMetrics.body.buckets[0].count as number;
|
|
18
|
+
cy.get('[data-metric="users"]').should('contain', String(usersTotal));
|
|
19
|
+
});
|
|
20
|
+
cy.request({
|
|
21
|
+
url: `${backendOrigin}/api/1.0.0/organizations/metrics?metric=count`,
|
|
22
|
+
headers: { Authorization: token }
|
|
23
|
+
}).then((orgMetrics) => {
|
|
24
|
+
const orgTotal = orgMetrics.body.buckets[0].count as number;
|
|
25
|
+
cy.get('[data-metric="organizations"]').should('contain', String(orgTotal));
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
cy.get('[data-widget="users:admin-user-ratio"]').should('contain', '/');
|
|
29
|
+
cy.get('[data-widget="users:members-per-org"]').should('exist');
|
|
30
|
+
cy.get('[data-metric="signups-30d"]').should('exist');
|
|
31
|
+
cy.get('body').should('not.contain', 'Traffic');
|
|
32
|
+
cy.visit('/#/organizations');
|
|
33
|
+
cy.contains('.xcrud-grid tbody tr', 'ACME').should('contain', 'user2');
|
|
34
|
+
cy.contains('.xcrud-grid tbody tr', 'ACME').invoke('text').should('not.match', /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}/);
|
|
35
|
+
cy.contains('.xcrud-grid tbody tr', 'ACME').find('button[aria-label^="preview "]').click();
|
|
36
|
+
cy.get('.xcrud-row-detail').should('contain', 'user2');
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
it('updates the profile scalars and lists sub-resources with contract labels', () => {
|
|
40
|
+
cy.login('admin');
|
|
41
|
+
cy.get('.header [aria-label="Account"]').click();
|
|
42
|
+
cy.contains('.dropdown-item', 'Profile').click();
|
|
43
|
+
cy.location('hash').should('eq', '#/profile');
|
|
44
|
+
cy.get('h2').should('contain', 'My profile');
|
|
45
|
+
cy.get('table').first().find('th').first()
|
|
46
|
+
.should('contain', 'Email');
|
|
47
|
+
cy.get('#oas-field-lastName').clear().type('XpertMinds');
|
|
48
|
+
cy.contains('button', 'Save profile').click();
|
|
49
|
+
cy.get('.alert-success').should('contain', 'Profile saved');
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
it('drops the session and returns to /login when the token is no longer accepted', () => {
|
|
53
|
+
cy.login('user');
|
|
54
|
+
cy.window().then((win) => {
|
|
55
|
+
const raw = win.localStorage.getItem('jumentix-frontend-auth')!;
|
|
56
|
+
const parsed = JSON.parse(raw);
|
|
57
|
+
parsed.token = 'Bearer invalid.token.value';
|
|
58
|
+
win.localStorage.setItem('jumentix-frontend-auth', JSON.stringify(parsed));
|
|
59
|
+
});
|
|
60
|
+
cy.visit('/#/profile');
|
|
61
|
+
cy.reload();
|
|
62
|
+
cy.location('hash').should('eq', '#/login');
|
|
63
|
+
});
|
|
64
|
+
});
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JUM-796/800 — multitask shell against the real backend: one task per
|
|
3
|
+
* module, keep-alive across switches, reload restores the taskbar.
|
|
4
|
+
*/
|
|
5
|
+
describe('multitask shell', () => {
|
|
6
|
+
it('keeps an open Users edit after visiting the dashboard tab and restores tasks on reload', () => {
|
|
7
|
+
cy.login('superadmin');
|
|
8
|
+
cy.visit('/#/users');
|
|
9
|
+
cy.get('.xcrud-grid tbody tr').should('have.length.at.least', 6);
|
|
10
|
+
cy.contains('.xcrud-grid tbody tr', 'Barack').find('button[aria-label^="preview "]').click();
|
|
11
|
+
cy.get('.xcrud-row-detail').should('be.visible');
|
|
12
|
+
cy.contains('[data-module-tabs] .nav-link', 'Dashboard').click();
|
|
13
|
+
cy.get('[data-metric="users"]').should('be.visible');
|
|
14
|
+
cy.contains('[data-module-tabs] .nav-link', 'Users').click();
|
|
15
|
+
cy.get('.xcrud-row-detail').should('be.visible').and('contain', 'Barack');
|
|
16
|
+
cy.get('[data-taskbar] [data-active="true"]').should('contain', 'Users');
|
|
17
|
+
cy.reload();
|
|
18
|
+
cy.get('[data-taskbar] [data-active="true"]').should('contain', 'Users');
|
|
19
|
+
cy.location('hash').should('include', '/m/users');
|
|
20
|
+
});
|
|
21
|
+
});
|