@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.
Files changed (1146) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +107 -0
  3. package/README.pt-BR.md +112 -0
  4. package/bin/jumentix-init.js +11 -0
  5. package/bin/jumentix.js +8 -0
  6. package/bin/launcher.js +72 -0
  7. package/dist/args.d.ts +46 -0
  8. package/dist/args.js +215 -0
  9. package/dist/args.js.map +1 -0
  10. package/dist/cli.d.ts +3 -0
  11. package/dist/cli.js +116 -0
  12. package/dist/cli.js.map +1 -0
  13. package/dist/commands/add.d.ts +16 -0
  14. package/dist/commands/add.js +442 -0
  15. package/dist/commands/add.js.map +1 -0
  16. package/dist/commands/doctor.d.ts +34 -0
  17. package/dist/commands/doctor.js +397 -0
  18. package/dist/commands/doctor.js.map +1 -0
  19. package/dist/commands/init.d.ts +8 -0
  20. package/dist/commands/init.js +221 -0
  21. package/dist/commands/init.js.map +1 -0
  22. package/dist/commands/upgrade.d.ts +14 -0
  23. package/dist/commands/upgrade.js +280 -0
  24. package/dist/commands/upgrade.js.map +1 -0
  25. package/dist/config.d.ts +16 -0
  26. package/dist/config.js +27 -0
  27. package/dist/config.js.map +1 -0
  28. package/dist/generators/backend.d.ts +45 -0
  29. package/dist/generators/backend.js +182 -0
  30. package/dist/generators/backend.js.map +1 -0
  31. package/dist/generators/domains.d.ts +46 -0
  32. package/dist/generators/domains.js +170 -0
  33. package/dist/generators/domains.js.map +1 -0
  34. package/dist/generators/env.d.ts +26 -0
  35. package/dist/generators/env.js +72 -0
  36. package/dist/generators/env.js.map +1 -0
  37. package/dist/generators/frontend.d.ts +47 -0
  38. package/dist/generators/frontend.js +211 -0
  39. package/dist/generators/frontend.js.map +1 -0
  40. package/dist/generators/frontendModules.d.ts +53 -0
  41. package/dist/generators/frontendModules.js +322 -0
  42. package/dist/generators/frontendModules.js.map +1 -0
  43. package/dist/generators/frontendOas.d.ts +54 -0
  44. package/dist/generators/frontendOas.js +226 -0
  45. package/dist/generators/frontendOas.js.map +1 -0
  46. package/dist/generators/index.d.ts +11 -0
  47. package/dist/generators/index.js +71 -0
  48. package/dist/generators/index.js.map +1 -0
  49. package/dist/generators/jumentixVersions.d.ts +18 -0
  50. package/dist/generators/jumentixVersions.js +52 -0
  51. package/dist/generators/jumentixVersions.js.map +1 -0
  52. package/dist/generators/packageJson.d.ts +16 -0
  53. package/dist/generators/packageJson.js +52 -0
  54. package/dist/generators/packageJson.js.map +1 -0
  55. package/dist/generators/paths.d.ts +19 -0
  56. package/dist/generators/paths.js +80 -0
  57. package/dist/generators/paths.js.map +1 -0
  58. package/dist/generators/slice.d.ts +26 -0
  59. package/dist/generators/slice.js +92 -0
  60. package/dist/generators/slice.js.map +1 -0
  61. package/dist/generators/workspace.d.ts +113 -0
  62. package/dist/generators/workspace.js +508 -0
  63. package/dist/generators/workspace.js.map +1 -0
  64. package/dist/index.d.ts +8 -0
  65. package/dist/index.js +49 -0
  66. package/dist/index.js.map +1 -0
  67. package/dist/legacy/bootstrap.d.ts +80 -0
  68. package/dist/legacy/bootstrap.js +276 -0
  69. package/dist/legacy/bootstrap.js.map +1 -0
  70. package/dist/prompt.d.ts +18 -0
  71. package/dist/prompt.js +51 -0
  72. package/dist/prompt.js.map +1 -0
  73. package/dist/sources/catalog.d.ts +7 -0
  74. package/dist/sources/catalog.js +40 -0
  75. package/dist/sources/catalog.js.map +1 -0
  76. package/dist/sources/designerExport.d.ts +10 -0
  77. package/dist/sources/designerExport.js +39 -0
  78. package/dist/sources/designerExport.js.map +1 -0
  79. package/dist/sources/index.d.ts +10 -0
  80. package/dist/sources/index.js +34 -0
  81. package/dist/sources/index.js.map +1 -0
  82. package/dist/sources/messages.d.ts +16 -0
  83. package/dist/sources/messages.js +22 -0
  84. package/dist/sources/messages.js.map +1 -0
  85. package/dist/sources/oas.d.ts +11 -0
  86. package/dist/sources/oas.js +75 -0
  87. package/dist/sources/oas.js.map +1 -0
  88. package/dist/sources/planBuilder.d.ts +79 -0
  89. package/dist/sources/planBuilder.js +307 -0
  90. package/dist/sources/planBuilder.js.map +1 -0
  91. package/dist/sources/preset.d.ts +11 -0
  92. package/dist/sources/preset.js +44 -0
  93. package/dist/sources/preset.js.map +1 -0
  94. package/dist/sources/resolve.d.ts +7 -0
  95. package/dist/sources/resolve.js +66 -0
  96. package/dist/sources/resolve.js.map +1 -0
  97. package/dist/sources/types.d.ts +82 -0
  98. package/dist/sources/types.js +20 -0
  99. package/dist/sources/types.js.map +1 -0
  100. package/dist/sources/validate.d.ts +5 -0
  101. package/dist/sources/validate.js +66 -0
  102. package/dist/sources/validate.js.map +1 -0
  103. package/dist/upgrade/threeWay.d.ts +39 -0
  104. package/dist/upgrade/threeWay.js +165 -0
  105. package/dist/upgrade/threeWay.js.map +1 -0
  106. package/fixtures/designer-export.json +163 -0
  107. package/fixtures/invalid-duplicate-entity.yml +28 -0
  108. package/fixtures/invalid-no-core.yml +21 -0
  109. package/fixtures/invalid-no-primary-key.yml +18 -0
  110. package/fixtures/users-oas.yml +79 -0
  111. package/package.json +63 -0
  112. package/templates/backend/README.md +42 -0
  113. package/templates/backend/README.pt-BR.md +46 -0
  114. package/templates/backend/docker/services/Dockerfile.functions +17 -0
  115. package/templates/backend/docker/services/Dockerfile.graphql +17 -0
  116. package/templates/backend/docker/services/Dockerfile.grpc +17 -0
  117. package/templates/backend/docker/services/Dockerfile.rest +17 -0
  118. package/templates/backend/docker/services/Dockerfile.websocket +17 -0
  119. package/templates/backend/docker-compose-aurora.yml +20 -0
  120. package/templates/backend/docker-compose-cassandra.yml +22 -0
  121. package/templates/backend/docker-compose-dynamodb.yml +18 -0
  122. package/templates/backend/docker-compose-firebase.yml +34 -0
  123. package/templates/backend/docker-compose-messaging.yml +35 -0
  124. package/templates/backend/docker-compose-mongodb.yml +16 -0
  125. package/templates/backend/docker-compose-mssql.yml +26 -0
  126. package/templates/backend/docker-compose-mysql.yml +24 -0
  127. package/templates/backend/docker-compose-oracle.yml +21 -0
  128. package/templates/backend/docker-compose-postgresql.yml +20 -0
  129. package/templates/backend/docker-compose-rds.yml +20 -0
  130. package/templates/backend/docker-compose-redis.yml +30 -0
  131. package/templates/backend/docker-compose-service-templates.yml +40 -0
  132. package/templates/backend/documentation/README.md +65 -0
  133. package/templates/backend/documentation/README.pt-BR.md +68 -0
  134. package/templates/backend/documentation/guides/CREATING-REALTIME-API-WITH-JUMENTIX.md +176 -0
  135. package/templates/backend/documentation/guides/CREATING-REALTIME-API-WITH-JUMENTIX.pt-BR.md +177 -0
  136. package/templates/backend/documentation/guides/CREATING-REST-API-WITH-JUMENTIX.md +189 -0
  137. package/templates/backend/documentation/guides/CREATING-REST-API-WITH-JUMENTIX.pt-BR.md +190 -0
  138. package/templates/backend/package.json +44 -0
  139. package/templates/backend/scripts/purge-tombstones.js +91 -0
  140. package/templates/backend/scripts/run-api-smoke.js +33 -0
  141. package/templates/backend/scripts/run-redis-dead-letter-integration.js +42 -0
  142. package/templates/backend/scripts/run-redis-key-value-integration.js +62 -0
  143. package/templates/backend/scripts/run-security-smoke.js +51 -0
  144. package/templates/backend/seed/accounts-api.json +401 -0
  145. package/templates/backend/seed/accounts.ts +4 -0
  146. package/templates/backend/seed/organizations.ts +88 -0
  147. package/templates/backend/seed/transactions-api.json +5011 -0
  148. package/templates/backend/seed/transactions.ts +4 -0
  149. package/templates/backend/seed/users.ts +191 -0
  150. package/templates/backend/src/config/.env.ci +48 -0
  151. package/templates/backend/src/config/.env.dev +75 -0
  152. package/templates/backend/src/config/.env.dev.example +77 -0
  153. package/templates/backend/src/config/.env.staging +52 -0
  154. package/templates/backend/src/config/auth.ts +14 -0
  155. package/templates/backend/src/config/constants.ts +53 -0
  156. package/templates/backend/src/config/jwt.ts +9 -0
  157. package/templates/backend/src/config/redis.ts +11 -0
  158. package/templates/backend/src/config/security.ts +25 -0
  159. package/templates/backend/src/infra/audit/ISecurityAuditRepository.ts +13 -0
  160. package/templates/backend/src/infra/audit/InMemorySecurityAuditRepository.ts +26 -0
  161. package/templates/backend/src/infra/audit/index.ts +2 -0
  162. package/templates/backend/src/infra/cache/CacheService.ts +74 -0
  163. package/templates/backend/src/infra/cache/ICacheService.ts +7 -0
  164. package/templates/backend/src/infra/cache/index.ts +2 -0
  165. package/templates/backend/src/infra/context/Context.ts +199 -0
  166. package/templates/backend/src/infra/events/InMemoryEventBus.ts +24 -0
  167. package/templates/backend/src/infra/exceptions/BaseError.ts +42 -0
  168. package/templates/backend/src/infra/exceptions/ComposeEventError.ts +9 -0
  169. package/templates/backend/src/infra/exceptions/ConflictError.ts +10 -0
  170. package/templates/backend/src/infra/exceptions/DataBaseNotFoundError.ts +10 -0
  171. package/templates/backend/src/infra/exceptions/DatabasePagingError.ts +10 -0
  172. package/templates/backend/src/infra/exceptions/DomainNotFoundError.ts +9 -0
  173. package/templates/backend/src/infra/exceptions/DomainValidationError.ts +9 -0
  174. package/templates/backend/src/infra/exceptions/ForbiddenError.ts +9 -0
  175. package/templates/backend/src/infra/exceptions/ISerializedError.ts +8 -0
  176. package/templates/backend/src/infra/exceptions/InternalServerError.ts +9 -0
  177. package/templates/backend/src/infra/exceptions/NotFoundError.ts +9 -0
  178. package/templates/backend/src/infra/exceptions/NotImplemented.ts +9 -0
  179. package/templates/backend/src/infra/exceptions/ResourceLockedError.ts +10 -0
  180. package/templates/backend/src/infra/exceptions/UnauthorizedError.ts +9 -0
  181. package/templates/backend/src/infra/exceptions/ValidationError.ts +9 -0
  182. package/templates/backend/src/infra/exceptions/error.codes.ts +23 -0
  183. package/templates/backend/src/infra/exceptions/index.ts +20 -0
  184. package/templates/backend/src/infra/exceptions/registerPersistenceCorrelation.ts +24 -0
  185. package/templates/backend/src/infra/jwt/IJwtService.ts +6 -0
  186. package/templates/backend/src/infra/jwt/JwtService.ts +79 -0
  187. package/templates/backend/src/infra/messages/InMemoryMessageMediator.ts +4 -0
  188. package/templates/backend/src/infra/messages/adapters/BullMqMessageMediatorAdapter.ts +1 -0
  189. package/templates/backend/src/infra/messages/adapters/InMemoryMessageMediatorAdapter.ts +1 -0
  190. package/templates/backend/src/infra/messages/adapters/RabbitMqMessageMediatorAdapter.ts +1 -0
  191. package/templates/backend/src/infra/messages/compileMessageMediator.ts +1 -0
  192. package/templates/backend/src/infra/messages/repositories/QueueRequestResponseRepository.ts +39 -0
  193. package/templates/backend/src/infra/messages/repositories/index.ts +1 -0
  194. package/templates/backend/src/infra/mutex/adapter/MutexService.ts +1 -0
  195. package/templates/backend/src/infra/mutex/port/IMutexService.ts +1 -0
  196. package/templates/backend/src/infra/persistence/InMemoryDatabase/InMemoryDbClient.ts +16 -0
  197. package/templates/backend/src/infra/persistence/InMemoryDatabase/Stores/InMemoryRelationalStore.ts +209 -0
  198. package/templates/backend/src/infra/persistence/InMemoryDatabase/Stores/OrganizationStoreAPI.ts +16 -0
  199. package/templates/backend/src/infra/persistence/InMemoryDatabase/Stores/UserStoreAPI.ts +13 -0
  200. package/templates/backend/src/infra/persistence/InMemoryDatabase/idReservationLedger.ts +4 -0
  201. package/templates/backend/src/infra/persistence/KeyValueStorage/BaseKeyValueStorageClient.ts +1 -0
  202. package/templates/backend/src/infra/persistence/KeyValueStorage/IKeyValueStorageClient.ts +1 -0
  203. package/templates/backend/src/infra/persistence/KeyValueStorage/InMemoryKeyValueStorageClient.ts +1 -0
  204. package/templates/backend/src/infra/persistence/KeyValueStorage/RedisKeyValueStorageClient.ts +1 -0
  205. package/templates/backend/src/infra/persistence/KeyValueStorage/compileKeyValueStorageClient.ts +1 -0
  206. package/templates/backend/src/infra/persistence/compileDatabaseClient.ts +23 -0
  207. package/templates/backend/src/infra/persistence/external/AuroraRepository.ts +1 -0
  208. package/templates/backend/src/infra/persistence/external/BaseExternalDataRepository.ts +6 -0
  209. package/templates/backend/src/infra/persistence/external/CassandraRepository.ts +1 -0
  210. package/templates/backend/src/infra/persistence/external/DynamoDbRepository.ts +1 -0
  211. package/templates/backend/src/infra/persistence/external/ExternalStoreProxy.ts +2 -0
  212. package/templates/backend/src/infra/persistence/external/FirebaseRepository.ts +1 -0
  213. package/templates/backend/src/infra/persistence/external/MongoMongooseRepository.ts +1 -0
  214. package/templates/backend/src/infra/persistence/external/OracleRepository.ts +1 -0
  215. package/templates/backend/src/infra/persistence/external/RdsRepository.ts +1 -0
  216. package/templates/backend/src/infra/persistence/external/SqlSequelizeRepository.ts +7 -0
  217. package/templates/backend/src/infra/persistence/external/index.ts +3 -0
  218. package/templates/backend/src/infra/persistence/port/IDatabaseClient.ts +11 -0
  219. package/templates/backend/src/infra/persistence/purgeStores.ts +47 -0
  220. package/templates/backend/src/infra/ports/persistence/IStore.ts +1 -0
  221. package/templates/backend/src/infra/security/IPasswordCryptoService.ts +28 -0
  222. package/templates/backend/src/infra/security/PasswordCryptoService.ts +51 -0
  223. package/templates/backend/src/infra/security/index.ts +7 -0
  224. package/templates/backend/src/interface/Async/RealtimeAPIBase.ts +417 -0
  225. package/templates/backend/src/interface/Async/RealtimeDomainEvent.ts +3 -0
  226. package/templates/backend/src/interface/CLI/core/catalogStorage.ts +51 -0
  227. package/templates/backend/src/interface/CLI/core/prompt.ts +46 -0
  228. package/templates/backend/src/interface/CLI/index.ts +73 -0
  229. package/templates/backend/src/interface/CLI/subapps/domainManager.ts +202 -0
  230. package/templates/backend/src/interface/CLI/subapps/entityModelManager.ts +472 -0
  231. package/templates/backend/src/interface/CLI/types.ts +56 -0
  232. package/templates/backend/src/interface/GUI/README.md +35 -0
  233. package/templates/backend/src/interface/GUI/README.pt-BR.md +35 -0
  234. package/templates/backend/src/interface/GUI/desktop/README.md +9 -0
  235. package/templates/backend/src/interface/GUI/web/README.md +10 -0
  236. package/templates/backend/src/interface/HTTP/RestAPI.ts +569 -0
  237. package/templates/backend/src/interface/HTTP/adapters/adonis-js/AdonisJsServer.ts +245 -0
  238. package/templates/backend/src/interface/HTTP/adapters/adonis-js/adonis-js.ts +55 -0
  239. package/templates/backend/src/interface/HTTP/adapters/adonis-js/handlers/infraHandlers.ts +3 -0
  240. package/templates/backend/src/interface/HTTP/adapters/adonis-js/responses/sendErrorResponse.ts +9 -0
  241. package/templates/backend/src/interface/HTTP/adapters/aws/lambda/handlers/localhost.ts +12 -0
  242. package/templates/backend/src/interface/HTTP/adapters/aws/lambda/responses/sendErrorResponse.ts +9 -0
  243. package/templates/backend/src/interface/HTTP/adapters/cloudflare-workers/cloudflare-workers.ts +277 -0
  244. package/templates/backend/src/interface/HTTP/adapters/cloudflare-workers/responses/sendErrorResponse.ts +9 -0
  245. package/templates/backend/src/interface/HTTP/adapters/derby-js/DerbyJsServer.ts +242 -0
  246. package/templates/backend/src/interface/HTTP/adapters/derby-js/derby-js.ts +55 -0
  247. package/templates/backend/src/interface/HTTP/adapters/derby-js/handlers/infraHandlers.ts +3 -0
  248. package/templates/backend/src/interface/HTTP/adapters/derby-js/responses/sendErrorResponse.ts +9 -0
  249. package/templates/backend/src/interface/HTTP/adapters/express/ExpressServer.ts +94 -0
  250. package/templates/backend/src/interface/HTTP/adapters/express/express.ts +56 -0
  251. package/templates/backend/src/interface/HTTP/adapters/express/handlers/apiDocGetHandlerFactory.ts +22 -0
  252. package/templates/backend/src/interface/HTTP/adapters/express/handlers/apiversions.get.ts +23 -0
  253. package/templates/backend/src/interface/HTTP/adapters/express/handlers/infraHandlers.ts +9 -0
  254. package/templates/backend/src/interface/HTTP/adapters/express/handlers/localhost.get.ts +23 -0
  255. package/templates/backend/src/interface/HTTP/adapters/express/responses/sendErrorResponse.ts +10 -0
  256. package/templates/backend/src/interface/HTTP/adapters/fastify/FastifyServer.ts +113 -0
  257. package/templates/backend/src/interface/HTTP/adapters/fastify/fastify.ts +56 -0
  258. package/templates/backend/src/interface/HTTP/adapters/fastify/handlers/apiDocGetHandlerFactory.ts +23 -0
  259. package/templates/backend/src/interface/HTTP/adapters/fastify/handlers/apiversions.get.ts +24 -0
  260. package/templates/backend/src/interface/HTTP/adapters/fastify/handlers/infraHandlers.ts +9 -0
  261. package/templates/backend/src/interface/HTTP/adapters/fastify/handlers/localhost.get.ts +15 -0
  262. package/templates/backend/src/interface/HTTP/adapters/fastify/responses/sendErrorResponse.ts +10 -0
  263. package/templates/backend/src/interface/HTTP/adapters/feathers/FeathersServer.ts +218 -0
  264. package/templates/backend/src/interface/HTTP/adapters/feathers/feathers.ts +55 -0
  265. package/templates/backend/src/interface/HTTP/adapters/feathers/handlers/infraHandlers.ts +3 -0
  266. package/templates/backend/src/interface/HTTP/adapters/feathers/responses/sendErrorResponse.ts +9 -0
  267. package/templates/backend/src/interface/HTTP/adapters/loopback/LoopBackServer.ts +165 -0
  268. package/templates/backend/src/interface/HTTP/adapters/loopback/handlers/infraHandlers.ts +3 -0
  269. package/templates/backend/src/interface/HTTP/adapters/loopback/loopback.ts +55 -0
  270. package/templates/backend/src/interface/HTTP/adapters/loopback/responses/sendErrorResponse.ts +9 -0
  271. package/templates/backend/src/interface/HTTP/adapters/restify/RestifyServer.ts +117 -0
  272. package/templates/backend/src/interface/HTTP/adapters/restify/handlers/apiDocGetHandlerFactory.ts +21 -0
  273. package/templates/backend/src/interface/HTTP/adapters/restify/handlers/apiversions.get.ts +24 -0
  274. package/templates/backend/src/interface/HTTP/adapters/restify/handlers/auth/login.ts +39 -0
  275. package/templates/backend/src/interface/HTTP/adapters/restify/handlers/auth/logout.ts +40 -0
  276. package/templates/backend/src/interface/HTTP/adapters/restify/handlers/auth/register.ts +41 -0
  277. package/templates/backend/src/interface/HTTP/adapters/restify/handlers/auth/updatePassword.ts +42 -0
  278. package/templates/backend/src/interface/HTTP/adapters/restify/handlers/infraHandlers.ts +9 -0
  279. package/templates/backend/src/interface/HTTP/adapters/restify/handlers/localhost.get.ts +17 -0
  280. package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/create.ts +40 -0
  281. package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/createDocument.ts +42 -0
  282. package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/createEmail.ts +42 -0
  283. package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/createPhone.ts +42 -0
  284. package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/deleteDocument.ts +41 -0
  285. package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/deleteEmail.ts +41 -0
  286. package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/deleteOne.ts +37 -0
  287. package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/deletePhone.ts +41 -0
  288. package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/getAll.ts +46 -0
  289. package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/getOneById.ts +40 -0
  290. package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/update.ts +38 -0
  291. package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/updateDocument.ts +43 -0
  292. package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/updateEmail.ts +43 -0
  293. package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/updatePassword.ts +43 -0
  294. package/templates/backend/src/interface/HTTP/adapters/restify/handlers/users/updatePhone.ts +43 -0
  295. package/templates/backend/src/interface/HTTP/adapters/restify/responses/sendErrorResponse.ts +8 -0
  296. package/templates/backend/src/interface/HTTP/adapters/restify/restify.ts +58 -0
  297. package/templates/backend/src/interface/HTTP/adapters/sails-js/SailsJsServer.ts +205 -0
  298. package/templates/backend/src/interface/HTTP/adapters/sails-js/handlers/infraHandlers.ts +3 -0
  299. package/templates/backend/src/interface/HTTP/adapters/sails-js/responses/sendErrorResponse.ts +9 -0
  300. package/templates/backend/src/interface/HTTP/adapters/sails-js/sails-js.ts +55 -0
  301. package/templates/backend/src/interface/HTTP/adapters/start-rest-api.ts +65 -0
  302. package/templates/backend/src/interface/HTTP/adapters/total-js/TotalJsServer.ts +245 -0
  303. package/templates/backend/src/interface/HTTP/adapters/total-js/handlers/infraHandlers.ts +3 -0
  304. package/templates/backend/src/interface/HTTP/adapters/total-js/responses/sendErrorResponse.ts +9 -0
  305. package/templates/backend/src/interface/HTTP/adapters/total-js/total-js.ts +55 -0
  306. package/templates/backend/src/interface/HTTP/adapters/vercel-functions/responses/sendErrorResponse.ts +9 -0
  307. package/templates/backend/src/interface/HTTP/adapters/vercel-functions/vercel-functions.ts +252 -0
  308. package/templates/backend/src/interface/HTTP/adapters/vercel-functions/vercelFunctionsSecurity.ts +14 -0
  309. package/templates/backend/src/interface/HTTP/ports/BaseController.ts +110 -0
  310. package/templates/backend/src/interface/HTTP/ports/EHTTPFrameworks.ts +14 -0
  311. package/templates/backend/src/interface/HTTP/ports/EndPointFactory.ts +4 -0
  312. package/templates/backend/src/interface/HTTP/ports/HTTPBaseServer.ts +46 -0
  313. package/templates/backend/src/interface/HTTP/ports/IAPIFactory.ts +22 -0
  314. package/templates/backend/src/interface/HTTP/ports/IController.ts +39 -0
  315. package/templates/backend/src/interface/HTTP/ports/IControllerFactory.ts +23 -0
  316. package/templates/backend/src/interface/HTTP/ports/IHTTPRequest.ts +5 -0
  317. package/templates/backend/src/interface/HTTP/ports/IHTTPResponse.ts +5 -0
  318. package/templates/backend/src/interface/HTTP/ports/IHTTPServer.ts +9 -0
  319. package/templates/backend/src/interface/HTTP/ports/IHandlerFactory.ts +16 -0
  320. package/templates/backend/src/interface/HTTP/ports/IbaseHandler.ts +9 -0
  321. package/templates/backend/src/interface/HTTP/ports/IbaseHandlerFactory.ts +8 -0
  322. package/templates/backend/src/interface/HTTP/ports/index.ts +39 -0
  323. package/templates/backend/src/interface/HTTP/validators/checkRequiredProperties.ts +22 -0
  324. package/templates/backend/src/interface/HTTP/validators/getSchema.ts +34 -0
  325. package/templates/backend/src/interface/HTTP/validators/index.ts +6 -0
  326. package/templates/backend/src/interface/HTTP/validators/isPropertiesMatching.ts +20 -0
  327. package/templates/backend/src/interface/HTTP/validators/throwIfOASInputValidationFails.ts +94 -0
  328. package/templates/backend/src/interface/HTTP/validators/validateRequestAgainstOAS.ts +29 -0
  329. package/templates/backend/src/interface/HTTP/validators/validateRequestParams.ts +78 -0
  330. package/templates/backend/src/interface/WebSocket/WebSocketAPI.ts +189 -0
  331. package/templates/backend/src/interface/WebSocket/adapters/socket-io/clusterAdapter.ts +35 -0
  332. package/templates/backend/src/interface/WebSocket/adapters/socket-io/redisStreamsAdapter.ts +49 -0
  333. package/templates/backend/src/interface/WebSocket/adapters/socket-io/socket-io.ts +93 -0
  334. package/templates/backend/src/interface/WebSocket/adapters/start-websocket-api.ts +34 -0
  335. package/templates/backend/src/interface/gRPC/adapters/grpc/grpc.ts +73 -0
  336. package/templates/backend/src/interface/gRPC/adapters/start-grpc-api.ts +13 -0
  337. package/templates/backend/src/interface/gRPC/gRPCAPI.ts +211 -0
  338. package/templates/backend/src/interface/gRPC/resolveGrpcProtoPath.ts +42 -0
  339. package/templates/backend/src/interface/index.ts +0 -0
  340. package/templates/backend/src/interface/runtime/RuntimeEnvironment.ts +77 -0
  341. package/templates/backend/src/modules/Users/adapters/in/http/controllers/AuthController.ts +96 -0
  342. package/templates/backend/src/modules/Users/adapters/in/http/controllers/OrganizationController.ts +350 -0
  343. package/templates/backend/src/modules/Users/adapters/in/http/controllers/UserController.ts +383 -0
  344. package/templates/backend/src/modules/Users/adapters/in/http/controllers/index.ts +3 -0
  345. package/templates/backend/src/modules/Users/adapters/out/persistence/OrganizationDataRepository.ts +192 -0
  346. package/templates/backend/src/modules/Users/adapters/out/persistence/UserDataRepository.ts +215 -0
  347. package/templates/backend/src/modules/Users/adapters/out/persistence/index.ts +1 -0
  348. package/templates/backend/src/modules/Users/application/AuthUseCases.ts +103 -0
  349. package/templates/backend/src/modules/Users/application/UserUseCases.ts +89 -0
  350. package/templates/backend/src/modules/Users/application/ports/IAuthUseCases.ts +19 -0
  351. package/templates/backend/src/modules/Users/application/ports/IOrganizationUseCases.ts +48 -0
  352. package/templates/backend/src/modules/Users/application/ports/IUserUseCases.ts +51 -0
  353. package/templates/backend/src/modules/Users/application/use-cases/AuthUseCases.ts +1 -0
  354. package/templates/backend/src/modules/Users/application/use-cases/OrganizationUseCases.ts +124 -0
  355. package/templates/backend/src/modules/Users/application/use-cases/UserUseCases.ts +1 -0
  356. package/templates/backend/src/modules/Users/application/use-cases/index.ts +2 -0
  357. package/templates/backend/src/modules/Users/composition/composeUserDeadLetterReplay.ts +116 -0
  358. package/templates/backend/src/modules/Users/composition/composeUsersAuthServices.ts +145 -0
  359. package/templates/backend/src/modules/Users/domain/Entity/IOrganization.ts +17 -0
  360. package/templates/backend/src/modules/Users/domain/Entity/IUser.ts +22 -0
  361. package/templates/backend/src/modules/Users/domain/Model/Organization.ts +280 -0
  362. package/templates/backend/src/modules/Users/domain/Model/User.ts +445 -0
  363. package/templates/backend/src/modules/Users/domain/security/Rbac.ts +87 -0
  364. package/templates/backend/src/modules/Users/domain/security/TenantAuthorizationPolicy.ts +126 -0
  365. package/templates/backend/src/modules/Users/events/LoginRequestEvent.ts +18 -0
  366. package/templates/backend/src/modules/Users/events/LogoutRequestEvent.ts +18 -0
  367. package/templates/backend/src/modules/Users/events/OrganizationAddressCreateRequestEvent.ts +19 -0
  368. package/templates/backend/src/modules/Users/events/OrganizationAddressDeleteRequestEvent.ts +19 -0
  369. package/templates/backend/src/modules/Users/events/OrganizationAddressUpdateRequestEvent.ts +20 -0
  370. package/templates/backend/src/modules/Users/events/OrganizationCreateRequestEvent.ts +18 -0
  371. package/templates/backend/src/modules/Users/events/OrganizationDeleteRequestEvent.ts +18 -0
  372. package/templates/backend/src/modules/Users/events/OrganizationEmailCreateRequestEvent.ts +19 -0
  373. package/templates/backend/src/modules/Users/events/OrganizationEmailDeleteRequestEvent.ts +19 -0
  374. package/templates/backend/src/modules/Users/events/OrganizationEmailUpdateRequestEvent.ts +20 -0
  375. package/templates/backend/src/modules/Users/events/OrganizationGetAllRequestEvent.ts +18 -0
  376. package/templates/backend/src/modules/Users/events/OrganizationGetMetricsRequestEvent.ts +18 -0
  377. package/templates/backend/src/modules/Users/events/OrganizationGetOneRequestEvent.ts +18 -0
  378. package/templates/backend/src/modules/Users/events/OrganizationPhoneCreateRequestEvent.ts +19 -0
  379. package/templates/backend/src/modules/Users/events/OrganizationPhoneDeleteRequestEvent.ts +19 -0
  380. package/templates/backend/src/modules/Users/events/OrganizationPhoneUpdateRequestEvent.ts +20 -0
  381. package/templates/backend/src/modules/Users/events/OrganizationUpdateRequestEvent.ts +19 -0
  382. package/templates/backend/src/modules/Users/events/RegisterRequestEvent.ts +18 -0
  383. package/templates/backend/src/modules/Users/events/UpdatePasswordRequestEvent.ts +18 -0
  384. package/templates/backend/src/modules/Users/events/UserCreateRequestEvent.ts +18 -0
  385. package/templates/backend/src/modules/Users/events/UserDeleteRequestEvent.ts +19 -0
  386. package/templates/backend/src/modules/Users/events/UserDocumentCreateRequestEvent.ts +19 -0
  387. package/templates/backend/src/modules/Users/events/UserDocumentDeleteRequestEvent.ts +19 -0
  388. package/templates/backend/src/modules/Users/events/UserDocumentUpdateRequestEvent.ts +19 -0
  389. package/templates/backend/src/modules/Users/events/UserEmailCreateRequestEvent.ts +19 -0
  390. package/templates/backend/src/modules/Users/events/UserEmailDeleteRequestEvent.ts +19 -0
  391. package/templates/backend/src/modules/Users/events/UserEmailUpdateRequestEvent.ts +19 -0
  392. package/templates/backend/src/modules/Users/events/UserGetAllRequestEvent.ts +19 -0
  393. package/templates/backend/src/modules/Users/events/UserGetMetricsRequestEvent.ts +18 -0
  394. package/templates/backend/src/modules/Users/events/UserGetOneRequestEvent.ts +19 -0
  395. package/templates/backend/src/modules/Users/events/UserPasswordUpdateRequestEvent.ts +19 -0
  396. package/templates/backend/src/modules/Users/events/UserPhoneCreateRequestEvent.ts +19 -0
  397. package/templates/backend/src/modules/Users/events/UserPhoneDeleteRequestEvent.ts +19 -0
  398. package/templates/backend/src/modules/Users/events/UserPhoneUpdateRequestEvent.ts +19 -0
  399. package/templates/backend/src/modules/Users/events/UserUpdateRequestEvent.ts +19 -0
  400. package/templates/backend/src/modules/Users/events/contracts/IUserEventListeners.ts +8 -0
  401. package/templates/backend/src/modules/Users/events/contracts/UserIntegrationEventName.ts +10 -0
  402. package/templates/backend/src/modules/Users/events/contracts/UserMessageContracts.ts +4 -0
  403. package/templates/backend/src/modules/Users/events/listeners/registerUserEventListeners.ts +25 -0
  404. package/templates/backend/src/modules/Users/events/listeners/registerUserMessageHandlers.ts +60 -0
  405. package/templates/backend/src/modules/Users/features/createDocument.ts +14 -0
  406. package/templates/backend/src/modules/Users/features/createEmail.ts +14 -0
  407. package/templates/backend/src/modules/Users/features/createPhone.ts +14 -0
  408. package/templates/backend/src/modules/Users/features/createUser.ts +16 -0
  409. package/templates/backend/src/modules/Users/features/deleteDocument.ts +13 -0
  410. package/templates/backend/src/modules/Users/features/deleteEmail.ts +13 -0
  411. package/templates/backend/src/modules/Users/features/deletePhone.ts +13 -0
  412. package/templates/backend/src/modules/Users/features/deleteUserById.ts +9 -0
  413. package/templates/backend/src/modules/Users/features/getAllUsers.ts +21 -0
  414. package/templates/backend/src/modules/Users/features/getUserById.ts +12 -0
  415. package/templates/backend/src/modules/Users/features/updateDocument.ts +15 -0
  416. package/templates/backend/src/modules/Users/features/updateEmail.ts +15 -0
  417. package/templates/backend/src/modules/Users/features/updatePassword.ts +14 -0
  418. package/templates/backend/src/modules/Users/features/updatePhone.ts +15 -0
  419. package/templates/backend/src/modules/Users/features/updateUser.ts +14 -0
  420. package/templates/backend/src/modules/Users/index.ts +114 -0
  421. package/templates/backend/src/modules/Users/infra/repository/UserDataRepository.ts +1 -0
  422. package/templates/backend/src/modules/Users/interface/controller/AuthController.ts +1 -0
  423. package/templates/backend/src/modules/Users/interface/controller/UserController.ts +1 -0
  424. package/templates/backend/src/modules/Users/interface/dto/ILoginRequest.ts +7 -0
  425. package/templates/backend/src/modules/Users/interface/dto/ILogoutRequest.ts +3 -0
  426. package/templates/backend/src/modules/Users/interface/dto/IRegisterRequest.ts +9 -0
  427. package/templates/backend/src/modules/Users/interface/dto/IUpdatePasswordRequest.ts +5 -0
  428. package/templates/backend/src/modules/Users/interface/dto/RequestCreateAddress.ts +5 -0
  429. package/templates/backend/src/modules/Users/interface/dto/RequestCreateDocument.ts +7 -0
  430. package/templates/backend/src/modules/Users/interface/dto/RequestCreateEmail.ts +7 -0
  431. package/templates/backend/src/modules/Users/interface/dto/RequestCreateOrganization.ts +12 -0
  432. package/templates/backend/src/modules/Users/interface/dto/RequestCreatePhone.ts +6 -0
  433. package/templates/backend/src/modules/Users/interface/dto/RequestCreateUser.ts +20 -0
  434. package/templates/backend/src/modules/Users/interface/dto/RequestUpdateAddress.ts +5 -0
  435. package/templates/backend/src/modules/Users/interface/dto/RequestUpdateDocument.ts +8 -0
  436. package/templates/backend/src/modules/Users/interface/dto/RequestUpdateEmail.ts +8 -0
  437. package/templates/backend/src/modules/Users/interface/dto/RequestUpdateOrganization.ts +5 -0
  438. package/templates/backend/src/modules/Users/interface/dto/RequestUpdatePassword.ts +5 -0
  439. package/templates/backend/src/modules/Users/interface/dto/RequestUpdatePhone.ts +7 -0
  440. package/templates/backend/src/modules/Users/interface/dto/RequestUpdateUser.ts +19 -0
  441. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/_createGrpcOperationHandler.ts +34 -0
  442. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/create.ts +5 -0
  443. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/createDocument.ts +5 -0
  444. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/createEmail.ts +5 -0
  445. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/createOrganization.ts +5 -0
  446. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/createOrganizationAddress.ts +5 -0
  447. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/createOrganizationEmail.ts +5 -0
  448. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/createOrganizationPhone.ts +5 -0
  449. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/createPhone.ts +5 -0
  450. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/deleteDocument.ts +5 -0
  451. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/deleteEmail.ts +5 -0
  452. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/deleteOne.ts +5 -0
  453. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/deleteOrganization.ts +5 -0
  454. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/deleteOrganizationAddress.ts +5 -0
  455. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/deleteOrganizationEmail.ts +5 -0
  456. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/deleteOrganizationPhone.ts +5 -0
  457. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/deletePhone.ts +5 -0
  458. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/getAll.ts +5 -0
  459. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/getAllOrganizations.ts +5 -0
  460. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/getOneById.ts +5 -0
  461. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/getOrganizationById.ts +5 -0
  462. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/login.ts +5 -0
  463. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/logout.ts +5 -0
  464. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/register.ts +5 -0
  465. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/update.ts +5 -0
  466. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/updateDocument.ts +5 -0
  467. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/updateEmail.ts +5 -0
  468. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/updateOrganization.ts +5 -0
  469. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/updateOrganizationAddress.ts +5 -0
  470. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/updateOrganizationEmail.ts +5 -0
  471. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/updateOrganizationPhone.ts +5 -0
  472. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/updatePassword.ts +5 -0
  473. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/updatePhone.ts +5 -0
  474. package/templates/backend/src/modules/Users/interface/grpcapi/frameworks/grpc/handlers/updateUserPassword.ts +5 -0
  475. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/_documentMutationHandlerFactory.ts +70 -0
  476. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/_organizationMutationHandlerFactory.ts +76 -0
  477. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/create.ts +37 -0
  478. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/createDocument.ts +10 -0
  479. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/createEmail.ts +41 -0
  480. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/createOrganization.ts +38 -0
  481. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/createOrganizationAddress.ts +10 -0
  482. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/createOrganizationEmail.ts +10 -0
  483. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/createOrganizationPhone.ts +10 -0
  484. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/createPhone.ts +41 -0
  485. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/deleteDocument.ts +11 -0
  486. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/deleteEmail.ts +40 -0
  487. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/deleteOne.ts +38 -0
  488. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/deleteOrganization.ts +39 -0
  489. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/deleteOrganizationAddress.ts +11 -0
  490. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/deleteOrganizationEmail.ts +11 -0
  491. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/deleteOrganizationPhone.ts +11 -0
  492. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/deletePhone.ts +40 -0
  493. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/getAll.ts +45 -0
  494. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/getAllOrganizations.ts +43 -0
  495. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/getOneById.ts +39 -0
  496. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/getOrganizationById.ts +39 -0
  497. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/login.ts +37 -0
  498. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/logout.ts +38 -0
  499. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/register.ts +39 -0
  500. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/update.ts +39 -0
  501. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/updateDocument.ts +10 -0
  502. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/updateEmail.ts +42 -0
  503. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/updateOrganization.ts +40 -0
  504. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/updateOrganizationAddress.ts +10 -0
  505. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/updateOrganizationEmail.ts +10 -0
  506. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/updateOrganizationPhone.ts +10 -0
  507. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/updatePassword.ts +42 -0
  508. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/updatePhone.ts +42 -0
  509. package/templates/backend/src/modules/Users/interface/restapi/frameworks/adonis-js/handlers/updateUserPassword.ts +40 -0
  510. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/create.ts +3 -0
  511. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/createDocument.ts +3 -0
  512. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/createEmail.ts +3 -0
  513. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/createLambdaOperationHandler.ts +306 -0
  514. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/createOrganization.ts +3 -0
  515. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/createOrganizationAddress.ts +3 -0
  516. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/createOrganizationEmail.ts +3 -0
  517. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/createOrganizationPhone.ts +3 -0
  518. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/createPhone.ts +3 -0
  519. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/deleteDocument.ts +3 -0
  520. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/deleteEmail.ts +3 -0
  521. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/deleteOne.ts +3 -0
  522. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/deleteOrganization.ts +3 -0
  523. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/deleteOrganizationAddress.ts +3 -0
  524. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/deleteOrganizationEmail.ts +3 -0
  525. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/deleteOrganizationPhone.ts +3 -0
  526. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/deletePhone.ts +3 -0
  527. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/getAll.ts +3 -0
  528. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/getAllOrganizations.ts +3 -0
  529. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/getOneById.ts +3 -0
  530. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/getOrganizationById.ts +3 -0
  531. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/login.ts +3 -0
  532. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/logout.ts +3 -0
  533. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/register.ts +3 -0
  534. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/runtime.ts +106 -0
  535. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/update.ts +3 -0
  536. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/updateDocument.ts +3 -0
  537. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/updateEmail.ts +3 -0
  538. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/updateOrganization.ts +3 -0
  539. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/updateOrganizationAddress.ts +3 -0
  540. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/updateOrganizationEmail.ts +3 -0
  541. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/updateOrganizationPhone.ts +3 -0
  542. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/updatePassword.ts +3 -0
  543. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/updatePhone.ts +3 -0
  544. package/templates/backend/src/modules/Users/interface/restapi/frameworks/aws/lambda/handlers/updateUserPassword.ts +3 -0
  545. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/_documentMutationHandlerFactory.ts +73 -0
  546. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/_organizationMutationHandlerFactory.ts +79 -0
  547. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/create.ts +37 -0
  548. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/createDocument.ts +10 -0
  549. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/createEmail.ts +41 -0
  550. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/createOrganization.ts +38 -0
  551. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/createOrganizationAddress.ts +10 -0
  552. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/createOrganizationEmail.ts +10 -0
  553. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/createOrganizationPhone.ts +10 -0
  554. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/createPhone.ts +41 -0
  555. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/deleteDocument.ts +11 -0
  556. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/deleteEmail.ts +40 -0
  557. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/deleteOne.ts +38 -0
  558. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/deleteOrganization.ts +39 -0
  559. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/deleteOrganizationAddress.ts +11 -0
  560. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/deleteOrganizationEmail.ts +11 -0
  561. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/deleteOrganizationPhone.ts +11 -0
  562. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/deletePhone.ts +40 -0
  563. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/getAll.ts +45 -0
  564. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/getAllOrganizations.ts +43 -0
  565. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/getOneById.ts +39 -0
  566. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/getOrganizationById.ts +39 -0
  567. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/login.ts +37 -0
  568. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/logout.ts +38 -0
  569. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/register.ts +39 -0
  570. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/update.ts +39 -0
  571. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/updateDocument.ts +10 -0
  572. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/updateEmail.ts +42 -0
  573. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/updateOrganization.ts +40 -0
  574. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/updateOrganizationAddress.ts +10 -0
  575. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/updateOrganizationEmail.ts +10 -0
  576. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/updateOrganizationPhone.ts +10 -0
  577. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/updatePassword.ts +42 -0
  578. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/updatePhone.ts +42 -0
  579. package/templates/backend/src/modules/Users/interface/restapi/frameworks/cloudflare-workers/handlers/updateUserPassword.ts +40 -0
  580. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/_documentMutationHandlerFactory.ts +70 -0
  581. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/_organizationMutationHandlerFactory.ts +76 -0
  582. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/create.ts +37 -0
  583. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/createDocument.ts +10 -0
  584. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/createEmail.ts +41 -0
  585. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/createOrganization.ts +38 -0
  586. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/createOrganizationAddress.ts +10 -0
  587. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/createOrganizationEmail.ts +10 -0
  588. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/createOrganizationPhone.ts +10 -0
  589. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/createPhone.ts +41 -0
  590. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/deleteDocument.ts +11 -0
  591. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/deleteEmail.ts +40 -0
  592. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/deleteOne.ts +38 -0
  593. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/deleteOrganization.ts +39 -0
  594. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/deleteOrganizationAddress.ts +11 -0
  595. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/deleteOrganizationEmail.ts +11 -0
  596. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/deleteOrganizationPhone.ts +11 -0
  597. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/deletePhone.ts +40 -0
  598. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/getAll.ts +45 -0
  599. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/getAllOrganizations.ts +43 -0
  600. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/getOneById.ts +39 -0
  601. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/getOrganizationById.ts +39 -0
  602. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/login.ts +37 -0
  603. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/logout.ts +38 -0
  604. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/register.ts +39 -0
  605. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/update.ts +39 -0
  606. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/updateDocument.ts +10 -0
  607. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/updateEmail.ts +42 -0
  608. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/updateOrganization.ts +40 -0
  609. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/updateOrganizationAddress.ts +10 -0
  610. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/updateOrganizationEmail.ts +10 -0
  611. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/updateOrganizationPhone.ts +10 -0
  612. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/updatePassword.ts +42 -0
  613. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/updatePhone.ts +42 -0
  614. package/templates/backend/src/modules/Users/interface/restapi/frameworks/derby-js/handlers/updateUserPassword.ts +40 -0
  615. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/_organizationMutationHandlerFactory.ts +67 -0
  616. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/create.ts +37 -0
  617. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/createDocument.ts +41 -0
  618. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/createEmail.ts +41 -0
  619. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/createOrganization.ts +38 -0
  620. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/createOrganizationAddress.ts +10 -0
  621. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/createOrganizationEmail.ts +10 -0
  622. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/createOrganizationPhone.ts +10 -0
  623. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/createPhone.ts +41 -0
  624. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/deleteDocument.ts +40 -0
  625. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/deleteEmail.ts +40 -0
  626. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/deleteOne.ts +38 -0
  627. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/deleteOrganization.ts +39 -0
  628. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/deleteOrganizationAddress.ts +11 -0
  629. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/deleteOrganizationEmail.ts +11 -0
  630. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/deleteOrganizationPhone.ts +11 -0
  631. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/deletePhone.ts +40 -0
  632. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/getAll.ts +45 -0
  633. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/getAllOrganizations.ts +43 -0
  634. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/getOneById.ts +39 -0
  635. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/getOrganizationById.ts +39 -0
  636. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/getOrganizationsMetrics.ts +41 -0
  637. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/getUsersMetrics.ts +41 -0
  638. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/login.ts +37 -0
  639. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/logout.ts +38 -0
  640. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/register.ts +39 -0
  641. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/update.ts +39 -0
  642. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/updateDocument.ts +42 -0
  643. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/updateEmail.ts +42 -0
  644. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/updateOrganization.ts +40 -0
  645. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/updateOrganizationAddress.ts +10 -0
  646. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/updateOrganizationEmail.ts +10 -0
  647. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/updateOrganizationPhone.ts +10 -0
  648. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/updatePassword.ts +42 -0
  649. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/updatePhone.ts +42 -0
  650. package/templates/backend/src/modules/Users/interface/restapi/frameworks/express/handlers/updateUserPassword.ts +40 -0
  651. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/_organizationMutationHandlerFactory.ts +68 -0
  652. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/create.ts +38 -0
  653. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/createDocument.ts +42 -0
  654. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/createEmail.ts +42 -0
  655. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/createOrganization.ts +39 -0
  656. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/createOrganizationAddress.ts +10 -0
  657. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/createOrganizationEmail.ts +10 -0
  658. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/createOrganizationPhone.ts +10 -0
  659. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/createPhone.ts +42 -0
  660. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/deleteDocument.ts +41 -0
  661. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/deleteEmail.ts +41 -0
  662. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/deleteOne.ts +39 -0
  663. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/deleteOrganization.ts +40 -0
  664. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/deleteOrganizationAddress.ts +11 -0
  665. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/deleteOrganizationEmail.ts +11 -0
  666. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/deleteOrganizationPhone.ts +11 -0
  667. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/deletePhone.ts +41 -0
  668. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/getAll.ts +46 -0
  669. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/getAllOrganizations.ts +44 -0
  670. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/getOneById.ts +40 -0
  671. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/getOrganizationById.ts +40 -0
  672. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/getOrganizationsMetrics.ts +42 -0
  673. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/getUsersMetrics.ts +42 -0
  674. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/login.ts +38 -0
  675. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/logout.ts +39 -0
  676. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/register.ts +40 -0
  677. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/update.ts +41 -0
  678. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/updateDocument.ts +43 -0
  679. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/updateEmail.ts +43 -0
  680. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/updateOrganization.ts +41 -0
  681. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/updateOrganizationAddress.ts +10 -0
  682. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/updateOrganizationEmail.ts +10 -0
  683. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/updateOrganizationPhone.ts +10 -0
  684. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/updatePassword.ts +43 -0
  685. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/updatePhone.ts +43 -0
  686. package/templates/backend/src/modules/Users/interface/restapi/frameworks/fastify/handlers/updateUserPassword.ts +41 -0
  687. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/_documentMutationHandlerFactory.ts +70 -0
  688. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/_organizationMutationHandlerFactory.ts +76 -0
  689. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/create.ts +37 -0
  690. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/createDocument.ts +10 -0
  691. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/createEmail.ts +41 -0
  692. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/createOrganization.ts +38 -0
  693. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/createOrganizationAddress.ts +10 -0
  694. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/createOrganizationEmail.ts +10 -0
  695. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/createOrganizationPhone.ts +10 -0
  696. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/createPhone.ts +41 -0
  697. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/deleteDocument.ts +11 -0
  698. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/deleteEmail.ts +40 -0
  699. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/deleteOne.ts +38 -0
  700. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/deleteOrganization.ts +39 -0
  701. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/deleteOrganizationAddress.ts +11 -0
  702. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/deleteOrganizationEmail.ts +11 -0
  703. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/deleteOrganizationPhone.ts +11 -0
  704. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/deletePhone.ts +40 -0
  705. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/getAll.ts +45 -0
  706. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/getAllOrganizations.ts +43 -0
  707. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/getOneById.ts +39 -0
  708. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/getOrganizationById.ts +39 -0
  709. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/login.ts +37 -0
  710. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/logout.ts +38 -0
  711. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/register.ts +39 -0
  712. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/update.ts +39 -0
  713. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/updateDocument.ts +10 -0
  714. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/updateEmail.ts +42 -0
  715. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/updateOrganization.ts +40 -0
  716. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/updateOrganizationAddress.ts +10 -0
  717. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/updateOrganizationEmail.ts +10 -0
  718. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/updateOrganizationPhone.ts +10 -0
  719. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/updatePassword.ts +42 -0
  720. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/updatePhone.ts +42 -0
  721. package/templates/backend/src/modules/Users/interface/restapi/frameworks/feathers/handlers/updateUserPassword.ts +40 -0
  722. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/_documentMutationHandlerFactory.ts +70 -0
  723. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/_organizationMutationHandlerFactory.ts +76 -0
  724. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/create.ts +37 -0
  725. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/createDocument.ts +10 -0
  726. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/createEmail.ts +41 -0
  727. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/createOrganization.ts +38 -0
  728. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/createOrganizationAddress.ts +10 -0
  729. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/createOrganizationEmail.ts +10 -0
  730. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/createOrganizationPhone.ts +10 -0
  731. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/createPhone.ts +41 -0
  732. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/deleteDocument.ts +11 -0
  733. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/deleteEmail.ts +40 -0
  734. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/deleteOne.ts +38 -0
  735. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/deleteOrganization.ts +39 -0
  736. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/deleteOrganizationAddress.ts +11 -0
  737. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/deleteOrganizationEmail.ts +11 -0
  738. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/deleteOrganizationPhone.ts +11 -0
  739. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/deletePhone.ts +40 -0
  740. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/getAll.ts +45 -0
  741. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/getAllOrganizations.ts +43 -0
  742. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/getOneById.ts +39 -0
  743. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/getOrganizationById.ts +39 -0
  744. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/login.ts +37 -0
  745. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/logout.ts +38 -0
  746. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/register.ts +39 -0
  747. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/update.ts +39 -0
  748. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/updateDocument.ts +10 -0
  749. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/updateEmail.ts +42 -0
  750. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/updateOrganization.ts +40 -0
  751. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/updateOrganizationAddress.ts +10 -0
  752. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/updateOrganizationEmail.ts +10 -0
  753. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/updateOrganizationPhone.ts +10 -0
  754. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/updatePassword.ts +42 -0
  755. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/updatePhone.ts +42 -0
  756. package/templates/backend/src/modules/Users/interface/restapi/frameworks/loopback/handlers/updateUserPassword.ts +40 -0
  757. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/_organizationMutationHandlerFactory.ts +68 -0
  758. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/create.ts +38 -0
  759. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/createDocument.ts +42 -0
  760. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/createEmail.ts +42 -0
  761. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/createOrganization.ts +39 -0
  762. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/createOrganizationAddress.ts +10 -0
  763. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/createOrganizationEmail.ts +10 -0
  764. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/createOrganizationPhone.ts +10 -0
  765. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/createPhone.ts +42 -0
  766. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/deleteDocument.ts +41 -0
  767. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/deleteEmail.ts +41 -0
  768. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/deleteOne.ts +39 -0
  769. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/deleteOrganization.ts +39 -0
  770. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/deleteOrganizationAddress.ts +11 -0
  771. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/deleteOrganizationEmail.ts +11 -0
  772. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/deleteOrganizationPhone.ts +11 -0
  773. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/deletePhone.ts +41 -0
  774. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/getAll.ts +46 -0
  775. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/getAllOrganizations.ts +43 -0
  776. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/getOneById.ts +40 -0
  777. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/getOrganizationById.ts +39 -0
  778. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/getOrganizationsMetrics.ts +42 -0
  779. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/getUsersMetrics.ts +42 -0
  780. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/login.ts +38 -0
  781. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/logout.ts +39 -0
  782. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/register.ts +40 -0
  783. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/update.ts +40 -0
  784. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/updateDocument.ts +43 -0
  785. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/updateEmail.ts +43 -0
  786. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/updateOrganization.ts +40 -0
  787. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/updateOrganizationAddress.ts +10 -0
  788. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/updateOrganizationEmail.ts +10 -0
  789. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/updateOrganizationPhone.ts +10 -0
  790. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/updatePassword.ts +43 -0
  791. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/updatePhone.ts +43 -0
  792. package/templates/backend/src/modules/Users/interface/restapi/frameworks/restify/handlers/updateUserPassword.ts +41 -0
  793. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/_documentMutationHandlerFactory.ts +70 -0
  794. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/_organizationMutationHandlerFactory.ts +76 -0
  795. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/create.ts +37 -0
  796. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/createDocument.ts +10 -0
  797. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/createEmail.ts +41 -0
  798. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/createOrganization.ts +38 -0
  799. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/createOrganizationAddress.ts +10 -0
  800. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/createOrganizationEmail.ts +10 -0
  801. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/createOrganizationPhone.ts +10 -0
  802. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/createPhone.ts +41 -0
  803. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/deleteDocument.ts +11 -0
  804. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/deleteEmail.ts +40 -0
  805. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/deleteOne.ts +38 -0
  806. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/deleteOrganization.ts +39 -0
  807. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/deleteOrganizationAddress.ts +11 -0
  808. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/deleteOrganizationEmail.ts +11 -0
  809. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/deleteOrganizationPhone.ts +11 -0
  810. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/deletePhone.ts +40 -0
  811. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/getAll.ts +45 -0
  812. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/getAllOrganizations.ts +43 -0
  813. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/getOneById.ts +39 -0
  814. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/getOrganizationById.ts +39 -0
  815. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/login.ts +37 -0
  816. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/logout.ts +38 -0
  817. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/register.ts +39 -0
  818. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/update.ts +39 -0
  819. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/updateDocument.ts +10 -0
  820. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/updateEmail.ts +42 -0
  821. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/updateOrganization.ts +40 -0
  822. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/updateOrganizationAddress.ts +10 -0
  823. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/updateOrganizationEmail.ts +10 -0
  824. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/updateOrganizationPhone.ts +10 -0
  825. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/updatePassword.ts +42 -0
  826. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/updatePhone.ts +42 -0
  827. package/templates/backend/src/modules/Users/interface/restapi/frameworks/sails-js/handlers/updateUserPassword.ts +40 -0
  828. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/_documentMutationHandlerFactory.ts +70 -0
  829. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/_organizationMutationHandlerFactory.ts +76 -0
  830. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/create.ts +37 -0
  831. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/createDocument.ts +10 -0
  832. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/createEmail.ts +41 -0
  833. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/createOrganization.ts +38 -0
  834. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/createOrganizationAddress.ts +10 -0
  835. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/createOrganizationEmail.ts +10 -0
  836. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/createOrganizationPhone.ts +10 -0
  837. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/createPhone.ts +41 -0
  838. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/deleteDocument.ts +11 -0
  839. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/deleteEmail.ts +40 -0
  840. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/deleteOne.ts +38 -0
  841. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/deleteOrganization.ts +39 -0
  842. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/deleteOrganizationAddress.ts +11 -0
  843. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/deleteOrganizationEmail.ts +11 -0
  844. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/deleteOrganizationPhone.ts +11 -0
  845. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/deletePhone.ts +40 -0
  846. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/getAll.ts +45 -0
  847. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/getAllOrganizations.ts +43 -0
  848. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/getOneById.ts +39 -0
  849. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/getOrganizationById.ts +39 -0
  850. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/login.ts +37 -0
  851. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/logout.ts +38 -0
  852. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/register.ts +39 -0
  853. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/update.ts +39 -0
  854. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/updateDocument.ts +10 -0
  855. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/updateEmail.ts +42 -0
  856. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/updateOrganization.ts +40 -0
  857. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/updateOrganizationAddress.ts +10 -0
  858. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/updateOrganizationEmail.ts +10 -0
  859. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/updateOrganizationPhone.ts +10 -0
  860. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/updatePassword.ts +42 -0
  861. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/updatePhone.ts +42 -0
  862. package/templates/backend/src/modules/Users/interface/restapi/frameworks/total-js/handlers/updateUserPassword.ts +40 -0
  863. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/_documentMutationHandlerFactory.ts +70 -0
  864. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/_organizationMutationHandlerFactory.ts +76 -0
  865. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/create.ts +37 -0
  866. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/createDocument.ts +10 -0
  867. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/createEmail.ts +41 -0
  868. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/createOrganization.ts +38 -0
  869. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/createOrganizationAddress.ts +10 -0
  870. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/createOrganizationEmail.ts +10 -0
  871. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/createOrganizationPhone.ts +10 -0
  872. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/createPhone.ts +41 -0
  873. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/deleteDocument.ts +11 -0
  874. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/deleteEmail.ts +40 -0
  875. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/deleteOne.ts +38 -0
  876. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/deleteOrganization.ts +39 -0
  877. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/deleteOrganizationAddress.ts +11 -0
  878. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/deleteOrganizationEmail.ts +11 -0
  879. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/deleteOrganizationPhone.ts +11 -0
  880. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/deletePhone.ts +40 -0
  881. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/getAll.ts +45 -0
  882. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/getAllOrganizations.ts +43 -0
  883. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/getOneById.ts +39 -0
  884. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/getOrganizationById.ts +39 -0
  885. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/login.ts +37 -0
  886. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/logout.ts +38 -0
  887. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/register.ts +39 -0
  888. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/update.ts +39 -0
  889. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/updateDocument.ts +10 -0
  890. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/updateEmail.ts +42 -0
  891. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/updateOrganization.ts +40 -0
  892. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/updateOrganizationAddress.ts +10 -0
  893. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/updateOrganizationEmail.ts +10 -0
  894. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/updateOrganizationPhone.ts +10 -0
  895. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/updatePassword.ts +42 -0
  896. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/updatePhone.ts +42 -0
  897. package/templates/backend/src/modules/Users/interface/restapi/frameworks/vercel-functions/handlers/updateUserPassword.ts +40 -0
  898. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/_createWebSocketOperationHandler.ts +34 -0
  899. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/create.ts +5 -0
  900. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/createDocument.ts +5 -0
  901. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/createEmail.ts +5 -0
  902. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/createOrganization.ts +5 -0
  903. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/createOrganizationAddress.ts +5 -0
  904. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/createOrganizationEmail.ts +5 -0
  905. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/createOrganizationPhone.ts +5 -0
  906. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/createPhone.ts +5 -0
  907. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/deleteDocument.ts +5 -0
  908. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/deleteEmail.ts +5 -0
  909. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/deleteOne.ts +5 -0
  910. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/deleteOrganization.ts +5 -0
  911. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/deleteOrganizationAddress.ts +5 -0
  912. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/deleteOrganizationEmail.ts +5 -0
  913. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/deleteOrganizationPhone.ts +5 -0
  914. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/deletePhone.ts +5 -0
  915. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/getAll.ts +5 -0
  916. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/getAllOrganizations.ts +5 -0
  917. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/getOneById.ts +5 -0
  918. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/getOrganizationById.ts +5 -0
  919. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/login.ts +5 -0
  920. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/logout.ts +5 -0
  921. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/register.ts +5 -0
  922. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/update.ts +5 -0
  923. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/updateDocument.ts +5 -0
  924. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/updateEmail.ts +5 -0
  925. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/updateOrganization.ts +5 -0
  926. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/updateOrganizationAddress.ts +5 -0
  927. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/updateOrganizationEmail.ts +5 -0
  928. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/updateOrganizationPhone.ts +5 -0
  929. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/updatePassword.ts +5 -0
  930. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/updatePhone.ts +5 -0
  931. package/templates/backend/src/modules/Users/interface/websocketapi/frameworks/socket-io/handlers/updateUserPassword.ts +5 -0
  932. package/templates/backend/src/modules/Users/service/AuthService.ts +535 -0
  933. package/templates/backend/src/modules/Users/service/OrganizationService.ts +348 -0
  934. package/templates/backend/src/modules/Users/service/UserProviderLocal.ts +45 -0
  935. package/templates/backend/src/modules/Users/service/UserService.ts +696 -0
  936. package/templates/backend/src/modules/Users/service/ports/EAuthSchemaType.ts +5 -0
  937. package/templates/backend/src/modules/Users/service/ports/IAuthSchema.ts +6 -0
  938. package/templates/backend/src/modules/Users/service/ports/IAuthService.ts +35 -0
  939. package/templates/backend/src/modules/Users/service/ports/IAuthorizationHeader.ts +4 -0
  940. package/templates/backend/src/modules/Users/service/ports/IOrganizationRepository.ts +42 -0
  941. package/templates/backend/src/modules/Users/service/ports/ITokenObject.ts +10 -0
  942. package/templates/backend/src/modules/Users/service/ports/IUserProvider.ts +10 -0
  943. package/templates/backend/src/modules/Users/service/ports/IUserRepository.ts +33 -0
  944. package/templates/backend/src/modules/ddd/valueObjects/AddressValueObject.ts +39 -0
  945. package/templates/backend/src/modules/ddd/valueObjects/DocumentValueObject.ts +78 -0
  946. package/templates/backend/src/modules/ddd/valueObjects/EAddressType.ts +6 -0
  947. package/templates/backend/src/modules/ddd/valueObjects/EDocumentType.ts +7 -0
  948. package/templates/backend/src/modules/ddd/valueObjects/EEmailType.ts +5 -0
  949. package/templates/backend/src/modules/ddd/valueObjects/EmailValueObject.ts +36 -0
  950. package/templates/backend/src/modules/ddd/valueObjects/LoginCustomValueObject.ts +4 -0
  951. package/templates/backend/src/modules/ddd/valueObjects/PhoneValueObject.ts +36 -0
  952. package/templates/backend/src/modules/ddd/valueObjects/index.ts +9 -0
  953. package/templates/backend/src/modules/port/BaseDomainEvent.ts +70 -0
  954. package/templates/backend/src/modules/port/BaseModel.ts +119 -0
  955. package/templates/backend/src/modules/port/BaseRepo.ts +33 -0
  956. package/templates/backend/src/modules/port/BaseService.ts +50 -0
  957. package/templates/backend/src/modules/port/IDomainEventMetadata.ts +18 -0
  958. package/templates/backend/src/modules/port/IEventBus.ts +1 -0
  959. package/templates/backend/src/modules/port/IEventMessage.ts +12 -0
  960. package/templates/backend/src/modules/port/IFilter.ts +7 -0
  961. package/templates/backend/src/modules/port/IIntegrationEvent.ts +1 -0
  962. package/templates/backend/src/modules/port/IMessage.ts +5 -0
  963. package/templates/backend/src/modules/port/IMessageMediator.ts +8 -0
  964. package/templates/backend/src/modules/port/IPagingRequest.ts +14 -0
  965. package/templates/backend/src/modules/port/IPagingResponse.ts +6 -0
  966. package/templates/backend/src/modules/port/IRepoConfig.ts +8 -0
  967. package/templates/backend/src/modules/port/ISearch.ts +6 -0
  968. package/templates/backend/src/modules/port/IServiceConfig.ts +12 -0
  969. package/templates/backend/src/modules/port/IServiceResponse.ts +9 -0
  970. package/templates/backend/src/modules/port/ServiceResponse.ts +16 -0
  971. package/templates/backend/src/modules/port/TRepos.ts +1 -0
  972. package/templates/backend/src/modules/port/TServices.ts +1 -0
  973. package/templates/backend/src/modules/port/UUID.ts +33 -0
  974. package/templates/backend/src/modules/port/index.ts +47 -0
  975. package/templates/backend/src/modules/port/operators.ts +4 -0
  976. package/templates/backend/src/modules/port/relations.ts +51 -0
  977. package/templates/backend/src/modules/port/setFilter.ts +18 -0
  978. package/templates/backend/src/modules/port/setFilterAndPaging.ts +28 -0
  979. package/templates/backend/src/modules/port/setListQuery.ts +128 -0
  980. package/templates/backend/src/modules/port/setMetricsQuery.ts +50 -0
  981. package/templates/backend/src/modules/port/setPaging.ts +25 -0
  982. package/templates/backend/src/shared/decorators/guard/Authorize.ts +42 -0
  983. package/templates/backend/src/shared/openapi/OpenApi31DataEntity.ts +733 -0
  984. package/templates/backend/src/shared/utils.ts +77 -0
  985. package/templates/backend/src/shared/validators/index.ts +118 -0
  986. package/templates/frontend/.browserslistrc +3 -0
  987. package/templates/frontend/.editorconfig +14 -0
  988. package/templates/frontend/.gitattributes +2 -0
  989. package/templates/frontend/.prettierrc.js +7 -0
  990. package/templates/frontend/README.md +76 -0
  991. package/templates/frontend/README.pt-BR.md +79 -0
  992. package/templates/frontend/cypress/e2e/auth.cy.ts +46 -0
  993. package/templates/frontend/cypress/e2e/dashboard-a11y.cy.ts +32 -0
  994. package/templates/frontend/cypress/e2e/offline-boot.cy.ts +16 -0
  995. package/templates/frontend/cypress/e2e/offline-pwa.cy.ts +15 -0
  996. package/templates/frontend/cypress/e2e/offline-sync.cy.ts +28 -0
  997. package/templates/frontend/cypress/e2e/offline-writes.cy.ts +20 -0
  998. package/templates/frontend/cypress/e2e/organizations-dashboard.cy.ts +64 -0
  999. package/templates/frontend/cypress/e2e/shell-multitask.cy.ts +21 -0
  1000. package/templates/frontend/cypress/e2e/shell-responsive.cy.ts +36 -0
  1001. package/templates/frontend/cypress/e2e/users-crud.cy.ts +76 -0
  1002. package/templates/frontend/cypress/support/e2e.ts +63 -0
  1003. package/templates/frontend/cypress/tsconfig.json +14 -0
  1004. package/templates/frontend/cypress.config.js +20 -0
  1005. package/templates/frontend/e2e/Dockerfile.backend +44 -0
  1006. package/templates/frontend/e2e/docker-compose.yml +12 -0
  1007. package/templates/frontend/eslint.config.mjs +46 -0
  1008. package/templates/frontend/index.html +43 -0
  1009. package/templates/frontend/package.json +61 -0
  1010. package/templates/frontend/public/android-icon-144x144.png +0 -0
  1011. package/templates/frontend/public/android-icon-192x192.png +0 -0
  1012. package/templates/frontend/public/android-icon-36x36.png +0 -0
  1013. package/templates/frontend/public/android-icon-48x48.png +0 -0
  1014. package/templates/frontend/public/android-icon-512x512.png +0 -0
  1015. package/templates/frontend/public/android-icon-72x72.png +0 -0
  1016. package/templates/frontend/public/android-icon-96x96.png +0 -0
  1017. package/templates/frontend/public/apple-icon-114x114.png +0 -0
  1018. package/templates/frontend/public/apple-icon-120x120.png +0 -0
  1019. package/templates/frontend/public/apple-icon-144x144.png +0 -0
  1020. package/templates/frontend/public/apple-icon-152x152.png +0 -0
  1021. package/templates/frontend/public/apple-icon-180x180.png +0 -0
  1022. package/templates/frontend/public/apple-icon-57x57.png +0 -0
  1023. package/templates/frontend/public/apple-icon-60x60.png +0 -0
  1024. package/templates/frontend/public/apple-icon-72x72.png +0 -0
  1025. package/templates/frontend/public/apple-icon-76x76.png +0 -0
  1026. package/templates/frontend/public/apple-icon-precomposed.png +0 -0
  1027. package/templates/frontend/public/apple-icon.png +0 -0
  1028. package/templates/frontend/public/browserconfig.xml +2 -0
  1029. package/templates/frontend/public/favicon-16x16.png +0 -0
  1030. package/templates/frontend/public/favicon-32x32.png +0 -0
  1031. package/templates/frontend/public/favicon-96x96.png +0 -0
  1032. package/templates/frontend/public/favicon.ico +0 -0
  1033. package/templates/frontend/public/manifest.json +52 -0
  1034. package/templates/frontend/public/ms-icon-144x144.png +0 -0
  1035. package/templates/frontend/public/ms-icon-150x150.png +0 -0
  1036. package/templates/frontend/public/ms-icon-310x310.png +0 -0
  1037. package/templates/frontend/public/ms-icon-70x70.png +0 -0
  1038. package/templates/frontend/public/sw.js +34 -0
  1039. package/templates/frontend/scripts/check-coverage.js +157 -0
  1040. package/templates/frontend/scripts/run-e2e.mjs +75 -0
  1041. package/templates/frontend/scripts/sync-contracts.mjs +31 -0
  1042. package/templates/frontend/src/.gitkeep +1 -0
  1043. package/templates/frontend/src/App.vue +28 -0
  1044. package/templates/frontend/src/components/AppBreadcrumb.vue +69 -0
  1045. package/templates/frontend/src/components/AppFooter.vue +18 -0
  1046. package/templates/frontend/src/components/AppHeader.vue +132 -0
  1047. package/templates/frontend/src/components/AppHeaderDropdownAccnt.vue +86 -0
  1048. package/templates/frontend/src/components/AppSidebar.vue +37 -0
  1049. package/templates/frontend/src/components/AppSidebarNav.vue +91 -0
  1050. package/templates/frontend/src/components/AppTaskbar.vue +152 -0
  1051. package/templates/frontend/src/components/ModuleLayout.vue +115 -0
  1052. package/templates/frontend/src/components/NetworkActivity.vue +64 -0
  1053. package/templates/frontend/src/components/OasFormField.vue +108 -0
  1054. package/templates/frontend/src/components/SearchableEnumInput.vue +117 -0
  1055. package/templates/frontend/src/components/dashboard/AdminUserRatioWidget.vue +66 -0
  1056. package/templates/frontend/src/components/dashboard/ChartCard.vue +97 -0
  1057. package/templates/frontend/src/components/dashboard/DashboardGrid.vue +58 -0
  1058. package/templates/frontend/src/components/dashboard/MetricWidget.vue +80 -0
  1059. package/templates/frontend/src/components/dashboard/genericWidgets.ts +124 -0
  1060. package/templates/frontend/src/components/dashboard/loadMetrics.ts +88 -0
  1061. package/templates/frontend/src/components/dashboard/types.ts +26 -0
  1062. package/templates/frontend/src/components/x-crud/XCrud.vue +152 -0
  1063. package/templates/frontend/src/components/x-crud/XCrudArrayEditor.vue +108 -0
  1064. package/templates/frontend/src/components/x-crud/XCrudChart.vue +48 -0
  1065. package/templates/frontend/src/components/x-crud/XCrudFilters.vue +69 -0
  1066. package/templates/frontend/src/components/x-crud/XCrudForm.vue +261 -0
  1067. package/templates/frontend/src/components/x-crud/XCrudGrid.vue +399 -0
  1068. package/templates/frontend/src/components/x-crud/XCrudPanels.vue +58 -0
  1069. package/templates/frontend/src/components/x-crud/XCrudReferenceInput.vue +75 -0
  1070. package/templates/frontend/src/components/x-crud/XCrudRowDetail.vue +169 -0
  1071. package/templates/frontend/src/components/x-crud/XCrudRowMenu.vue +48 -0
  1072. package/templates/frontend/src/components/x-crud/XCrudToolbar.vue +156 -0
  1073. package/templates/frontend/src/components/x-crud/useXCrud.ts +554 -0
  1074. package/templates/frontend/src/components/x-crud/xCrudFormat.ts +76 -0
  1075. package/templates/frontend/src/components/x-crud/xCrudTypes.ts +72 -0
  1076. package/templates/frontend/src/contracts/apiClient.ts +48 -0
  1077. package/templates/frontend/src/contracts/appOperations.ts +74 -0
  1078. package/templates/frontend/src/contracts/errors.ts +51 -0
  1079. package/templates/frontend/src/contracts/formSchema.ts +202 -0
  1080. package/templates/frontend/src/contracts/labels.ts +41 -0
  1081. package/templates/frontend/src/contracts/listSchema.ts +115 -0
  1082. package/templates/frontend/src/contracts/metricsSchema.ts +84 -0
  1083. package/templates/frontend/src/contracts/oasForm.ts +82 -0
  1084. package/templates/frontend/src/contracts/openapi.json +4467 -0
  1085. package/templates/frontend/src/contracts/rbac.ts +83 -0
  1086. package/templates/frontend/src/contracts/relationLabels.ts +68 -0
  1087. package/templates/frontend/src/contracts/sessionGuard.ts +59 -0
  1088. package/templates/frontend/src/contracts/sharedContractsBrowserShim.ts +14 -0
  1089. package/templates/frontend/src/contracts/usePermissions.ts +25 -0
  1090. package/templates/frontend/src/contracts/validation.ts +195 -0
  1091. package/templates/frontend/src/data/canaSchema.ts +146 -0
  1092. package/templates/frontend/src/data/db.ts +114 -0
  1093. package/templates/frontend/src/data/localRepository.ts +125 -0
  1094. package/templates/frontend/src/data/outbox.ts +258 -0
  1095. package/templates/frontend/src/data/pwa.ts +26 -0
  1096. package/templates/frontend/src/data/sync.ts +280 -0
  1097. package/templates/frontend/src/env.d.ts +8 -0
  1098. package/templates/frontend/src/features/auth/LoginView.vue +98 -0
  1099. package/templates/frontend/src/features/auth/RegisterView.vue +102 -0
  1100. package/templates/frontend/src/features/dashboard/DashboardView.vue +80 -0
  1101. package/templates/frontend/src/features/dashboard/NotFoundView.vue +15 -0
  1102. package/templates/frontend/src/features/dashboard/usersDomainWidgets.ts +59 -0
  1103. package/templates/frontend/src/features/organizations/OrganizationsView.vue +20 -0
  1104. package/templates/frontend/src/features/organizations/organizationsCrudConfig.ts +27 -0
  1105. package/templates/frontend/src/features/profile/ProfileDocuments.vue +157 -0
  1106. package/templates/frontend/src/features/profile/ProfileEmails.vue +142 -0
  1107. package/templates/frontend/src/features/profile/ProfilePasswordForm.vue +66 -0
  1108. package/templates/frontend/src/features/profile/ProfilePhones.vue +165 -0
  1109. package/templates/frontend/src/features/profile/ProfileScalarsForm.vue +62 -0
  1110. package/templates/frontend/src/features/profile/ProfileView.vue +63 -0
  1111. package/templates/frontend/src/features/profile/useSectionNotify.ts +37 -0
  1112. package/templates/frontend/src/features/users/UsersView.vue +40 -0
  1113. package/templates/frontend/src/features/users/usersCrudConfig.ts +55 -0
  1114. package/templates/frontend/src/i18n/index.ts +87 -0
  1115. package/templates/frontend/src/i18n/messages.ts +369 -0
  1116. package/templates/frontend/src/layouts/DefaultLayout.vue +82 -0
  1117. package/templates/frontend/src/main.ts +157 -0
  1118. package/templates/frontend/src/modules/index.ts +7 -0
  1119. package/templates/frontend/src/modules/manifest.ts +115 -0
  1120. package/templates/frontend/src/modules/nav.ts +13 -0
  1121. package/templates/frontend/src/modules/navTypes.ts +19 -0
  1122. package/templates/frontend/src/modules/users.ts +28 -0
  1123. package/templates/frontend/src/router/guards.ts +68 -0
  1124. package/templates/frontend/src/router/index.ts +91 -0
  1125. package/templates/frontend/src/shell/LocaleWidget.vue +27 -0
  1126. package/templates/frontend/src/shell/NotificationCenter.vue +65 -0
  1127. package/templates/frontend/src/shell/OnlineOfflineWidget.vue +36 -0
  1128. package/templates/frontend/src/shell/ReservedToolbarSlot.vue +7 -0
  1129. package/templates/frontend/src/shell/breakpoints.ts +50 -0
  1130. package/templates/frontend/src/shell/registerShellWidgets.ts +39 -0
  1131. package/templates/frontend/src/shell/toolbarWidgets.ts +57 -0
  1132. package/templates/frontend/src/stores/auth.ts +157 -0
  1133. package/templates/frontend/src/stores/entityStore.ts +109 -0
  1134. package/templates/frontend/src/stores/network.ts +61 -0
  1135. package/templates/frontend/src/stores/notifications.ts +75 -0
  1136. package/templates/frontend/src/stores/profile.ts +260 -0
  1137. package/templates/frontend/src/stores/sidebar.ts +19 -0
  1138. package/templates/frontend/src/stores/tasks.ts +114 -0
  1139. package/templates/frontend/src/stores/theme.ts +14 -0
  1140. package/templates/frontend/src/styles/breakpoints.scss +6 -0
  1141. package/templates/frontend/src/styles/style.scss +85 -0
  1142. package/templates/frontend/src/views/BootErrorView.vue +18 -0
  1143. package/templates/frontend/src/views/SyncProgressView.vue +55 -0
  1144. package/templates/frontend/tsconfig.json +59 -0
  1145. package/templates/frontend/vite.config.mjs +78 -0
  1146. 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>