@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,152 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { onMounted, ref, watch } from 'vue';
|
|
3
|
+
import { CCard, CCardBody, CCardHeader, CNav, CNavItem } from '@coreui/vue';
|
|
4
|
+
|
|
5
|
+
import XCrudForm from '@/components/x-crud/XCrudForm.vue';
|
|
6
|
+
import XCrudGrid from '@/components/x-crud/XCrudGrid.vue';
|
|
7
|
+
import XCrudPanels from '@/components/x-crud/XCrudPanels.vue';
|
|
8
|
+
import XCrudRowDetail from '@/components/x-crud/XCrudRowDetail.vue';
|
|
9
|
+
import XCrudToolbar from '@/components/x-crud/XCrudToolbar.vue';
|
|
10
|
+
import { useXCrud } from '@/components/x-crud/useXCrud';
|
|
11
|
+
import type { XCrudEntityConfig } from '@/components/x-crud/xCrudTypes';
|
|
12
|
+
import { usePermissions } from '@/contracts/usePermissions';
|
|
13
|
+
import { t } from '@/i18n';
|
|
14
|
+
import { useNotificationStore } from '@/stores/notifications';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* XCrud (JUM-772 redesign, X-SYNTH pattern): one card; pills "New ${entity} |
|
|
18
|
+
* ${entity} Listing" in the card header; aggregates render as widgets on top
|
|
19
|
+
* of the listing; RBAC gates every affordance (scopes read from the OAS).
|
|
20
|
+
*/
|
|
21
|
+
const props = defineProps<{
|
|
22
|
+
config: XCrudEntityConfig;
|
|
23
|
+
canUpdateRow?: (row: Record<string, unknown>) => boolean;
|
|
24
|
+
canDeleteRow?: (row: Record<string, unknown>) => boolean;
|
|
25
|
+
referenceRestrictions?: Record<string, string[]>;
|
|
26
|
+
}>();
|
|
27
|
+
|
|
28
|
+
const crud = useXCrud(props.config);
|
|
29
|
+
const permissions = usePermissions();
|
|
30
|
+
|
|
31
|
+
const view = ref<'listing' | 'new'>('listing');
|
|
32
|
+
const detailTab = ref<'preview' | 'edit'>('preview');
|
|
33
|
+
const filtersOpen = ref(false);
|
|
34
|
+
const reopenRecord = ref<Record<string, unknown> | undefined>(undefined);
|
|
35
|
+
const notifications = useNotificationStore();
|
|
36
|
+
|
|
37
|
+
const canCreate = permissions.canOp(props.config.operations.create);
|
|
38
|
+
const canUpdateOp = permissions.canOp(props.config.operations.update);
|
|
39
|
+
const canDeleteOp = permissions.canOp(props.config.operations.delete);
|
|
40
|
+
|
|
41
|
+
const canUpdateRow = (row: Record<string, unknown>) => (
|
|
42
|
+
canUpdateOp.value && (props.canUpdateRow ? props.canUpdateRow(row) : true)
|
|
43
|
+
);
|
|
44
|
+
const canDeleteRow = (row: Record<string, unknown>) => (
|
|
45
|
+
canDeleteOp.value && (props.canDeleteRow ? props.canDeleteRow(row) : true)
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
const expand = (id: string, tab: 'preview' | 'edit'): void => {
|
|
49
|
+
detailTab.value = tab;
|
|
50
|
+
crud.toggleExpanded(id);
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
const submitCreate = async (body: Record<string, unknown>): Promise<void> => {
|
|
54
|
+
await crud.submitCreate(body);
|
|
55
|
+
if (!crud.errorMessage.value) view.value = 'listing';
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
const submitRowUpdate = async (body: Record<string, unknown>): Promise<void> => {
|
|
59
|
+
if (!crud.expandedId.value) return;
|
|
60
|
+
await crud.submitUpdate(crud.expandedId.value, body);
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
onMounted(async () => {
|
|
64
|
+
await permissions.ensure();
|
|
65
|
+
await Promise.all([crud.load(), crud.loadReferences()]);
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
watch(() => notifications.reopenTarget, (target) => {
|
|
69
|
+
if (!target?.reopen || target.entity !== props.config.entity) return;
|
|
70
|
+
reopenRecord.value = target.reopen;
|
|
71
|
+
view.value = 'new';
|
|
72
|
+
notifications.clearReopen();
|
|
73
|
+
});
|
|
74
|
+
</script>
|
|
75
|
+
|
|
76
|
+
<template>
|
|
77
|
+
<CCard class="border-0 shadow-sm xcrud">
|
|
78
|
+
<CCardHeader class="bg-transparent">
|
|
79
|
+
<CNav variant="pills" role="tablist">
|
|
80
|
+
<CNavItem v-if="canCreate">
|
|
81
|
+
<a
|
|
82
|
+
class="nav-link"
|
|
83
|
+
href="#"
|
|
84
|
+
:class="{ active: view === 'new' }"
|
|
85
|
+
@click.prevent="view = 'new'"
|
|
86
|
+
>
|
|
87
|
+
{{ t('crud.new', { entity: crud.title.value }) }}
|
|
88
|
+
</a>
|
|
89
|
+
</CNavItem>
|
|
90
|
+
<CNavItem>
|
|
91
|
+
<a
|
|
92
|
+
class="nav-link"
|
|
93
|
+
href="#"
|
|
94
|
+
:class="{ active: view === 'listing' }"
|
|
95
|
+
@click.prevent="view = 'listing'"
|
|
96
|
+
>
|
|
97
|
+
{{ t('crud.listing', { entity: crud.title.value }) }}
|
|
98
|
+
</a>
|
|
99
|
+
</CNavItem>
|
|
100
|
+
</CNav>
|
|
101
|
+
</CCardHeader>
|
|
102
|
+
<CCardBody>
|
|
103
|
+
<div v-if="crud.errorMessage.value" class="alert alert-danger" role="alert">
|
|
104
|
+
{{ crud.errorMessage.value }}
|
|
105
|
+
</div>
|
|
106
|
+
<div v-if="crud.notice.value" class="alert alert-success" role="alert">
|
|
107
|
+
{{ crud.notice.value }}
|
|
108
|
+
</div>
|
|
109
|
+
|
|
110
|
+
<template v-if="view === 'listing'">
|
|
111
|
+
<XCrudPanels v-if="(config.aggregates ?? []).length" :crud="crud" />
|
|
112
|
+
<XCrudToolbar v-model:filters-open="filtersOpen" :crud="crud" />
|
|
113
|
+
<XCrudGrid
|
|
114
|
+
:crud="crud"
|
|
115
|
+
:can-update="canUpdateRow"
|
|
116
|
+
:can-delete="canDeleteRow"
|
|
117
|
+
:show-filters="filtersOpen"
|
|
118
|
+
@expand="expand"
|
|
119
|
+
@delete="crud.submitDelete"
|
|
120
|
+
@inline-commit="crud.submitInline"
|
|
121
|
+
>
|
|
122
|
+
<template #detail="{ row }">
|
|
123
|
+
<XCrudRowDetail
|
|
124
|
+
:config="config"
|
|
125
|
+
:record="row"
|
|
126
|
+
:update-descriptors="crud.updateDescriptors"
|
|
127
|
+
:can-update="canUpdateRow(row)"
|
|
128
|
+
:initial-tab="detailTab"
|
|
129
|
+
:reference-restrictions="referenceRestrictions"
|
|
130
|
+
:reference-labels="crud.referenceLabels"
|
|
131
|
+
@submit-update="submitRowUpdate"
|
|
132
|
+
@close="crud.toggleExpanded(crud.rowId(row))"
|
|
133
|
+
/>
|
|
134
|
+
</template>
|
|
135
|
+
</XCrudGrid>
|
|
136
|
+
</template>
|
|
137
|
+
|
|
138
|
+
<template v-else>
|
|
139
|
+
<h5 class="mb-3">{{ t('crud.new', { entity: crud.title.value }) }}</h5>
|
|
140
|
+
<XCrudForm
|
|
141
|
+
:config="config"
|
|
142
|
+
mode="create"
|
|
143
|
+
:descriptors="crud.createDescriptors"
|
|
144
|
+
:record="reopenRecord"
|
|
145
|
+
:reference-restrictions="referenceRestrictions"
|
|
146
|
+
@submit="submitCreate"
|
|
147
|
+
@cancel="view = 'listing'; reopenRecord = undefined"
|
|
148
|
+
/>
|
|
149
|
+
</template>
|
|
150
|
+
</CCardBody>
|
|
151
|
+
</CCard>
|
|
152
|
+
</template>
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { CButton, CFormCheck } from '@coreui/vue';
|
|
3
|
+
|
|
4
|
+
import OasFormField from '@/components/OasFormField.vue';
|
|
5
|
+
import SearchableEnumInput from '@/components/SearchableEnumInput.vue';
|
|
6
|
+
import type { FieldDescriptor } from '@/contracts/formSchema';
|
|
7
|
+
import { fieldLabel } from '@/contracts/labels';
|
|
8
|
+
import { t } from '@/i18n';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* XCrudArrayEditor (JUM-772): editor for array-of-objects fields (documents,
|
|
12
|
+
* phones, emails…). Each item edits inline against the item schema's
|
|
13
|
+
* descriptors (OAS-driven); add/remove rows; nothing is hardcoded.
|
|
14
|
+
*/
|
|
15
|
+
const props = defineProps<{
|
|
16
|
+
descriptor: FieldDescriptor;
|
|
17
|
+
itemDescriptors: FieldDescriptor[];
|
|
18
|
+
modelValue: Array<Record<string, unknown>>;
|
|
19
|
+
}>();
|
|
20
|
+
|
|
21
|
+
const emit = defineEmits<{
|
|
22
|
+
'update:modelValue': [value: Array<Record<string, unknown>>];
|
|
23
|
+
}>();
|
|
24
|
+
|
|
25
|
+
const blankItem = (): Record<string, unknown> => Object.fromEntries(
|
|
26
|
+
props.itemDescriptors
|
|
27
|
+
.filter((d) => d.default !== undefined)
|
|
28
|
+
.map((d) => [d.name, d.default])
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
const addItem = (): void => {
|
|
32
|
+
emit('update:modelValue', [...props.modelValue, blankItem()]);
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
const removeItem = (index: number): void => {
|
|
36
|
+
emit('update:modelValue', props.modelValue.filter((_, i) => i !== index));
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const setItemField = (index: number, field: string, value: unknown): void => {
|
|
40
|
+
emit('update:modelValue', props.modelValue.map((item, i) => (
|
|
41
|
+
i === index ? { ...item, [field]: value } : item
|
|
42
|
+
)));
|
|
43
|
+
};
|
|
44
|
+
</script>
|
|
45
|
+
|
|
46
|
+
<template>
|
|
47
|
+
<div class="xcrud-array-editor border rounded p-2">
|
|
48
|
+
<div class="small text-uppercase text-body-secondary mb-2">
|
|
49
|
+
{{ fieldLabel(descriptor) }}
|
|
50
|
+
<span v-if="descriptor.required" class="text-danger">*</span>
|
|
51
|
+
</div>
|
|
52
|
+
<div
|
|
53
|
+
v-for="(item, index) in modelValue"
|
|
54
|
+
:key="index"
|
|
55
|
+
class="d-flex gap-2 align-items-end mb-2 border-bottom pb-2"
|
|
56
|
+
>
|
|
57
|
+
<template v-for="d in itemDescriptors" :key="d.name">
|
|
58
|
+
<div v-if="d.enum" class="xcrud-array-cell">
|
|
59
|
+
<label class="form-label small mb-1" :for="`${descriptor.name}-${index}-${d.name}`">
|
|
60
|
+
{{ fieldLabel(d) }}<span v-if="d.required" class="text-danger">*</span>
|
|
61
|
+
</label>
|
|
62
|
+
<SearchableEnumInput
|
|
63
|
+
:id="`${descriptor.name}-${index}-${d.name}`"
|
|
64
|
+
:model-value="String(item[d.name] ?? '')"
|
|
65
|
+
:options="d.enum"
|
|
66
|
+
:maxlength="d.maxLength"
|
|
67
|
+
:aria-label="`${descriptor.name} ${index} ${d.name}`"
|
|
68
|
+
:placeholder="fieldLabel(d)"
|
|
69
|
+
@update:model-value="setItemField(index, d.name, $event)"
|
|
70
|
+
/>
|
|
71
|
+
</div>
|
|
72
|
+
<CFormCheck
|
|
73
|
+
v-else-if="d.type === 'boolean'"
|
|
74
|
+
:id="`${descriptor.name}-${index}-${d.name}`"
|
|
75
|
+
:model-value="Boolean(item[d.name])"
|
|
76
|
+
:label="fieldLabel(d)"
|
|
77
|
+
@update:model-value="setItemField(index, d.name, $event)"
|
|
78
|
+
/>
|
|
79
|
+
<div v-else class="flex-grow-1">
|
|
80
|
+
<OasFormField
|
|
81
|
+
:descriptor="d"
|
|
82
|
+
:model-value="item[d.name]"
|
|
83
|
+
class="mb-0"
|
|
84
|
+
@update:model-value="setItemField(index, d.name, $event)"
|
|
85
|
+
/>
|
|
86
|
+
</div>
|
|
87
|
+
</template>
|
|
88
|
+
<CButton
|
|
89
|
+
color="danger"
|
|
90
|
+
variant="outline"
|
|
91
|
+
size="sm"
|
|
92
|
+
:aria-label="t('crud.remove', { field: descriptor.name, index })"
|
|
93
|
+
@click="removeItem(index)"
|
|
94
|
+
>
|
|
95
|
+
<CIcon icon="cil-trash" size="sm" />
|
|
96
|
+
</CButton>
|
|
97
|
+
</div>
|
|
98
|
+
<CButton
|
|
99
|
+
color="success"
|
|
100
|
+
variant="outline"
|
|
101
|
+
size="sm"
|
|
102
|
+
:aria-label="`add ${descriptor.name}`"
|
|
103
|
+
@click="addItem"
|
|
104
|
+
>
|
|
105
|
+
<CIcon icon="cil-plus" size="sm" /> {{ t('crud.add') }}
|
|
106
|
+
</CButton>
|
|
107
|
+
</div>
|
|
108
|
+
</template>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { CChart } from '@coreui/vue-chartjs';
|
|
3
|
+
|
|
4
|
+
import { t } from '@/i18n';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* XCrudChart (JUM-772): aggregate bar chart (per enum facet or numeric
|
|
8
|
+
* groupBy) using @coreui/vue-chartjs — a dependency the app already has.
|
|
9
|
+
* The canvas gets an explicit height (JUM-781): Chart.js with
|
|
10
|
+
* `maintainAspectRatio: false` inside a flex card rendered 0 px tall on
|
|
11
|
+
* narrow viewports.
|
|
12
|
+
*/
|
|
13
|
+
defineProps<{
|
|
14
|
+
title: string;
|
|
15
|
+
breakdown: Array<{ label: string; value: number }>;
|
|
16
|
+
}>();
|
|
17
|
+
</script>
|
|
18
|
+
|
|
19
|
+
<template>
|
|
20
|
+
<div class="xcrud-chart">
|
|
21
|
+
<div class="text-body-secondary small mb-2">{{ title }}</div>
|
|
22
|
+
<div v-if="breakdown.length" class="xcrud-chart-canvas">
|
|
23
|
+
<CChart
|
|
24
|
+
type="bar"
|
|
25
|
+
:data="{
|
|
26
|
+
labels: breakdown.map((b) => b.label),
|
|
27
|
+
datasets: [{ label: title, data: breakdown.map((b) => b.value), backgroundColor: '#4a5cd4' }]
|
|
28
|
+
}"
|
|
29
|
+
:options="{
|
|
30
|
+
responsive: true,
|
|
31
|
+
maintainAspectRatio: false,
|
|
32
|
+
plugins: { legend: { display: false } },
|
|
33
|
+
scales: { y: { beginAtZero: true, ticks: { precision: 0 } } }
|
|
34
|
+
}"
|
|
35
|
+
/>
|
|
36
|
+
</div>
|
|
37
|
+
<div v-else class="text-body-secondary small">{{ t('app.noData') }}</div>
|
|
38
|
+
</div>
|
|
39
|
+
</template>
|
|
40
|
+
|
|
41
|
+
<style scoped>
|
|
42
|
+
.xcrud-chart-canvas {
|
|
43
|
+
position: relative;
|
|
44
|
+
height: 180px;
|
|
45
|
+
min-height: 180px;
|
|
46
|
+
width: 100%;
|
|
47
|
+
}
|
|
48
|
+
</style>
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { CFormInput, CFormSelect } from '@coreui/vue';
|
|
3
|
+
|
|
4
|
+
import type { FieldDescriptor } from '@/contracts/formSchema';
|
|
5
|
+
import { isTimestampField } from '@/components/x-crud/xCrudFormat';
|
|
6
|
+
import { t } from '@/i18n';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* XCrudColumnFilter (JUM-772 redesign): one compact filter control per column,
|
|
10
|
+
* rendered in the grid's second thead row (Smart Table style). The control
|
|
11
|
+
* matches the OAS facet: enum → select, boolean → tri-state, date → range
|
|
12
|
+
* (stacked, so the column keeps its width — JUM-781).
|
|
13
|
+
*/
|
|
14
|
+
const props = defineProps<{
|
|
15
|
+
descriptor: FieldDescriptor;
|
|
16
|
+
value: unknown;
|
|
17
|
+
}>();
|
|
18
|
+
|
|
19
|
+
const emit = defineEmits<{ set: [value: unknown] }>();
|
|
20
|
+
|
|
21
|
+
const range = () => (Array.isArray(props.value) ? props.value as [string?, string?] : ['', '']);
|
|
22
|
+
</script>
|
|
23
|
+
|
|
24
|
+
<template>
|
|
25
|
+
<CFormSelect
|
|
26
|
+
v-if="descriptor.enum"
|
|
27
|
+
size="sm"
|
|
28
|
+
:aria-label="`filter-${descriptor.name}`"
|
|
29
|
+
:model-value="String(value ?? '')"
|
|
30
|
+
:options="[{ label: t('app.all'), value: '' }, ...descriptor.enum.map((option) => ({ label: option, value: option }))]"
|
|
31
|
+
@update:model-value="emit('set', String($event))"
|
|
32
|
+
/>
|
|
33
|
+
<CFormSelect
|
|
34
|
+
v-else-if="descriptor.type === 'boolean'"
|
|
35
|
+
size="sm"
|
|
36
|
+
:aria-label="`filter-${descriptor.name}`"
|
|
37
|
+
:model-value="String(value ?? '')"
|
|
38
|
+
:options="[
|
|
39
|
+
{ label: t('app.all'), value: '' },
|
|
40
|
+
{ label: t('app.yes'), value: 'true' },
|
|
41
|
+
{ label: t('app.no'), value: 'false' }
|
|
42
|
+
]"
|
|
43
|
+
@update:model-value="emit('set', $event === '' ? '' : $event === 'true')"
|
|
44
|
+
/>
|
|
45
|
+
<div v-else-if="isTimestampField(descriptor)" class="d-flex flex-column gap-1 xcrud-date-filter">
|
|
46
|
+
<CFormInput
|
|
47
|
+
size="sm"
|
|
48
|
+
type="date"
|
|
49
|
+
:aria-label="`filter-${descriptor.name}-from`"
|
|
50
|
+
:model-value="String(range()[0] ?? '')"
|
|
51
|
+
@update:model-value="emit('set', [String($event), range()[1] ?? ''])"
|
|
52
|
+
/>
|
|
53
|
+
<CFormInput
|
|
54
|
+
size="sm"
|
|
55
|
+
type="date"
|
|
56
|
+
:aria-label="`filter-${descriptor.name}-to`"
|
|
57
|
+
:model-value="String(range()[1] ?? '')"
|
|
58
|
+
@update:model-value="emit('set', [range()[0] ?? '', String($event)])"
|
|
59
|
+
/>
|
|
60
|
+
</div>
|
|
61
|
+
<CFormInput
|
|
62
|
+
v-else
|
|
63
|
+
size="sm"
|
|
64
|
+
:aria-label="`filter-${descriptor.name}`"
|
|
65
|
+
:model-value="String(value ?? '')"
|
|
66
|
+
:maxlength="descriptor.maxLength"
|
|
67
|
+
@update:model-value="emit('set', $event)"
|
|
68
|
+
/>
|
|
69
|
+
</template>
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { computed, reactive, ref, watch } from 'vue';
|
|
3
|
+
import { CAvatar, CButton } from '@coreui/vue';
|
|
4
|
+
|
|
5
|
+
import OasFormField from '@/components/OasFormField.vue';
|
|
6
|
+
import XCrudArrayEditor from '@/components/x-crud/XCrudArrayEditor.vue';
|
|
7
|
+
import XCrudReferenceInput from '@/components/x-crud/XCrudReferenceInput.vue';
|
|
8
|
+
import { formatCellValue, shortId } from '@/components/x-crud/xCrudFormat';
|
|
9
|
+
import type { XCrudEntityConfig, XCrudMode } from '@/components/x-crud/xCrudTypes';
|
|
10
|
+
import {
|
|
11
|
+
arrayItemDescriptors, fieldDescriptors, type FieldDescriptor
|
|
12
|
+
} from '@/contracts/formSchema';
|
|
13
|
+
import { fieldHelp, fieldLabel } from '@/contracts/labels';
|
|
14
|
+
import { collectBody, validateAll } from '@/contracts/oasForm';
|
|
15
|
+
import { t } from '@/i18n';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* XCrudForm (JUM-772 redesign, X-SYNTH pattern): 2-column field grid with
|
|
19
|
+
* OAS descriptions as helper text, avatar block, Save/Cancel footer; preview
|
|
20
|
+
* renders a readonly 4-column field grid with the same cell formatting as
|
|
21
|
+
* the table.
|
|
22
|
+
*/
|
|
23
|
+
const props = defineProps<{
|
|
24
|
+
config: XCrudEntityConfig;
|
|
25
|
+
mode: XCrudMode;
|
|
26
|
+
descriptors: FieldDescriptor[];
|
|
27
|
+
record?: Record<string, unknown>;
|
|
28
|
+
referenceRestrictions?: Record<string, string[]>;
|
|
29
|
+
/** Resolved `x-relation` labels (field → id → label) for preview cells (JUM-787). */
|
|
30
|
+
referenceLabels?: Record<string, Record<string, string>>;
|
|
31
|
+
}>();
|
|
32
|
+
|
|
33
|
+
const emit = defineEmits<{
|
|
34
|
+
submit: [body: Record<string, unknown>];
|
|
35
|
+
cancel: [];
|
|
36
|
+
}>();
|
|
37
|
+
|
|
38
|
+
const values = reactive<Record<string, unknown>>({});
|
|
39
|
+
const formError = ref('');
|
|
40
|
+
|
|
41
|
+
watch(
|
|
42
|
+
() => [props.record, props.mode],
|
|
43
|
+
() => {
|
|
44
|
+
Object.keys(values).forEach((key) => delete values[key]);
|
|
45
|
+
if (props.record) {
|
|
46
|
+
for (const d of props.descriptors) {
|
|
47
|
+
if (props.record[d.name] !== undefined) values[d.name] = props.record[d.name];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
for (const d of props.descriptors) {
|
|
51
|
+
if (values[d.name] === undefined && d.default !== undefined) values[d.name] = d.default;
|
|
52
|
+
}
|
|
53
|
+
formError.value = '';
|
|
54
|
+
},
|
|
55
|
+
{ immediate: true, deep: true }
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
const isArrayField = (d: FieldDescriptor) => d.type === 'array';
|
|
59
|
+
|
|
60
|
+
/** Item descriptors for array-of-objects fields (from the active schema). */
|
|
61
|
+
const itemDescriptorsFor = (d: FieldDescriptor): FieldDescriptor[] | undefined => {
|
|
62
|
+
const schema = props.mode === 'create' ? props.config.schemas.create : props.config.schemas.update;
|
|
63
|
+
return arrayItemDescriptors(schema, d.name);
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
const editableDescriptors = computed(() => (
|
|
67
|
+
props.descriptors.filter((d) => d.name !== props.config.avatarField)
|
|
68
|
+
));
|
|
69
|
+
|
|
70
|
+
const arrayValues = (d: FieldDescriptor): string[] => {
|
|
71
|
+
const current = values[d.name];
|
|
72
|
+
return Array.isArray(current) ? current.map(String) : [];
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
const toggleArrayOption = (d: FieldDescriptor, option: string, checked: boolean): void => {
|
|
76
|
+
const current = new Set(arrayValues(d));
|
|
77
|
+
if (checked) current.add(option);
|
|
78
|
+
else current.delete(option);
|
|
79
|
+
values[d.name] = [...current];
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
const submit = (): void => {
|
|
83
|
+
const invalid = validateAll(props.descriptors, values);
|
|
84
|
+
if (invalid) {
|
|
85
|
+
formError.value = invalid;
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
formError.value = '';
|
|
89
|
+
emit('submit', collectBody(props.descriptors, values));
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
const previewEntries = computed(() => {
|
|
93
|
+
if (!props.record) return [];
|
|
94
|
+
return Object.entries(props.record).filter(([key]) => key !== 'password');
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
/** Entity descriptors drive preview labels, formats and reference resolution. */
|
|
98
|
+
const entityDescriptors = computed<Record<string, FieldDescriptor>>(() => {
|
|
99
|
+
try {
|
|
100
|
+
return Object.fromEntries(fieldDescriptors(props.config.entity).map((d) => [d.name, d]));
|
|
101
|
+
} catch {
|
|
102
|
+
return {};
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
const previewLabel = (key: string): string => {
|
|
107
|
+
const descriptor = entityDescriptors.value[key];
|
|
108
|
+
return descriptor ? fieldLabel(descriptor, props.config.columnLabels) : fieldLabel({ name: key }, props.config.columnLabels);
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
const previewValue = (key: string, value: unknown): string => {
|
|
112
|
+
const descriptor = entityDescriptors.value[key] ?? { name: key, type: typeof value, required: false };
|
|
113
|
+
return formatCellValue(descriptor, value);
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
const referenceLabelFor = (key: string, value: unknown): string => (
|
|
117
|
+
props.referenceLabels?.[key]?.[String(value ?? '')] ?? String(value ?? '')
|
|
118
|
+
);
|
|
119
|
+
|
|
120
|
+
const isReference = (key: string): boolean => Boolean(entityDescriptors.value[key]?.relation);
|
|
121
|
+
|
|
122
|
+
const label = (d: FieldDescriptor): string => fieldLabel(d, props.config.columnLabels);
|
|
123
|
+
const help = (d: FieldDescriptor): string | undefined => fieldHelp(d);
|
|
124
|
+
</script>
|
|
125
|
+
|
|
126
|
+
<template>
|
|
127
|
+
<div class="xcrud-form">
|
|
128
|
+
<!-- PREVIEW: readonly full record, 4-column field grid -->
|
|
129
|
+
<template v-if="mode === 'preview' && record">
|
|
130
|
+
<div class="row g-3">
|
|
131
|
+
<template v-for="[key, value] in previewEntries" :key="key">
|
|
132
|
+
<div class="col-12 col-md-3">
|
|
133
|
+
<div class="small text-uppercase text-body-secondary">{{ previewLabel(key) }}</div>
|
|
134
|
+
<div class="fw-medium">
|
|
135
|
+
<template v-if="Array.isArray(value) && value.length && typeof value[0] === 'object'">
|
|
136
|
+
<div v-for="(item, index) in value" :key="index" class="border rounded p-2 mb-1 small">
|
|
137
|
+
<div v-for="(fieldValue, fieldKey) in item" :key="fieldKey">
|
|
138
|
+
<strong>{{ fieldLabel({ name: String(fieldKey) }) }}:</strong> {{ fieldValue }}
|
|
139
|
+
</div>
|
|
140
|
+
</div>
|
|
141
|
+
</template>
|
|
142
|
+
<template v-else-if="Array.isArray(value) && isReference(key)">
|
|
143
|
+
<span v-for="(chip, index) in value" :key="index" class="badge text-bg-light me-1">
|
|
144
|
+
{{ referenceLabelFor(key, chip) }}
|
|
145
|
+
</span>
|
|
146
|
+
<span v-if="value.length === 0">—</span>
|
|
147
|
+
</template>
|
|
148
|
+
<template v-else-if="Array.isArray(value)">
|
|
149
|
+
<span v-for="(chip, index) in value" :key="index" class="badge text-bg-secondary me-1">
|
|
150
|
+
{{ chip }}
|
|
151
|
+
</span>
|
|
152
|
+
<span v-if="value.length === 0">—</span>
|
|
153
|
+
</template>
|
|
154
|
+
<template v-else-if="isReference(key)">
|
|
155
|
+
{{ referenceLabelFor(key, value) }}
|
|
156
|
+
</template>
|
|
157
|
+
<template v-else-if="key === config.avatarField">
|
|
158
|
+
<CAvatar :src="String(value ?? '')" size="lg" color="secondary" text-color="white">
|
|
159
|
+
<CIcon icon="cil-user" size="lg" />
|
|
160
|
+
</CAvatar>
|
|
161
|
+
</template>
|
|
162
|
+
<template v-else-if="key === 'id' || key.endsWith('Id')">
|
|
163
|
+
<span class="font-monospace small" :title="String(value ?? '')">{{ shortId(value) }}</span>
|
|
164
|
+
</template>
|
|
165
|
+
<template v-else>
|
|
166
|
+
{{ previewValue(key, value) }}
|
|
167
|
+
</template>
|
|
168
|
+
</div>
|
|
169
|
+
</div>
|
|
170
|
+
</template>
|
|
171
|
+
</div>
|
|
172
|
+
</template>
|
|
173
|
+
|
|
174
|
+
<!-- CREATE / UPDATE: 2-column field grid with helper text -->
|
|
175
|
+
<template v-else>
|
|
176
|
+
<div v-if="formError" class="alert alert-danger" role="alert">{{ formError }}</div>
|
|
177
|
+
|
|
178
|
+
<div v-if="config.avatarField" class="d-flex align-items-center gap-3 mb-3">
|
|
179
|
+
<CAvatar
|
|
180
|
+
:src="String(record?.[config.avatarField] ?? '')"
|
|
181
|
+
size="lg"
|
|
182
|
+
color="secondary"
|
|
183
|
+
text-color="white"
|
|
184
|
+
>
|
|
185
|
+
<CIcon icon="cil-user" size="lg" />
|
|
186
|
+
</CAvatar>
|
|
187
|
+
<CButton color="secondary" variant="outline" size="sm" type="button">
|
|
188
|
+
<CIcon icon="cil-cloud-upload" size="sm" />
|
|
189
|
+
{{ mode === 'create' ? t('crud.uploadPhoto') : t('crud.changePhoto') }}
|
|
190
|
+
</CButton>
|
|
191
|
+
</div>
|
|
192
|
+
|
|
193
|
+
<div class="row g-3">
|
|
194
|
+
<template v-for="d in editableDescriptors" :key="d.name">
|
|
195
|
+
<!-- array-of-objects: full sub-resource editor (JUM-772) -->
|
|
196
|
+
<div
|
|
197
|
+
v-if="isArrayField(d) && itemDescriptorsFor(d)"
|
|
198
|
+
class="col-12"
|
|
199
|
+
>
|
|
200
|
+
<XCrudArrayEditor
|
|
201
|
+
:descriptor="d"
|
|
202
|
+
:item-descriptors="itemDescriptorsFor(d) ?? []"
|
|
203
|
+
:model-value="Array.isArray(values[d.name]) ? values[d.name] as Record<string, unknown>[] : []"
|
|
204
|
+
@update:model-value="values[d.name] = $event"
|
|
205
|
+
/>
|
|
206
|
+
</div>
|
|
207
|
+
<!-- array-of-strings as checkbox group (options from the config) -->
|
|
208
|
+
<div v-if="isArrayField(d) && config.arrayOptions?.[d.name]" class="col-12 col-md-6">
|
|
209
|
+
<label class="form-label fw-semibold mb-1">
|
|
210
|
+
{{ label(d) }}
|
|
211
|
+
<span v-if="d.required" class="text-danger">*</span>
|
|
212
|
+
</label>
|
|
213
|
+
<div>
|
|
214
|
+
<label
|
|
215
|
+
v-for="option in config.arrayOptions[d.name]"
|
|
216
|
+
:key="option"
|
|
217
|
+
class="form-check form-check-inline"
|
|
218
|
+
>
|
|
219
|
+
<input
|
|
220
|
+
class="form-check-input"
|
|
221
|
+
type="checkbox"
|
|
222
|
+
:checked="arrayValues(d).includes(option)"
|
|
223
|
+
:aria-label="`${d.name}-${option}`"
|
|
224
|
+
@change="toggleArrayOption(d, option, ($event.target as HTMLInputElement).checked)"
|
|
225
|
+
>
|
|
226
|
+
<span class="form-check-label">{{ option }}</span>
|
|
227
|
+
</label>
|
|
228
|
+
</div>
|
|
229
|
+
</div>
|
|
230
|
+
<!-- entity reference (x-relation) -->
|
|
231
|
+
<div v-else-if="d.relation?.entity" class="col-12 col-md-6">
|
|
232
|
+
<label class="form-label fw-semibold mb-1" :for="`xref-${d.name}`">
|
|
233
|
+
{{ label(d) }}
|
|
234
|
+
<span v-if="d.required" class="text-danger">*</span>
|
|
235
|
+
</label>
|
|
236
|
+
<XCrudReferenceInput
|
|
237
|
+
:descriptor="d"
|
|
238
|
+
:model-value="String(values[d.name] ?? '')"
|
|
239
|
+
:restrict-to="referenceRestrictions?.[d.name]"
|
|
240
|
+
@update:model-value="values[d.name] = $event"
|
|
241
|
+
/>
|
|
242
|
+
<div v-if="help(d)" class="form-text">{{ help(d) }}</div>
|
|
243
|
+
</div>
|
|
244
|
+
<!-- plain OAS field -->
|
|
245
|
+
<div v-else-if="!isArrayField(d)" class="col-12 col-md-6">
|
|
246
|
+
<OasFormField v-model="values[d.name]" :descriptor="d" class="mb-0" />
|
|
247
|
+
</div>
|
|
248
|
+
</template>
|
|
249
|
+
</div>
|
|
250
|
+
|
|
251
|
+
<div class="d-flex gap-2 mt-3 pt-3 border-top">
|
|
252
|
+
<CButton color="primary" type="button" @click="submit">
|
|
253
|
+
<CIcon icon="cil-save" size="sm" /> {{ mode === 'create' ? t('crud.create') : t('crud.save') }}
|
|
254
|
+
</CButton>
|
|
255
|
+
<CButton color="secondary" variant="outline" type="button" @click="emit('cancel')">
|
|
256
|
+
{{ t('crud.cancel') }}
|
|
257
|
+
</CButton>
|
|
258
|
+
</div>
|
|
259
|
+
</template>
|
|
260
|
+
</div>
|
|
261
|
+
</template>
|