@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,83 @@
|
|
|
1
|
+
import openApi from './openapi.json';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* RBAC for OAS-driven UIs (JUM-772): the role→scope matrix lives in the spec
|
|
5
|
+
* (`info.x-rbac`, enforced server-side) and each operation declares its scopes
|
|
6
|
+
* in `security`. The frontend derives everything from the bundled contract —
|
|
7
|
+
* it never reads backend code (requirement 136).
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
interface RbacOperation {
|
|
11
|
+
operationId?: string;
|
|
12
|
+
security?: Array<Record<string, string[]>>;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
interface RbacSpec {
|
|
16
|
+
info?: { 'x-rbac'?: { roles?: Record<string, string[]> } };
|
|
17
|
+
paths?: Record<string, Record<string, RbacOperation>>;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const spec = openApi as RbacSpec;
|
|
21
|
+
|
|
22
|
+
/** Role names declared in the OAS matrix (e.g. superadmin, admin, user). */
|
|
23
|
+
export const rbacRoleNames = (): string[] => Object.keys(spec.info?.['x-rbac']?.roles ?? {});
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Expands roles into effective scopes using the OAS matrix. Entries that are
|
|
27
|
+
* not matrix roles (legacy scopes carried loose in the roles array) pass
|
|
28
|
+
* through as scopes themselves.
|
|
29
|
+
*/
|
|
30
|
+
export const effectiveScopes = (roles: string[] = []): string[] => {
|
|
31
|
+
const matrix = spec.info?.['x-rbac']?.roles ?? {};
|
|
32
|
+
const granted = new Set<string>();
|
|
33
|
+
for (const role of roles) {
|
|
34
|
+
const mapped = matrix[role];
|
|
35
|
+
if (mapped) {
|
|
36
|
+
mapped.forEach((scope) => granted.add(scope));
|
|
37
|
+
} else {
|
|
38
|
+
granted.add(role);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return [...granted];
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const operationScopesMap = (): Record<string, string[]> => {
|
|
45
|
+
const map: Record<string, string[]> = {};
|
|
46
|
+
for (const pathItem of Object.values(spec.paths ?? {})) {
|
|
47
|
+
Object.values(pathItem)
|
|
48
|
+
.filter((operation) => Boolean(operation?.operationId))
|
|
49
|
+
.forEach((operation) => {
|
|
50
|
+
// Our spec declares a single bearerAuth requirement per operation; the
|
|
51
|
+
// scope list inside it is ANDed. Multiple alternatives (OR) are folded.
|
|
52
|
+
const requirements = (operation.security ?? [])
|
|
53
|
+
.flatMap((requirement) => Object.values(requirement).flat());
|
|
54
|
+
map[(operation as { operationId?: string }).operationId as string] = requirements;
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
return map;
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
const scopesByOperation = operationScopesMap();
|
|
61
|
+
|
|
62
|
+
/** Scopes an operation requires per the OAS (empty = public operation). */
|
|
63
|
+
export const requiredScopes = (operationId: string): string[] => (
|
|
64
|
+
scopesByOperation[operationId] ?? []
|
|
65
|
+
);
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* True when the roles satisfy every scope the operation requires. Operations
|
|
69
|
+
* absent from the contract fail closed (unknown surface is not granted).
|
|
70
|
+
*/
|
|
71
|
+
export const can = (roles: string[] | undefined, operationId: string): boolean => {
|
|
72
|
+
const required = scopesByOperation[operationId];
|
|
73
|
+
if (!required) return false;
|
|
74
|
+
if (required.length === 0) return true;
|
|
75
|
+
const scopes = effectiveScopes(roles ?? []);
|
|
76
|
+
if (scopes.includes('*')) return true;
|
|
77
|
+
return required.every((scope) => scopes.includes(scope));
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
/** True for superadmin roles (matrix `*`). */
|
|
81
|
+
export const hasSuperadmin = (roles: string[] | undefined): boolean => (
|
|
82
|
+
effectiveScopes(roles ?? []).includes('*')
|
|
83
|
+
);
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { getSharedApiClient } from '@/contracts/apiClient';
|
|
2
|
+
import {
|
|
3
|
+
entityPrimaryKey,
|
|
4
|
+
fieldDescriptors,
|
|
5
|
+
listOperationForEntity,
|
|
6
|
+
type FieldDescriptor
|
|
7
|
+
} from '@/contracts/formSchema';
|
|
8
|
+
import { listCapabilities } from '@/contracts/listSchema';
|
|
9
|
+
import { can } from '@/contracts/rbac';
|
|
10
|
+
import { isCanaOpen } from '@/data/db';
|
|
11
|
+
import { listLocal } from '@/data/localRepository';
|
|
12
|
+
import { useAuthStore } from '@/stores/auth';
|
|
13
|
+
import { useProfileStore } from '@/stores/profile';
|
|
14
|
+
|
|
15
|
+
type Rows = Array<Record<string, unknown>>;
|
|
16
|
+
type Relation = NonNullable<FieldDescriptor['relation']>;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Display labels for an `x-relation` foreign key, keyed by the stored value.
|
|
20
|
+
*
|
|
21
|
+
* Candidates come from the target entity's `<Entity>ArrayOf` operation (or the
|
|
22
|
+
* local Cana store offline), never from a hardcoded operation id. Anything the
|
|
23
|
+
* caller cannot read — no list operation, RBAC refusal, network error — yields
|
|
24
|
+
* an empty map, so callers fall back to the raw value instead of failing.
|
|
25
|
+
*/
|
|
26
|
+
export const loadRelationLabels = async (relation: Relation): Promise<Record<string, string>> => {
|
|
27
|
+
const operationId = listOperationForEntity(relation.entity);
|
|
28
|
+
if (!operationId) return {};
|
|
29
|
+
try {
|
|
30
|
+
const capabilities = listCapabilities(operationId);
|
|
31
|
+
let list: Rows;
|
|
32
|
+
if (isCanaOpen()) {
|
|
33
|
+
const size = capabilities?.maxSize ?? 100;
|
|
34
|
+
list = (await listLocal(relation.entity, { page: 1, size })).result;
|
|
35
|
+
} else if (!can(useProfileStore().record?.roles, operationId)) {
|
|
36
|
+
list = [];
|
|
37
|
+
} else {
|
|
38
|
+
const response = await getSharedApiClient().request<{ result?: Rows } | Rows>({
|
|
39
|
+
operationId,
|
|
40
|
+
query: capabilities ? { page: 1, size: capabilities.maxSize } : undefined,
|
|
41
|
+
headers: { Authorization: useAuthStore().token }
|
|
42
|
+
});
|
|
43
|
+
list = Array.isArray(response) ? response : (response.result ?? []);
|
|
44
|
+
}
|
|
45
|
+
const labelField = relation.display ?? 'name';
|
|
46
|
+
const match = relation.match || entityPrimaryKey(relation.entity);
|
|
47
|
+
return Object.fromEntries(
|
|
48
|
+
list.map((row) => [String(row[match] ?? row.id), String(row[labelField] ?? row[match] ?? '')])
|
|
49
|
+
);
|
|
50
|
+
} catch {
|
|
51
|
+
return {};
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* The `x-relation` of `field` on schema `entity`, when it declares one.
|
|
57
|
+
*
|
|
58
|
+
* `undefined` for a schema name the bundled OAS does not declare — callers
|
|
59
|
+
* (dashboard metrics) pass caller-supplied schema names that are not always
|
|
60
|
+
* real entities, and `fieldDescriptors` throws on those.
|
|
61
|
+
*/
|
|
62
|
+
export const relationFor = (entity: string, field: string): Relation | undefined => {
|
|
63
|
+
try {
|
|
64
|
+
return fieldDescriptors(entity).find((descriptor) => descriptor.name === field)?.relation;
|
|
65
|
+
} catch {
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
68
|
+
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { Router } from 'vue-router';
|
|
2
|
+
|
|
3
|
+
import { getSharedApiClient } from '@/contracts/apiClient';
|
|
4
|
+
import { appOperations } from '@/contracts/appOperations';
|
|
5
|
+
import { useAuthStore } from '@/stores/auth';
|
|
6
|
+
import { useProfileStore } from '@/stores/profile';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Session guard (session expiry auto-redirect): the SDK is the only UI↔server
|
|
10
|
+
* channel, so a 401 on any non-auth operation means the session is dead —
|
|
11
|
+
* expire locally and land on /login from ANY page, not just /profile.
|
|
12
|
+
* Auth operations (login/register) are excluded: a 401 there is a wrong
|
|
13
|
+
* password, not an expired session.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
// Read at event time: the ids are configurable (JUM-780) and a generated app
|
|
17
|
+
// may install them after this module loads.
|
|
18
|
+
const isAuthOperation = (operationId: string): boolean => {
|
|
19
|
+
const { login, register } = appOperations().auth;
|
|
20
|
+
return operationId === login || operationId === register;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
/** 401 handler wired to the SDK event stream. Returns true when it expired. */
|
|
24
|
+
export const handleSdkEvent = (
|
|
25
|
+
event: { type: string; status?: number; operationId: string },
|
|
26
|
+
expire: () => void,
|
|
27
|
+
redirect: () => void
|
|
28
|
+
): boolean => {
|
|
29
|
+
if (event.type !== 'request:error' || event.status !== 401) return false;
|
|
30
|
+
if (isAuthOperation(event.operationId)) return false;
|
|
31
|
+
expire();
|
|
32
|
+
redirect();
|
|
33
|
+
return true;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
/** True when the stored session exists but its JWT exp already passed. */
|
|
37
|
+
export const expireIfStaleSession = (auth: ReturnType<typeof useAuthStore>): boolean => {
|
|
38
|
+
if (auth.isAuthenticated() && auth.isSessionExpired()) {
|
|
39
|
+
auth.expire();
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
return false;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
/** Installs the global 401→/login reaction on the shared SDK client. */
|
|
46
|
+
export const installSessionGuard = (router: Router): void => {
|
|
47
|
+
const client = getSharedApiClient();
|
|
48
|
+
client.subscribe((event) => {
|
|
49
|
+
const auth = useAuthStore();
|
|
50
|
+
const profile = useProfileStore();
|
|
51
|
+
// Reset the profile too: roles cached from the dead session would otherwise
|
|
52
|
+
// survive into the next login in the same tab (JUM-776 e2e finding).
|
|
53
|
+
handleSdkEvent(event, () => { auth.expire(); profile.reset(); }, () => {
|
|
54
|
+
if (router.currentRoute.value.meta.public !== true) {
|
|
55
|
+
router.push('/login');
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser-side shim for @jumentix/shared-contracts.
|
|
3
|
+
*
|
|
4
|
+
* The real module reads the OpenAPI YAML from disk (node:fs) — it cannot be
|
|
5
|
+
* bundled for the browser. The frontend always injects the bundled OAS into
|
|
6
|
+
* the SDK (requirement 136: the contract is consumed as data), so this shim
|
|
7
|
+
* is only ever a static placeholder: it fails loudly if anything calls it.
|
|
8
|
+
*/
|
|
9
|
+
export const loadCanonicalSpec = (_input: unknown): never => {
|
|
10
|
+
throw new Error(
|
|
11
|
+
'loadCanonicalSpec is unavailable in the browser — inject the bundled spec '
|
|
12
|
+
+ 'from src/contracts/openapi.json instead (requirement 136).'
|
|
13
|
+
);
|
|
14
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { computed } from 'vue';
|
|
2
|
+
|
|
3
|
+
import { can } from '@/contracts/rbac';
|
|
4
|
+
import { useProfileStore } from '@/stores/profile';
|
|
5
|
+
|
|
6
|
+
/** RBAC for OAS-driven UI (JUM-772): roles of the signed-in user + can(). */
|
|
7
|
+
export const usePermissions = () => {
|
|
8
|
+
const profile = useProfileStore();
|
|
9
|
+
const roles = computed<string[]>(() => profile.record?.roles ?? []);
|
|
10
|
+
|
|
11
|
+
/** Idempotent: roles come from the profile record; concurrent calls share one flight. */
|
|
12
|
+
const ensure = async (): Promise<void> => {
|
|
13
|
+
if (!profile.record) {
|
|
14
|
+
try {
|
|
15
|
+
await profile.load();
|
|
16
|
+
} catch {
|
|
17
|
+
// roles stay empty → can() fails closed
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const canOp = (operationId: string) => computed(() => can(roles.value, operationId));
|
|
23
|
+
|
|
24
|
+
return { roles, ensure, canOp };
|
|
25
|
+
};
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import openApi from './openapi.json';
|
|
2
|
+
import { t } from '@/i18n';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Document/phone masks and validations driven by the `x-validation` blocks
|
|
6
|
+
* declared in the OAS (JUM-765) — the contract is the single source of these
|
|
7
|
+
* rules; this module only executes them (requirement 136).
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
interface ValidationRule {
|
|
11
|
+
when: Record<string, string>;
|
|
12
|
+
pattern?: string;
|
|
13
|
+
mask?: string;
|
|
14
|
+
checksum?: string;
|
|
15
|
+
example?: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
interface RuleCarrier {
|
|
19
|
+
components?: {
|
|
20
|
+
schemas?: Record<string, {
|
|
21
|
+
properties?: Record<string, { 'x-validation'?: { rules?: ValidationRule[] } }>;
|
|
22
|
+
}>;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const rulesOf = (schema: string, property: string): ValidationRule[] => (
|
|
27
|
+
(openApi as RuleCarrier).components?.schemas?.[schema]?.properties?.[property]?.['x-validation']?.rules ?? []
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
const documentRules = (): ValidationRule[] => rulesOf('Document', 'data');
|
|
31
|
+
|
|
32
|
+
const phoneRules = (): ValidationRule[] => rulesOf('Phone', 'number');
|
|
33
|
+
|
|
34
|
+
export const documentRuleFor = (type: string, countryIssue: string): ValidationRule | undefined => (
|
|
35
|
+
documentRules().find((rule) => (
|
|
36
|
+
(!rule.when.type || rule.when.type === type)
|
|
37
|
+
&& (!rule.when.countryIssue || rule.when.countryIssue === countryIssue)
|
|
38
|
+
))
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
export const phoneRuleFor = (countryCode: string): ValidationRule | undefined => (
|
|
42
|
+
phoneRules().find((rule) => rule.when.countryCode === countryCode)
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
const digitsOnly = (value: string): string => value.replace(/\D/g, '');
|
|
46
|
+
|
|
47
|
+
const applyMask = (digits: string, mask: string): string => {
|
|
48
|
+
let result = '';
|
|
49
|
+
let digitIndex = 0;
|
|
50
|
+
for (const char of mask) {
|
|
51
|
+
if (digitIndex >= digits.length) break;
|
|
52
|
+
if (char === '0') {
|
|
53
|
+
result += digits[digitIndex];
|
|
54
|
+
digitIndex += 1;
|
|
55
|
+
} else {
|
|
56
|
+
result += char;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return result;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
/** Progressive CPF mask: digits are grouped 000.000.000-00 as the user types. */
|
|
63
|
+
export const maskCpf = (raw: string): string => (
|
|
64
|
+
applyMask(digitsOnly(raw).slice(0, 11), '000.000.000-00')
|
|
65
|
+
);
|
|
66
|
+
|
|
67
|
+
/** Progressive SSN mask: 000-00-0000. */
|
|
68
|
+
export const maskSsn = (raw: string): string => (
|
|
69
|
+
applyMask(digitsOnly(raw).slice(0, 9), '000-00-0000')
|
|
70
|
+
);
|
|
71
|
+
|
|
72
|
+
/** Progressive phone mask by country rule declared in the OAS. */
|
|
73
|
+
export const maskPhone = (countryCode: string, raw: string): string => {
|
|
74
|
+
const rule = phoneRuleFor(countryCode);
|
|
75
|
+
const digits = digitsOnly(raw).slice(0, 9);
|
|
76
|
+
if (!rule?.mask) {
|
|
77
|
+
return digits;
|
|
78
|
+
}
|
|
79
|
+
return applyMask(digits, rule.mask);
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Extracts the declared char class from anchored class patterns
|
|
84
|
+
* (`^[A-Za-z0-9]{5,20}$` → `A-Za-z0-9`). Returns undefined for any other
|
|
85
|
+
* shape — digit-pattern rules (CPF/SSN/phone) are handled by masks instead.
|
|
86
|
+
*/
|
|
87
|
+
export const patternAlphabet = (pattern: string | undefined): string | undefined => (
|
|
88
|
+
pattern?.match(/^\^\[([^\]]+)\]\{\d+(?:,\d*)?\}\$$/)?.[1]
|
|
89
|
+
);
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Extracts the upper bound of the quantifier in an anchored class pattern
|
|
93
|
+
* (`{5,20}` → 20, `{11}` → 11, `{5,}` → undefined = unbounded).
|
|
94
|
+
*/
|
|
95
|
+
export const patternCap = (pattern: string | undefined): number | undefined => {
|
|
96
|
+
const quantifier = pattern?.match(/^\^\[[^\]]+\]\{(\d+)(,(\d*))?\}\$$/);
|
|
97
|
+
if (!quantifier) return undefined;
|
|
98
|
+
if (quantifier[2] !== undefined) {
|
|
99
|
+
// `{m,}` is unbounded; `{m,n}` caps at n.
|
|
100
|
+
return quantifier[3] ? Number(quantifier[3]) : undefined;
|
|
101
|
+
}
|
|
102
|
+
return Number(quantifier[1]);
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Input filter for a document's data (JUM-769): CPF/SSN keep their masks;
|
|
107
|
+
* pattern-only rules (passport, RG) strip characters outside the declared
|
|
108
|
+
* alphabet and hard-cap at the pattern's upper bound, so over-typing is
|
|
109
|
+
* blocked at the input instead of failing at save time. Types with no
|
|
110
|
+
* declared rule stay free-form per OAS.
|
|
111
|
+
*/
|
|
112
|
+
export const filterDocumentData = (type: string, countryIssue: string, raw: string): string => {
|
|
113
|
+
if (type === 'CPF') return maskCpf(raw);
|
|
114
|
+
if (type === 'SSN') return maskSsn(raw);
|
|
115
|
+
const rule = documentRuleFor(type, countryIssue);
|
|
116
|
+
const alphabet = patternAlphabet(rule?.pattern);
|
|
117
|
+
if (!alphabet) return raw;
|
|
118
|
+
const filtered = raw.replace(new RegExp(`[^${alphabet}]`, 'g'), '');
|
|
119
|
+
const cap = patternCap(rule?.pattern);
|
|
120
|
+
return cap === undefined ? filtered : filtered.slice(0, cap);
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
/** Input cap for a document's data: OAS mask length, or the pattern's upper bound. */
|
|
124
|
+
export const documentInputCap = (type: string, countryIssue: string): number | undefined => {
|
|
125
|
+
const rule = documentRuleFor(type, countryIssue);
|
|
126
|
+
if (!rule) return undefined;
|
|
127
|
+
return rule.mask ? rule.mask.length : patternCap(rule.pattern);
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
/** Input cap for a phone number from the OAS mask of the country rule. */
|
|
131
|
+
export const phoneMaskCap = (countryCode: string): number | undefined => {
|
|
132
|
+
const rule = phoneRuleFor(countryCode);
|
|
133
|
+
return rule?.mask ? rule.mask.length : undefined;
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
/** Modulo-11 checksum for the two CPF verification digits. */
|
|
137
|
+
export const isValidCpf = (value: string): boolean => {
|
|
138
|
+
const digits = digitsOnly(value);
|
|
139
|
+
if (digits.length !== 11 || /^(\d)\1{10}$/.test(digits)) {
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
const numbers = digits.split('').map(Number);
|
|
143
|
+
const checksum = (count: number): number => {
|
|
144
|
+
const sum = numbers.slice(0, count - 1).reduce((acc, n, i) => acc + n * (count - i), 0);
|
|
145
|
+
const digit = (sum * 10) % 11;
|
|
146
|
+
return digit === 10 ? 0 : digit;
|
|
147
|
+
};
|
|
148
|
+
return checksum(10) === numbers[9] && checksum(11) === numbers[10];
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
const matches = (pattern: string | undefined, value: string): boolean => (
|
|
152
|
+
pattern ? new RegExp(pattern).test(value) : true
|
|
153
|
+
);
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Full document validation: OAS pattern for the type+country, plus the CPF
|
|
157
|
+
* checksum when the rule declares one.
|
|
158
|
+
*/
|
|
159
|
+
export const validateDocumentData = (
|
|
160
|
+
type: string,
|
|
161
|
+
countryIssue: string,
|
|
162
|
+
value: string
|
|
163
|
+
): string | null => {
|
|
164
|
+
if (!value.trim()) {
|
|
165
|
+
return t('validation.documentRequired');
|
|
166
|
+
}
|
|
167
|
+
const rule = documentRuleFor(type, countryIssue);
|
|
168
|
+
if (!rule) {
|
|
169
|
+
return null; // no declared rule for this type+country — free-form per OAS
|
|
170
|
+
}
|
|
171
|
+
if (!matches(rule.pattern, value)) {
|
|
172
|
+
const example = rule.example ? t('validation.documentExample', { example: rule.example }) : '';
|
|
173
|
+
return `${t('validation.documentFormat', { type })}${example}.`;
|
|
174
|
+
}
|
|
175
|
+
if (rule.checksum === 'cpf-mod11' && !isValidCpf(value)) {
|
|
176
|
+
return t('validation.cpfChecksum');
|
|
177
|
+
}
|
|
178
|
+
return null;
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
/** Phone validation against the OAS rule for the country code. */
|
|
182
|
+
export const validatePhone = (
|
|
183
|
+
countryCode: string,
|
|
184
|
+
localCode: string,
|
|
185
|
+
value: string
|
|
186
|
+
): string | null => {
|
|
187
|
+
if (!value.trim()) {
|
|
188
|
+
return t('validation.phoneRequired');
|
|
189
|
+
}
|
|
190
|
+
const rule = phoneRuleFor(countryCode);
|
|
191
|
+
if (rule?.pattern && !matches(rule.pattern, value)) {
|
|
192
|
+
return t('validation.phoneFormat', { country: countryCode, example: rule.example ?? '0000-0000' });
|
|
193
|
+
}
|
|
194
|
+
return null;
|
|
195
|
+
};
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import type { CanaSchema, CanaStoreSchema } from '@jumentix/cana';
|
|
2
|
+
|
|
3
|
+
import openApi from '@/contracts/openapi.json';
|
|
4
|
+
import {
|
|
5
|
+
entityPrimaryKey, fieldDescriptors, getOperationForEntity, listOperationForEntity
|
|
6
|
+
} from '@/contracts/formSchema';
|
|
7
|
+
import { listCapabilities } from '@/contracts/listSchema';
|
|
8
|
+
|
|
9
|
+
export const DATABASE_NAME = 'jumentix-frontend';
|
|
10
|
+
export const META_STORE = 'meta';
|
|
11
|
+
export const OUTBOX_STORE = 'outbox';
|
|
12
|
+
export const SCHEMA_META_ID = 'schema';
|
|
13
|
+
export const SESSION_META_ID = 'session';
|
|
14
|
+
|
|
15
|
+
export interface EntityTableSpec {
|
|
16
|
+
schemaName: string;
|
|
17
|
+
storeName: string;
|
|
18
|
+
keyPath: string;
|
|
19
|
+
indexes: string[];
|
|
20
|
+
listOperationId: string;
|
|
21
|
+
getOperationId?: string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
interface OpenApiPaths {
|
|
25
|
+
paths?: Record<string, Record<string, { operationId?: string }>>;
|
|
26
|
+
info?: { title?: string };
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const document = openApi as OpenApiPaths;
|
|
30
|
+
|
|
31
|
+
const storeNameFromListPath = (operationId: string, schemaName: string): string => {
|
|
32
|
+
for (const [path, methods] of Object.entries(document.paths ?? {})) {
|
|
33
|
+
for (const operation of Object.values(methods)) {
|
|
34
|
+
if (operation?.operationId === operationId) {
|
|
35
|
+
const segment = path.split('/').filter(Boolean).at(-1);
|
|
36
|
+
if (segment) return segment;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return `${schemaName[0]?.toLowerCase() ?? ''}${schemaName.slice(1)}s`;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
const relationFields = (schemaName: string): string[] => (
|
|
44
|
+
fieldDescriptors(schemaName)
|
|
45
|
+
.filter((descriptor) => descriptor.relation)
|
|
46
|
+
.map((descriptor) => descriptor.relation!.field)
|
|
47
|
+
);
|
|
48
|
+
|
|
49
|
+
export const deriveEntityTables = (): EntityTableSpec[] => {
|
|
50
|
+
const schemas = (openApi as {
|
|
51
|
+
components?: { schemas?: Record<string, unknown> };
|
|
52
|
+
}).components?.schemas ?? {};
|
|
53
|
+
const tables: EntityTableSpec[] = [];
|
|
54
|
+
for (const schemaName of Object.keys(schemas)) {
|
|
55
|
+
const listOperationId = listOperationForEntity(schemaName);
|
|
56
|
+
if (listOperationId) {
|
|
57
|
+
const keyPath = entityPrimaryKey(schemaName);
|
|
58
|
+
const capabilities = listCapabilities(listOperationId);
|
|
59
|
+
// IndexedDB rejects array values on a non-multiEntry index (DataError).
|
|
60
|
+
// OAS `roles` / `members` / `emails` are arrays even when x-list-capabilities
|
|
61
|
+
// lists them as filterable enums — never promote those fields to indexes.
|
|
62
|
+
const arrayFields = new Set(
|
|
63
|
+
fieldDescriptors(schemaName)
|
|
64
|
+
.filter((descriptor) => descriptor.type === 'array')
|
|
65
|
+
.map((descriptor) => descriptor.name)
|
|
66
|
+
);
|
|
67
|
+
const indexSet = new Set<string>([
|
|
68
|
+
...(capabilities?.sortable ?? []),
|
|
69
|
+
...Object.keys(capabilities?.filterable ?? {}),
|
|
70
|
+
'updatedAt',
|
|
71
|
+
'deletedAt',
|
|
72
|
+
...relationFields(schemaName)
|
|
73
|
+
]);
|
|
74
|
+
indexSet.delete(keyPath);
|
|
75
|
+
for (const field of arrayFields) indexSet.delete(field);
|
|
76
|
+
tables.push({
|
|
77
|
+
schemaName,
|
|
78
|
+
storeName: storeNameFromListPath(listOperationId, schemaName),
|
|
79
|
+
keyPath,
|
|
80
|
+
indexes: [...indexSet],
|
|
81
|
+
listOperationId,
|
|
82
|
+
getOperationId: getOperationForEntity(schemaName)
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return tables.sort((left, right) => left.storeName.localeCompare(right.storeName));
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
export const entityTable = (schemaName: string): EntityTableSpec => {
|
|
90
|
+
const found = deriveEntityTables().find((table) => table.schemaName === schemaName);
|
|
91
|
+
if (!found) {
|
|
92
|
+
throw new Error(`No Cana table for OAS entity ${schemaName}`);
|
|
93
|
+
}
|
|
94
|
+
return found;
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
export const entityTableByStore = (storeName: string): EntityTableSpec | undefined => (
|
|
98
|
+
deriveEntityTables().find((table) => table.storeName === storeName)
|
|
99
|
+
);
|
|
100
|
+
|
|
101
|
+
export const schemaFingerprint = (stores: readonly CanaStoreSchema[]): string => (
|
|
102
|
+
JSON.stringify(stores)
|
|
103
|
+
);
|
|
104
|
+
|
|
105
|
+
/** Stable positive integer in `[1, 2^31-2]` from the derived store set. */
|
|
106
|
+
export const schemaVersionFromStores = (stores: readonly CanaStoreSchema[]): number => {
|
|
107
|
+
const fingerprint = schemaFingerprint(stores);
|
|
108
|
+
let hash = 2166136261;
|
|
109
|
+
for (let index = 0; index < fingerprint.length; index += 1) {
|
|
110
|
+
// FNV-1a — bitwise on purpose.
|
|
111
|
+
// eslint-disable-next-line no-bitwise
|
|
112
|
+
hash ^= fingerprint.codePointAt(index) ?? 0;
|
|
113
|
+
hash = Math.imul(hash, 16777619);
|
|
114
|
+
}
|
|
115
|
+
// eslint-disable-next-line no-bitwise
|
|
116
|
+
return ((hash >>> 0) % 2147483646) + 1;
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
const toStore = (table: EntityTableSpec): CanaStoreSchema => ({
|
|
120
|
+
name: table.storeName,
|
|
121
|
+
keyPath: table.keyPath,
|
|
122
|
+
indexes: table.indexes.map((name) => ({ name, keyPath: name }))
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
export const buildCanaStores = (): CanaStoreSchema[] => {
|
|
126
|
+
const entities = deriveEntityTables().map(toStore);
|
|
127
|
+
return [
|
|
128
|
+
...entities,
|
|
129
|
+
{ name: META_STORE, keyPath: 'id' },
|
|
130
|
+
{
|
|
131
|
+
name: OUTBOX_STORE,
|
|
132
|
+
keyPath: 'opId',
|
|
133
|
+
indexes: [
|
|
134
|
+
{ name: 'createdAt', keyPath: 'createdAt' },
|
|
135
|
+
{ name: 'entity', keyPath: 'entity' }
|
|
136
|
+
]
|
|
137
|
+
}
|
|
138
|
+
];
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
export const buildCanaSchema = (): CanaSchema => {
|
|
142
|
+
const stores = buildCanaStores();
|
|
143
|
+
return { version: schemaVersionFromStores(stores), stores };
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
export const appManifestName = (): string => document.info?.title ?? 'Jumentix Frontend';
|