@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,4467 @@
1
+ {
2
+ "openapi": "3.1.0",
3
+ "info": {
4
+ "title": "Jumentix API",
5
+ "description": "`REST API` built with `Jumentix` and `Domain Designer`",
6
+ "termsOfService": "https://www.xpertminds.dev/terms/",
7
+ "contact": {
8
+ "email": "apiteam@xpertminds.dev"
9
+ },
10
+ "license": {
11
+ "name": "Unlicensed",
12
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
13
+ },
14
+ "version": "1.0.0",
15
+ "x-rbac": {
16
+ "description": "Role-to-scope matrix enforced by the backend and mirrored here for OAS-driven clients.",
17
+ "roles": {
18
+ "superadmin": [
19
+ "*"
20
+ ],
21
+ "admin": [
22
+ "access_allow",
23
+ "read_user",
24
+ "create_user",
25
+ "update_user",
26
+ "delete_user",
27
+ "read_organization",
28
+ "update_organization"
29
+ ],
30
+ "user": [
31
+ "access_allow",
32
+ "read_user"
33
+ ]
34
+ }
35
+ }
36
+ },
37
+ "externalDocs": {
38
+ "description": "Find out more about Xpertminds",
39
+ "url": "http://xpertminds.dev"
40
+ },
41
+ "servers": [
42
+ {
43
+ "url": "http://localhost:3000/api/1.0.0",
44
+ "x-service-id": "core"
45
+ }
46
+ ],
47
+ "x-services": [
48
+ {
49
+ "id": "core",
50
+ "name": "Core",
51
+ "kind": "core",
52
+ "url": "http://localhost:3000/api/1.0.0",
53
+ "description": "Merged Core service that serves every operation in this document (monolith)."
54
+ }
55
+ ],
56
+ "tags": [
57
+ {
58
+ "name": "user",
59
+ "description": "System users",
60
+ "externalDocs": {
61
+ "description": "Find out more",
62
+ "url": "http://xpertminds.dev"
63
+ }
64
+ },
65
+ {
66
+ "name": "auth",
67
+ "description": "API access end points"
68
+ },
69
+ {
70
+ "name": "organization",
71
+ "description": "Tenant organizations"
72
+ },
73
+ {
74
+ "name": "catalog",
75
+ "description": "Multi-user shared catalog of domain designs (JUM-491)"
76
+ }
77
+ ],
78
+ "paths": {
79
+ "/auth/login": {
80
+ "post": {
81
+ "tags": [
82
+ "auth"
83
+ ],
84
+ "summary": "Do login",
85
+ "description": "Do login",
86
+ "operationId": "login",
87
+ "requestBody": {
88
+ "description": "Do login in the system",
89
+ "content": {
90
+ "application/json": {
91
+ "schema": {
92
+ "$ref": "#/components/schemas/RequestLogin"
93
+ }
94
+ }
95
+ },
96
+ "required": true
97
+ },
98
+ "responses": {
99
+ "200": {
100
+ "description": "User did login successfully",
101
+ "content": {
102
+ "application/json": {
103
+ "schema": {
104
+ "$ref": "#/components/schemas/AuthorizationHeader"
105
+ }
106
+ }
107
+ }
108
+ },
109
+ "400": {
110
+ "description": "Invalid request"
111
+ },
112
+ "401": {
113
+ "description": "Unauthorized"
114
+ }
115
+ }
116
+ }
117
+ },
118
+ "/auth/logout": {
119
+ "post": {
120
+ "tags": [
121
+ "auth"
122
+ ],
123
+ "summary": "Do logout",
124
+ "description": "Do logout",
125
+ "operationId": "logout",
126
+ "requestBody": {
127
+ "description": "Logout of the system",
128
+ "content": {
129
+ "application/json": {
130
+ "schema": {
131
+ "$ref": "#/components/schemas/RequestLogout"
132
+ }
133
+ }
134
+ },
135
+ "required": true
136
+ },
137
+ "responses": {
138
+ "200": {
139
+ "description": "User did logout successfully",
140
+ "content": {
141
+ "text/plain": {
142
+ "schema": {
143
+ "$ref": "#/components/schemas/BooleanStringResult"
144
+ }
145
+ }
146
+ }
147
+ },
148
+ "400": {
149
+ "description": "Invalid request"
150
+ },
151
+ "401": {
152
+ "description": "Unauthorized"
153
+ }
154
+ },
155
+ "security": [
156
+ {
157
+ "bearerAuth": [
158
+ "access_allow"
159
+ ]
160
+ }
161
+ ]
162
+ }
163
+ },
164
+ "/auth/updateUserPassword": {
165
+ "post": {
166
+ "tags": [
167
+ "auth"
168
+ ],
169
+ "summary": "Update password",
170
+ "description": "Update password",
171
+ "operationId": "updateUserPassword",
172
+ "requestBody": {
173
+ "description": "Update password",
174
+ "content": {
175
+ "application/json": {
176
+ "schema": {
177
+ "$ref": "#/components/schemas/RequestUpdatePassword"
178
+ }
179
+ }
180
+ },
181
+ "required": true
182
+ },
183
+ "responses": {
184
+ "200": {
185
+ "description": "User did update password successfully",
186
+ "content": {
187
+ "text/plain": {
188
+ "schema": {
189
+ "$ref": "#/components/schemas/BooleanStringResult"
190
+ }
191
+ }
192
+ }
193
+ },
194
+ "400": {
195
+ "description": "Invalid request"
196
+ },
197
+ "401": {
198
+ "description": "Unauthorized"
199
+ }
200
+ },
201
+ "security": [
202
+ {
203
+ "bearerAuth": [
204
+ "access_allow"
205
+ ]
206
+ }
207
+ ]
208
+ }
209
+ },
210
+ "/auth/register": {
211
+ "post": {
212
+ "tags": [
213
+ "auth"
214
+ ],
215
+ "summary": "Register an account",
216
+ "description": "Register an account",
217
+ "operationId": "register",
218
+ "requestBody": {
219
+ "description": "Create a new account",
220
+ "content": {
221
+ "application/json": {
222
+ "schema": {
223
+ "$ref": "#/components/schemas/RequestRegister"
224
+ }
225
+ }
226
+ },
227
+ "required": true
228
+ },
229
+ "responses": {
230
+ "201": {
231
+ "description": "User did update password successfully",
232
+ "content": {
233
+ "application/json": {
234
+ "schema": {
235
+ "$ref": "#/components/schemas/User"
236
+ }
237
+ }
238
+ }
239
+ },
240
+ "400": {
241
+ "description": "Invalid request"
242
+ }
243
+ }
244
+ }
245
+ },
246
+ "/users": {
247
+ "get": {
248
+ "tags": [
249
+ "user"
250
+ ],
251
+ "summary": "Get all users",
252
+ "description": "Returns a page of users. Delta sync page: sort=`updatedAt:asc,id:asc`, filter `{\"updatedAt\":{\"operator\":\"gt\",\"value\":\"<iso>\"}}`, page through `page`/`size`, set `includeDeleted=true` so tombstones travel with the cursor (`x-sync`).",
253
+ "operationId": "getAll",
254
+ "x-service": "core",
255
+ "x-sync": {
256
+ "cursorField": "updatedAt",
257
+ "includeDeletedParam": "includeDeleted"
258
+ },
259
+ "x-list-capabilities": {
260
+ "sortable": [
261
+ "firstName",
262
+ "lastName",
263
+ "username",
264
+ "organization",
265
+ "createdAt",
266
+ "updatedAt",
267
+ "id"
268
+ ],
269
+ "filterable": {
270
+ "firstName": "text",
271
+ "lastName": "text",
272
+ "username": "text",
273
+ "organization": "uuid",
274
+ "roles": "enum",
275
+ "createdAt": "date",
276
+ "updatedAt": "date"
277
+ },
278
+ "searchable": [
279
+ "firstName",
280
+ "lastName",
281
+ "username"
282
+ ],
283
+ "defaultSize": 30,
284
+ "maxSize": 100,
285
+ "includeDeleted": true
286
+ },
287
+ "x-metrics-capabilities": {
288
+ "groupable": [
289
+ "roles",
290
+ "organization"
291
+ ],
292
+ "series": [
293
+ "createdAt",
294
+ "updatedAt"
295
+ ]
296
+ },
297
+ "parameters": [
298
+ {
299
+ "name": "page",
300
+ "in": "query",
301
+ "description": "Page number to fetch (1-based).",
302
+ "required": false,
303
+ "schema": {
304
+ "type": "integer",
305
+ "minimum": 1,
306
+ "default": 1
307
+ }
308
+ },
309
+ {
310
+ "name": "size",
311
+ "in": "query",
312
+ "description": "Page size; bounded by `x-list-capabilities.maxSize`.",
313
+ "required": false,
314
+ "schema": {
315
+ "type": "integer",
316
+ "minimum": 1,
317
+ "maximum": 100,
318
+ "default": 30
319
+ }
320
+ },
321
+ {
322
+ "name": "filter",
323
+ "in": "query",
324
+ "description": "Base64-encoded JSON object keyed by a field listed in `x-list-capabilities.filterable`. A scalar value means equality; an object `{ \"operator\": \"contains\" | \"eq\" | \"ne\" | \"in\" | \"gte\" | \"lte\" | \"between\", \"value\": ... }` applies that operator. Unknown fields or operators are rejected with 400.",
325
+ "required": false,
326
+ "schema": {
327
+ "type": "string",
328
+ "maxLength": 4096
329
+ }
330
+ },
331
+ {
332
+ "name": "sort",
333
+ "in": "query",
334
+ "description": "Comma-separated `field:asc|desc` pairs, fields limited to `x-list-capabilities.sortable`. Unknown fields are rejected with 400.",
335
+ "required": false,
336
+ "schema": {
337
+ "type": "string",
338
+ "maxLength": 256,
339
+ "pattern": "^[A-Za-z0-9_.]+(:(asc|desc))?(,[A-Za-z0-9_.]+(:(asc|desc))?)*$"
340
+ }
341
+ },
342
+ {
343
+ "name": "q",
344
+ "in": "query",
345
+ "description": "Case-insensitive free-text search over `x-list-capabilities.searchable`.",
346
+ "required": false,
347
+ "schema": {
348
+ "type": "string",
349
+ "maxLength": 200
350
+ }
351
+ },
352
+ {
353
+ "name": "includeDeleted",
354
+ "in": "query",
355
+ "description": "When true, list includes tombstones (`deletedAt` set). Default false.",
356
+ "required": false,
357
+ "schema": {
358
+ "type": "boolean",
359
+ "default": false
360
+ }
361
+ }
362
+ ],
363
+ "responses": {
364
+ "200": {
365
+ "description": "successful operation",
366
+ "content": {
367
+ "application/json": {
368
+ "schema": {
369
+ "$ref": "#/components/schemas/UserArrayOf"
370
+ }
371
+ }
372
+ }
373
+ },
374
+ "400": {
375
+ "description": "Invalid ID supplied"
376
+ },
377
+ "401": {
378
+ "description": "Unauthorized"
379
+ },
380
+ "403": {
381
+ "description": "Forbidden"
382
+ },
383
+ "404": {
384
+ "description": "User not found"
385
+ }
386
+ },
387
+ "security": [
388
+ {
389
+ "bearerAuth": [
390
+ "read_user"
391
+ ]
392
+ }
393
+ ]
394
+ },
395
+ "post": {
396
+ "tags": [
397
+ "user"
398
+ ],
399
+ "summary": "Add a new user to the store",
400
+ "description": "Add a new user to the store",
401
+ "operationId": "create",
402
+ "requestBody": {
403
+ "description": "Create a new user in the store",
404
+ "content": {
405
+ "application/json": {
406
+ "schema": {
407
+ "$ref": "#/components/schemas/RequestCreateUser"
408
+ }
409
+ }
410
+ },
411
+ "required": true
412
+ },
413
+ "responses": {
414
+ "201": {
415
+ "description": "User created successfully",
416
+ "content": {
417
+ "application/json": {
418
+ "schema": {
419
+ "$ref": "#/components/schemas/User"
420
+ }
421
+ }
422
+ }
423
+ },
424
+ "400": {
425
+ "description": "Invalid request"
426
+ },
427
+ "401": {
428
+ "description": "Unauthorized"
429
+ },
430
+ "403": {
431
+ "description": "Forbidden"
432
+ },
433
+ "409": {
434
+ "description": "Conflict"
435
+ }
436
+ },
437
+ "security": [
438
+ {
439
+ "bearerAuth": [
440
+ "create_user"
441
+ ]
442
+ }
443
+ ]
444
+ }
445
+ },
446
+ "/users/metrics": {
447
+ "get": {
448
+ "tags": [
449
+ "user"
450
+ ],
451
+ "summary": "User metrics",
452
+ "description": "Generic aggregates for User (count, groupBy, time series).",
453
+ "operationId": "getUsersMetrics",
454
+ "x-service": "core",
455
+ "x-metrics-capabilities": {
456
+ "groupable": [
457
+ "roles",
458
+ "organization"
459
+ ],
460
+ "series": [
461
+ "createdAt",
462
+ "updatedAt"
463
+ ]
464
+ },
465
+ "parameters": [
466
+ {
467
+ "name": "metric",
468
+ "in": "query",
469
+ "required": true,
470
+ "schema": {
471
+ "type": "string",
472
+ "enum": [
473
+ "count",
474
+ "groupBy",
475
+ "series"
476
+ ]
477
+ }
478
+ },
479
+ {
480
+ "name": "field",
481
+ "in": "query",
482
+ "required": false,
483
+ "schema": {
484
+ "type": "string"
485
+ }
486
+ },
487
+ {
488
+ "name": "interval",
489
+ "in": "query",
490
+ "required": false,
491
+ "schema": {
492
+ "type": "string",
493
+ "enum": [
494
+ "day",
495
+ "week",
496
+ "month"
497
+ ]
498
+ }
499
+ },
500
+ {
501
+ "name": "filter",
502
+ "in": "query",
503
+ "required": false,
504
+ "schema": {
505
+ "type": "string",
506
+ "maxLength": 4096
507
+ }
508
+ }
509
+ ],
510
+ "responses": {
511
+ "200": {
512
+ "description": "Metrics buckets",
513
+ "content": {
514
+ "application/json": {
515
+ "schema": {
516
+ "$ref": "#/components/schemas/EntityMetricsResponse"
517
+ }
518
+ }
519
+ }
520
+ },
521
+ "400": {
522
+ "description": "Invalid request"
523
+ },
524
+ "401": {
525
+ "description": "Unauthorized"
526
+ },
527
+ "403": {
528
+ "description": "Forbidden"
529
+ }
530
+ },
531
+ "security": [
532
+ {
533
+ "bearerAuth": [
534
+ "read_user"
535
+ ]
536
+ }
537
+ ]
538
+ }
539
+ },
540
+ "/users/{id}": {
541
+ "delete": {
542
+ "tags": [
543
+ "user"
544
+ ],
545
+ "summary": "Delete user",
546
+ "description": "Deletes a single user",
547
+ "operationId": "deleteOne",
548
+ "parameters": [
549
+ {
550
+ "name": "id",
551
+ "in": "path",
552
+ "description": "ID of user to return",
553
+ "required": true,
554
+ "schema": {
555
+ "type": "string"
556
+ }
557
+ }
558
+ ],
559
+ "responses": {
560
+ "200": {
561
+ "description": "successful operation",
562
+ "content": {
563
+ "application/json": {
564
+ "schema": {
565
+ "$ref": "#/components/schemas/ResourceDeleteResponse"
566
+ }
567
+ }
568
+ }
569
+ },
570
+ "400": {
571
+ "description": "Invalid ID supplied"
572
+ },
573
+ "401": {
574
+ "description": "Unauthorized"
575
+ },
576
+ "403": {
577
+ "description": "Forbidden"
578
+ },
579
+ "404": {
580
+ "description": "User not found"
581
+ }
582
+ },
583
+ "security": [
584
+ {
585
+ "bearerAuth": [
586
+ "delete_user"
587
+ ]
588
+ }
589
+ ]
590
+ },
591
+ "put": {
592
+ "tags": [
593
+ "user"
594
+ ],
595
+ "summary": "Update user",
596
+ "description": "Updates a single user",
597
+ "operationId": "update",
598
+ "parameters": [
599
+ {
600
+ "name": "id",
601
+ "in": "path",
602
+ "description": "ID of user to update",
603
+ "required": true,
604
+ "schema": {
605
+ "type": "string"
606
+ }
607
+ }
608
+ ],
609
+ "requestBody": {
610
+ "description": "Update an user from Store",
611
+ "content": {
612
+ "application/json": {
613
+ "schema": {
614
+ "$ref": "#/components/schemas/RequestUpdateUser"
615
+ }
616
+ }
617
+ },
618
+ "required": true
619
+ },
620
+ "responses": {
621
+ "200": {
622
+ "description": "successful operation",
623
+ "content": {
624
+ "application/json": {
625
+ "schema": {
626
+ "$ref": "#/components/schemas/User"
627
+ }
628
+ }
629
+ }
630
+ },
631
+ "400": {
632
+ "description": "Invalid ID supplied"
633
+ },
634
+ "401": {
635
+ "description": "Unauthorized"
636
+ },
637
+ "403": {
638
+ "description": "Forbidden"
639
+ },
640
+ "404": {
641
+ "description": "User not found"
642
+ },
643
+ "409": {
644
+ "description": "Conflict"
645
+ }
646
+ },
647
+ "security": [
648
+ {
649
+ "bearerAuth": [
650
+ "update_user"
651
+ ]
652
+ }
653
+ ]
654
+ },
655
+ "get": {
656
+ "tags": [
657
+ "user"
658
+ ],
659
+ "summary": "Get an user by ID",
660
+ "description": "Returns a single user",
661
+ "operationId": "getOneById",
662
+ "parameters": [
663
+ {
664
+ "name": "id",
665
+ "in": "path",
666
+ "description": "ID of user to return",
667
+ "required": true,
668
+ "schema": {
669
+ "type": "string"
670
+ }
671
+ }
672
+ ],
673
+ "responses": {
674
+ "200": {
675
+ "description": "successful operation",
676
+ "content": {
677
+ "application/json": {
678
+ "schema": {
679
+ "$ref": "#/components/schemas/User"
680
+ }
681
+ }
682
+ }
683
+ },
684
+ "400": {
685
+ "description": "Invalid ID supplied"
686
+ },
687
+ "401": {
688
+ "description": "Unauthorized"
689
+ },
690
+ "403": {
691
+ "description": "Forbidden"
692
+ },
693
+ "404": {
694
+ "description": "User not found"
695
+ }
696
+ },
697
+ "security": [
698
+ {
699
+ "bearerAuth": [
700
+ "read_user"
701
+ ]
702
+ }
703
+ ]
704
+ }
705
+ },
706
+ "/users/{id}/updatePassword": {
707
+ "put": {
708
+ "tags": [
709
+ "user"
710
+ ],
711
+ "summary": "Updates user password",
712
+ "description": "Updates user password",
713
+ "operationId": "updatePassword",
714
+ "parameters": [
715
+ {
716
+ "name": "id",
717
+ "in": "path",
718
+ "description": "ID of user",
719
+ "required": true,
720
+ "schema": {
721
+ "type": "string"
722
+ }
723
+ }
724
+ ],
725
+ "requestBody": {
726
+ "description": "Old and new password",
727
+ "content": {
728
+ "application/json": {
729
+ "schema": {
730
+ "$ref": "#/components/schemas/RequestUpdatePassword"
731
+ }
732
+ }
733
+ },
734
+ "required": true
735
+ },
736
+ "responses": {
737
+ "200": {
738
+ "description": "successful operation",
739
+ "content": {
740
+ "application/json": {
741
+ "schema": {
742
+ "$ref": "#/components/schemas/User"
743
+ }
744
+ }
745
+ }
746
+ },
747
+ "400": {
748
+ "description": "Invalid ID supplied"
749
+ },
750
+ "401": {
751
+ "description": "Unauthorized"
752
+ },
753
+ "403": {
754
+ "description": "Forbidden"
755
+ },
756
+ "404": {
757
+ "description": "User not found"
758
+ },
759
+ "409": {
760
+ "description": "Conflict"
761
+ }
762
+ },
763
+ "security": [
764
+ {
765
+ "bearerAuth": [
766
+ "update_user"
767
+ ]
768
+ }
769
+ ]
770
+ }
771
+ },
772
+ "/users/{id}/createEmail": {
773
+ "post": {
774
+ "tags": [
775
+ "user"
776
+ ],
777
+ "summary": "Create email address for a given user",
778
+ "description": "Create email address for a given user",
779
+ "operationId": "createEmail",
780
+ "parameters": [
781
+ {
782
+ "name": "id",
783
+ "in": "path",
784
+ "description": "ID of user",
785
+ "required": true,
786
+ "schema": {
787
+ "type": "string"
788
+ }
789
+ }
790
+ ],
791
+ "requestBody": {
792
+ "description": "Email create data",
793
+ "content": {
794
+ "application/json": {
795
+ "schema": {
796
+ "$ref": "#/components/schemas/RequestCreateEmail"
797
+ }
798
+ }
799
+ },
800
+ "required": true
801
+ },
802
+ "responses": {
803
+ "201": {
804
+ "description": "successful operation",
805
+ "content": {
806
+ "application/json": {
807
+ "schema": {
808
+ "$ref": "#/components/schemas/Email"
809
+ }
810
+ }
811
+ }
812
+ },
813
+ "400": {
814
+ "description": "Invalid ID supplied"
815
+ },
816
+ "401": {
817
+ "description": "Unauthorized"
818
+ },
819
+ "403": {
820
+ "description": "Forbidden"
821
+ },
822
+ "404": {
823
+ "description": "User not found"
824
+ },
825
+ "409": {
826
+ "description": "Conflict"
827
+ }
828
+ },
829
+ "security": [
830
+ {
831
+ "bearerAuth": [
832
+ "update_user"
833
+ ]
834
+ }
835
+ ]
836
+ }
837
+ },
838
+ "/users/{id}/updateEmail/{emailId}": {
839
+ "put": {
840
+ "tags": [
841
+ "user"
842
+ ],
843
+ "summary": "Update email address for a given user",
844
+ "description": "Update email address for a given user",
845
+ "operationId": "updateEmail",
846
+ "parameters": [
847
+ {
848
+ "name": "id",
849
+ "in": "path",
850
+ "description": "ID of user",
851
+ "required": true,
852
+ "schema": {
853
+ "type": "string"
854
+ }
855
+ },
856
+ {
857
+ "name": "emailId",
858
+ "in": "path",
859
+ "description": "emailId to update",
860
+ "required": true,
861
+ "schema": {
862
+ "type": "string"
863
+ }
864
+ }
865
+ ],
866
+ "requestBody": {
867
+ "description": "Email update data",
868
+ "content": {
869
+ "application/json": {
870
+ "schema": {
871
+ "$ref": "#/components/schemas/RequestUpdateEmail"
872
+ }
873
+ }
874
+ },
875
+ "required": true
876
+ },
877
+ "responses": {
878
+ "200": {
879
+ "description": "successful operation",
880
+ "content": {
881
+ "application/json": {
882
+ "schema": {
883
+ "$ref": "#/components/schemas/Email"
884
+ }
885
+ }
886
+ }
887
+ },
888
+ "400": {
889
+ "description": "Invalid ID supplied"
890
+ },
891
+ "401": {
892
+ "description": "Unauthorized"
893
+ },
894
+ "403": {
895
+ "description": "Forbidden"
896
+ },
897
+ "404": {
898
+ "description": "Resource not found"
899
+ },
900
+ "409": {
901
+ "description": "Conflict"
902
+ }
903
+ },
904
+ "security": [
905
+ {
906
+ "bearerAuth": [
907
+ "update_user"
908
+ ]
909
+ }
910
+ ]
911
+ }
912
+ },
913
+ "/users/{id}/deleteEmail/{emailId}": {
914
+ "delete": {
915
+ "tags": [
916
+ "user"
917
+ ],
918
+ "summary": "Delete email address of an user",
919
+ "description": "Deletes email address of an user",
920
+ "operationId": "deleteEmail",
921
+ "parameters": [
922
+ {
923
+ "name": "id",
924
+ "in": "path",
925
+ "description": "ID of user",
926
+ "required": true,
927
+ "schema": {
928
+ "type": "string"
929
+ }
930
+ },
931
+ {
932
+ "name": "emailId",
933
+ "in": "path",
934
+ "description": "emailId to delete",
935
+ "required": true,
936
+ "schema": {
937
+ "type": "string"
938
+ }
939
+ }
940
+ ],
941
+ "responses": {
942
+ "200": {
943
+ "description": "successful operation",
944
+ "content": {
945
+ "application/json": {
946
+ "schema": {
947
+ "$ref": "#/components/schemas/ResourceDeleteResponse"
948
+ }
949
+ }
950
+ }
951
+ },
952
+ "400": {
953
+ "description": "Invalid ID supplied"
954
+ },
955
+ "401": {
956
+ "description": "Unauthorized"
957
+ },
958
+ "403": {
959
+ "description": "Forbidden"
960
+ },
961
+ "404": {
962
+ "description": "Resource not found"
963
+ }
964
+ },
965
+ "security": [
966
+ {
967
+ "bearerAuth": [
968
+ "delete_user"
969
+ ]
970
+ }
971
+ ]
972
+ }
973
+ },
974
+ "/users/{id}/createDocument": {
975
+ "post": {
976
+ "tags": [
977
+ "user"
978
+ ],
979
+ "summary": "Create document for a given user",
980
+ "description": "Create document for a given user",
981
+ "operationId": "createDocument",
982
+ "parameters": [
983
+ {
984
+ "name": "id",
985
+ "in": "path",
986
+ "description": "ID of user",
987
+ "required": true,
988
+ "schema": {
989
+ "type": "string"
990
+ }
991
+ }
992
+ ],
993
+ "requestBody": {
994
+ "description": "Document create data",
995
+ "content": {
996
+ "application/json": {
997
+ "schema": {
998
+ "$ref": "#/components/schemas/RequestCreateDocument"
999
+ }
1000
+ }
1001
+ },
1002
+ "required": true
1003
+ },
1004
+ "responses": {
1005
+ "201": {
1006
+ "description": "successful operation",
1007
+ "content": {
1008
+ "application/json": {
1009
+ "schema": {
1010
+ "$ref": "#/components/schemas/Document"
1011
+ }
1012
+ }
1013
+ }
1014
+ },
1015
+ "400": {
1016
+ "description": "Invalid ID supplied"
1017
+ },
1018
+ "401": {
1019
+ "description": "Unauthorized"
1020
+ },
1021
+ "403": {
1022
+ "description": "Forbidden"
1023
+ },
1024
+ "404": {
1025
+ "description": "User not found"
1026
+ },
1027
+ "409": {
1028
+ "description": "Conflict"
1029
+ }
1030
+ },
1031
+ "security": [
1032
+ {
1033
+ "bearerAuth": [
1034
+ "update_user"
1035
+ ]
1036
+ }
1037
+ ]
1038
+ }
1039
+ },
1040
+ "/users/{id}/updateDocument/{documentId}": {
1041
+ "put": {
1042
+ "tags": [
1043
+ "user"
1044
+ ],
1045
+ "summary": "Update document for a given user",
1046
+ "description": "Update document for a given user",
1047
+ "operationId": "updateDocument",
1048
+ "parameters": [
1049
+ {
1050
+ "name": "id",
1051
+ "in": "path",
1052
+ "description": "ID of user",
1053
+ "required": true,
1054
+ "schema": {
1055
+ "type": "string"
1056
+ }
1057
+ },
1058
+ {
1059
+ "name": "documentId",
1060
+ "in": "path",
1061
+ "description": "documentId to update",
1062
+ "required": true,
1063
+ "schema": {
1064
+ "type": "string"
1065
+ }
1066
+ }
1067
+ ],
1068
+ "requestBody": {
1069
+ "description": "Document update data",
1070
+ "content": {
1071
+ "application/json": {
1072
+ "schema": {
1073
+ "$ref": "#/components/schemas/RequestUpdateDocument"
1074
+ }
1075
+ }
1076
+ },
1077
+ "required": true
1078
+ },
1079
+ "responses": {
1080
+ "200": {
1081
+ "description": "successful operation",
1082
+ "content": {
1083
+ "application/json": {
1084
+ "schema": {
1085
+ "$ref": "#/components/schemas/Document"
1086
+ }
1087
+ }
1088
+ }
1089
+ },
1090
+ "400": {
1091
+ "description": "Invalid ID supplied"
1092
+ },
1093
+ "401": {
1094
+ "description": "Unauthorized"
1095
+ },
1096
+ "403": {
1097
+ "description": "Forbidden"
1098
+ },
1099
+ "404": {
1100
+ "description": "User not found"
1101
+ },
1102
+ "409": {
1103
+ "description": "Conflict"
1104
+ }
1105
+ },
1106
+ "security": [
1107
+ {
1108
+ "bearerAuth": [
1109
+ "update_user"
1110
+ ]
1111
+ }
1112
+ ]
1113
+ }
1114
+ },
1115
+ "/users/{id}/deleteDocument/{documentId}": {
1116
+ "delete": {
1117
+ "tags": [
1118
+ "user"
1119
+ ],
1120
+ "summary": "Delete document of an user",
1121
+ "description": "Deletes document of an user",
1122
+ "operationId": "deleteDocument",
1123
+ "parameters": [
1124
+ {
1125
+ "name": "id",
1126
+ "in": "path",
1127
+ "description": "ID of user",
1128
+ "required": true,
1129
+ "schema": {
1130
+ "type": "string"
1131
+ }
1132
+ },
1133
+ {
1134
+ "name": "documentId",
1135
+ "in": "path",
1136
+ "description": "documentId to delete",
1137
+ "required": true,
1138
+ "schema": {
1139
+ "type": "string"
1140
+ }
1141
+ }
1142
+ ],
1143
+ "responses": {
1144
+ "200": {
1145
+ "description": "successful operation",
1146
+ "content": {
1147
+ "application/json": {
1148
+ "schema": {
1149
+ "$ref": "#/components/schemas/ResourceDeleteResponse"
1150
+ }
1151
+ }
1152
+ }
1153
+ },
1154
+ "400": {
1155
+ "description": "Invalid ID supplied"
1156
+ },
1157
+ "401": {
1158
+ "description": "Unauthorized"
1159
+ },
1160
+ "403": {
1161
+ "description": "Forbidden"
1162
+ },
1163
+ "404": {
1164
+ "description": "Resource not found"
1165
+ }
1166
+ },
1167
+ "security": [
1168
+ {
1169
+ "bearerAuth": [
1170
+ "delete_user"
1171
+ ]
1172
+ }
1173
+ ]
1174
+ }
1175
+ },
1176
+ "/users/{id}/createPhone": {
1177
+ "post": {
1178
+ "tags": [
1179
+ "user"
1180
+ ],
1181
+ "summary": "Create phone address for a given user",
1182
+ "description": "Create phone address for a given user",
1183
+ "operationId": "createPhone",
1184
+ "parameters": [
1185
+ {
1186
+ "name": "id",
1187
+ "in": "path",
1188
+ "description": "ID of user",
1189
+ "required": true,
1190
+ "schema": {
1191
+ "type": "string"
1192
+ }
1193
+ }
1194
+ ],
1195
+ "requestBody": {
1196
+ "description": "Phone create data",
1197
+ "content": {
1198
+ "application/json": {
1199
+ "schema": {
1200
+ "$ref": "#/components/schemas/RequestCreatePhone"
1201
+ }
1202
+ }
1203
+ },
1204
+ "required": true
1205
+ },
1206
+ "responses": {
1207
+ "201": {
1208
+ "description": "successful operation",
1209
+ "content": {
1210
+ "application/json": {
1211
+ "schema": {
1212
+ "$ref": "#/components/schemas/Phone"
1213
+ }
1214
+ }
1215
+ }
1216
+ },
1217
+ "400": {
1218
+ "description": "Invalid ID supplied"
1219
+ },
1220
+ "401": {
1221
+ "description": "Unauthorized"
1222
+ },
1223
+ "403": {
1224
+ "description": "Forbidden"
1225
+ },
1226
+ "404": {
1227
+ "description": "User not found"
1228
+ },
1229
+ "409": {
1230
+ "description": "Conflict"
1231
+ }
1232
+ },
1233
+ "security": [
1234
+ {
1235
+ "bearerAuth": [
1236
+ "update_user"
1237
+ ]
1238
+ }
1239
+ ]
1240
+ }
1241
+ },
1242
+ "/users/{id}/updatePhone/{phoneId}": {
1243
+ "put": {
1244
+ "tags": [
1245
+ "user"
1246
+ ],
1247
+ "summary": "Update phone address for a given user",
1248
+ "description": "Update phone address for a given user",
1249
+ "operationId": "updatePhone",
1250
+ "parameters": [
1251
+ {
1252
+ "name": "id",
1253
+ "in": "path",
1254
+ "description": "ID of user",
1255
+ "required": true,
1256
+ "schema": {
1257
+ "type": "string"
1258
+ }
1259
+ },
1260
+ {
1261
+ "name": "phoneId",
1262
+ "in": "path",
1263
+ "description": "phoneId to update",
1264
+ "required": true,
1265
+ "schema": {
1266
+ "type": "string"
1267
+ }
1268
+ }
1269
+ ],
1270
+ "requestBody": {
1271
+ "description": "Phone update data",
1272
+ "content": {
1273
+ "application/json": {
1274
+ "schema": {
1275
+ "$ref": "#/components/schemas/RequestUpdatePhone"
1276
+ }
1277
+ }
1278
+ },
1279
+ "required": true
1280
+ },
1281
+ "responses": {
1282
+ "200": {
1283
+ "description": "successful operation",
1284
+ "content": {
1285
+ "application/json": {
1286
+ "schema": {
1287
+ "$ref": "#/components/schemas/Phone"
1288
+ }
1289
+ }
1290
+ }
1291
+ },
1292
+ "400": {
1293
+ "description": "Invalid ID supplied"
1294
+ },
1295
+ "401": {
1296
+ "description": "Unauthorized"
1297
+ },
1298
+ "403": {
1299
+ "description": "Forbidden"
1300
+ },
1301
+ "404": {
1302
+ "description": "User not found"
1303
+ },
1304
+ "409": {
1305
+ "description": "Conflict"
1306
+ }
1307
+ },
1308
+ "security": [
1309
+ {
1310
+ "bearerAuth": [
1311
+ "update_user"
1312
+ ]
1313
+ }
1314
+ ]
1315
+ }
1316
+ },
1317
+ "/users/{id}/deletePhone/{phoneId}": {
1318
+ "delete": {
1319
+ "tags": [
1320
+ "user"
1321
+ ],
1322
+ "summary": "Delete phone of an user",
1323
+ "description": "Deletes phone of an user",
1324
+ "operationId": "deletePhone",
1325
+ "parameters": [
1326
+ {
1327
+ "name": "id",
1328
+ "in": "path",
1329
+ "description": "ID of user",
1330
+ "required": true,
1331
+ "schema": {
1332
+ "type": "string"
1333
+ }
1334
+ },
1335
+ {
1336
+ "name": "phoneId",
1337
+ "in": "path",
1338
+ "description": "phoneId to delete",
1339
+ "required": true,
1340
+ "schema": {
1341
+ "type": "string"
1342
+ }
1343
+ }
1344
+ ],
1345
+ "responses": {
1346
+ "200": {
1347
+ "description": "successful operation",
1348
+ "content": {
1349
+ "application/json": {
1350
+ "schema": {
1351
+ "$ref": "#/components/schemas/ResourceDeleteResponse"
1352
+ }
1353
+ }
1354
+ }
1355
+ },
1356
+ "400": {
1357
+ "description": "Invalid ID supplied"
1358
+ },
1359
+ "401": {
1360
+ "description": "Unauthorized"
1361
+ },
1362
+ "403": {
1363
+ "description": "Forbidden"
1364
+ },
1365
+ "404": {
1366
+ "description": "Resource not found"
1367
+ }
1368
+ },
1369
+ "security": [
1370
+ {
1371
+ "bearerAuth": [
1372
+ "delete_user"
1373
+ ]
1374
+ }
1375
+ ]
1376
+ }
1377
+ },
1378
+ "/organizations": {
1379
+ "get": {
1380
+ "tags": [
1381
+ "organization"
1382
+ ],
1383
+ "summary": "Get all organizations",
1384
+ "description": "Returns a page of organizations. Delta sync page: sort=`updatedAt:asc,id:asc`, filter `{\"updatedAt\":{\"operator\":\"gt\",\"value\":\"<iso>\"}}`, page through `page`/`size`, set `includeDeleted=true` so tombstones travel with the cursor (`x-sync`).",
1385
+ "operationId": "getAllOrganizations",
1386
+ "x-service": "core",
1387
+ "x-sync": {
1388
+ "cursorField": "updatedAt",
1389
+ "includeDeletedParam": "includeDeleted"
1390
+ },
1391
+ "x-list-capabilities": {
1392
+ "sortable": [
1393
+ "name",
1394
+ "createdAt",
1395
+ "updatedAt",
1396
+ "id"
1397
+ ],
1398
+ "filterable": {
1399
+ "name": "text",
1400
+ "createdAt": "date",
1401
+ "updatedAt": "date"
1402
+ },
1403
+ "searchable": [
1404
+ "name"
1405
+ ],
1406
+ "defaultSize": 30,
1407
+ "maxSize": 100,
1408
+ "includeDeleted": true
1409
+ },
1410
+ "x-metrics-capabilities": {
1411
+ "groupable": [],
1412
+ "series": [
1413
+ "createdAt",
1414
+ "updatedAt"
1415
+ ]
1416
+ },
1417
+ "parameters": [
1418
+ {
1419
+ "name": "page",
1420
+ "in": "query",
1421
+ "description": "Page number to fetch (1-based).",
1422
+ "required": false,
1423
+ "schema": {
1424
+ "type": "integer",
1425
+ "minimum": 1,
1426
+ "default": 1
1427
+ }
1428
+ },
1429
+ {
1430
+ "name": "size",
1431
+ "in": "query",
1432
+ "description": "Page size; bounded by `x-list-capabilities.maxSize`.",
1433
+ "required": false,
1434
+ "schema": {
1435
+ "type": "integer",
1436
+ "minimum": 1,
1437
+ "maximum": 100,
1438
+ "default": 30
1439
+ }
1440
+ },
1441
+ {
1442
+ "name": "filter",
1443
+ "in": "query",
1444
+ "description": "Base64-encoded JSON object keyed by a field listed in `x-list-capabilities.filterable`. A scalar value means equality; an object `{ \"operator\": \"contains\" | \"eq\" | \"ne\" | \"in\" | \"gte\" | \"lte\" | \"between\", \"value\": ... }` applies that operator. Unknown fields or operators are rejected with 400.",
1445
+ "required": false,
1446
+ "schema": {
1447
+ "type": "string",
1448
+ "maxLength": 4096
1449
+ }
1450
+ },
1451
+ {
1452
+ "name": "sort",
1453
+ "in": "query",
1454
+ "description": "Comma-separated `field:asc|desc` pairs, fields limited to `x-list-capabilities.sortable`. Unknown fields are rejected with 400.",
1455
+ "required": false,
1456
+ "schema": {
1457
+ "type": "string",
1458
+ "maxLength": 256,
1459
+ "pattern": "^[A-Za-z0-9_.]+(:(asc|desc))?(,[A-Za-z0-9_.]+(:(asc|desc))?)*$"
1460
+ }
1461
+ },
1462
+ {
1463
+ "name": "q",
1464
+ "in": "query",
1465
+ "description": "Case-insensitive free-text search over `x-list-capabilities.searchable`.",
1466
+ "required": false,
1467
+ "schema": {
1468
+ "type": "string",
1469
+ "maxLength": 200
1470
+ }
1471
+ },
1472
+ {
1473
+ "name": "includeDeleted",
1474
+ "in": "query",
1475
+ "required": false,
1476
+ "schema": {
1477
+ "type": "boolean",
1478
+ "default": false
1479
+ }
1480
+ }
1481
+ ],
1482
+ "responses": {
1483
+ "200": {
1484
+ "description": "successful operation",
1485
+ "content": {
1486
+ "application/json": {
1487
+ "schema": {
1488
+ "$ref": "#/components/schemas/OrganizationArrayOf"
1489
+ }
1490
+ }
1491
+ }
1492
+ },
1493
+ "400": {
1494
+ "description": "Invalid request"
1495
+ },
1496
+ "401": {
1497
+ "description": "Unauthorized"
1498
+ },
1499
+ "403": {
1500
+ "description": "Forbidden"
1501
+ }
1502
+ },
1503
+ "security": [
1504
+ {
1505
+ "bearerAuth": [
1506
+ "read_organization"
1507
+ ]
1508
+ }
1509
+ ]
1510
+ },
1511
+ "post": {
1512
+ "tags": [
1513
+ "organization"
1514
+ ],
1515
+ "summary": "Add a new organization",
1516
+ "description": "Add a new organization",
1517
+ "operationId": "createOrganization",
1518
+ "requestBody": {
1519
+ "description": "Create organization payload",
1520
+ "content": {
1521
+ "application/json": {
1522
+ "schema": {
1523
+ "$ref": "#/components/schemas/RequestCreateOrganization"
1524
+ }
1525
+ }
1526
+ },
1527
+ "required": true
1528
+ },
1529
+ "responses": {
1530
+ "201": {
1531
+ "description": "Organization created successfully",
1532
+ "content": {
1533
+ "application/json": {
1534
+ "schema": {
1535
+ "$ref": "#/components/schemas/Organization"
1536
+ }
1537
+ }
1538
+ }
1539
+ },
1540
+ "400": {
1541
+ "description": "Invalid request"
1542
+ },
1543
+ "401": {
1544
+ "description": "Unauthorized"
1545
+ },
1546
+ "403": {
1547
+ "description": "Forbidden"
1548
+ },
1549
+ "409": {
1550
+ "description": "Conflict"
1551
+ }
1552
+ },
1553
+ "security": [
1554
+ {
1555
+ "bearerAuth": [
1556
+ "create_organization"
1557
+ ]
1558
+ }
1559
+ ]
1560
+ }
1561
+ },
1562
+ "/organizations/metrics": {
1563
+ "get": {
1564
+ "tags": [
1565
+ "organization"
1566
+ ],
1567
+ "summary": "Organization metrics",
1568
+ "description": "Generic aggregates for Organization (count, groupBy, time series).",
1569
+ "operationId": "getOrganizationsMetrics",
1570
+ "x-service": "core",
1571
+ "x-metrics-capabilities": {
1572
+ "groupable": [],
1573
+ "series": [
1574
+ "createdAt",
1575
+ "updatedAt"
1576
+ ]
1577
+ },
1578
+ "parameters": [
1579
+ {
1580
+ "name": "metric",
1581
+ "in": "query",
1582
+ "required": true,
1583
+ "schema": {
1584
+ "type": "string",
1585
+ "enum": [
1586
+ "count",
1587
+ "groupBy",
1588
+ "series"
1589
+ ]
1590
+ }
1591
+ },
1592
+ {
1593
+ "name": "field",
1594
+ "in": "query",
1595
+ "required": false,
1596
+ "schema": {
1597
+ "type": "string"
1598
+ }
1599
+ },
1600
+ {
1601
+ "name": "interval",
1602
+ "in": "query",
1603
+ "required": false,
1604
+ "schema": {
1605
+ "type": "string",
1606
+ "enum": [
1607
+ "day",
1608
+ "week",
1609
+ "month"
1610
+ ]
1611
+ }
1612
+ },
1613
+ {
1614
+ "name": "filter",
1615
+ "in": "query",
1616
+ "required": false,
1617
+ "schema": {
1618
+ "type": "string",
1619
+ "maxLength": 4096
1620
+ }
1621
+ }
1622
+ ],
1623
+ "responses": {
1624
+ "200": {
1625
+ "description": "Metrics buckets",
1626
+ "content": {
1627
+ "application/json": {
1628
+ "schema": {
1629
+ "$ref": "#/components/schemas/EntityMetricsResponse"
1630
+ }
1631
+ }
1632
+ }
1633
+ },
1634
+ "400": {
1635
+ "description": "Invalid request"
1636
+ },
1637
+ "401": {
1638
+ "description": "Unauthorized"
1639
+ },
1640
+ "403": {
1641
+ "description": "Forbidden"
1642
+ }
1643
+ },
1644
+ "security": [
1645
+ {
1646
+ "bearerAuth": [
1647
+ "read_organization"
1648
+ ]
1649
+ }
1650
+ ]
1651
+ }
1652
+ },
1653
+ "/organizations/{id}": {
1654
+ "get": {
1655
+ "tags": [
1656
+ "organization"
1657
+ ],
1658
+ "summary": "Get organization by ID",
1659
+ "description": "Returns a single organization",
1660
+ "operationId": "getOrganizationById",
1661
+ "parameters": [
1662
+ {
1663
+ "name": "id",
1664
+ "in": "path",
1665
+ "description": "Organization ID",
1666
+ "required": true,
1667
+ "schema": {
1668
+ "type": "string"
1669
+ }
1670
+ }
1671
+ ],
1672
+ "responses": {
1673
+ "200": {
1674
+ "description": "successful operation",
1675
+ "content": {
1676
+ "application/json": {
1677
+ "schema": {
1678
+ "$ref": "#/components/schemas/Organization"
1679
+ }
1680
+ }
1681
+ }
1682
+ },
1683
+ "400": {
1684
+ "description": "Invalid ID supplied"
1685
+ },
1686
+ "401": {
1687
+ "description": "Unauthorized"
1688
+ },
1689
+ "403": {
1690
+ "description": "Forbidden"
1691
+ },
1692
+ "404": {
1693
+ "description": "Organization not found"
1694
+ }
1695
+ },
1696
+ "security": [
1697
+ {
1698
+ "bearerAuth": [
1699
+ "read_organization"
1700
+ ]
1701
+ }
1702
+ ]
1703
+ },
1704
+ "put": {
1705
+ "tags": [
1706
+ "organization"
1707
+ ],
1708
+ "summary": "Update organization",
1709
+ "description": "Updates a single organization",
1710
+ "operationId": "updateOrganization",
1711
+ "parameters": [
1712
+ {
1713
+ "name": "id",
1714
+ "in": "path",
1715
+ "description": "Organization ID",
1716
+ "required": true,
1717
+ "schema": {
1718
+ "type": "string"
1719
+ }
1720
+ }
1721
+ ],
1722
+ "requestBody": {
1723
+ "description": "Organization update payload",
1724
+ "content": {
1725
+ "application/json": {
1726
+ "schema": {
1727
+ "$ref": "#/components/schemas/RequestUpdateOrganization"
1728
+ }
1729
+ }
1730
+ },
1731
+ "required": true
1732
+ },
1733
+ "responses": {
1734
+ "200": {
1735
+ "description": "successful operation",
1736
+ "content": {
1737
+ "application/json": {
1738
+ "schema": {
1739
+ "$ref": "#/components/schemas/Organization"
1740
+ }
1741
+ }
1742
+ }
1743
+ },
1744
+ "400": {
1745
+ "description": "Invalid ID supplied"
1746
+ },
1747
+ "401": {
1748
+ "description": "Unauthorized"
1749
+ },
1750
+ "403": {
1751
+ "description": "Forbidden"
1752
+ },
1753
+ "404": {
1754
+ "description": "Organization not found"
1755
+ },
1756
+ "409": {
1757
+ "description": "Conflict"
1758
+ }
1759
+ },
1760
+ "security": [
1761
+ {
1762
+ "bearerAuth": [
1763
+ "update_organization"
1764
+ ]
1765
+ }
1766
+ ]
1767
+ },
1768
+ "delete": {
1769
+ "tags": [
1770
+ "organization"
1771
+ ],
1772
+ "summary": "Delete organization",
1773
+ "description": "Deletes a single organization",
1774
+ "operationId": "deleteOrganization",
1775
+ "parameters": [
1776
+ {
1777
+ "name": "id",
1778
+ "in": "path",
1779
+ "description": "Organization ID",
1780
+ "required": true,
1781
+ "schema": {
1782
+ "type": "string"
1783
+ }
1784
+ }
1785
+ ],
1786
+ "responses": {
1787
+ "200": {
1788
+ "description": "successful operation",
1789
+ "content": {
1790
+ "application/json": {
1791
+ "schema": {
1792
+ "$ref": "#/components/schemas/ResourceDeleteResponse"
1793
+ }
1794
+ }
1795
+ }
1796
+ },
1797
+ "400": {
1798
+ "description": "Invalid ID supplied"
1799
+ },
1800
+ "401": {
1801
+ "description": "Unauthorized"
1802
+ },
1803
+ "403": {
1804
+ "description": "Forbidden"
1805
+ },
1806
+ "404": {
1807
+ "description": "Organization not found"
1808
+ }
1809
+ },
1810
+ "security": [
1811
+ {
1812
+ "bearerAuth": [
1813
+ "delete_organization"
1814
+ ]
1815
+ }
1816
+ ]
1817
+ }
1818
+ },
1819
+ "/organizations/{id}/createAddress": {
1820
+ "post": {
1821
+ "tags": [
1822
+ "organization"
1823
+ ],
1824
+ "summary": "Create organization address entry",
1825
+ "description": "Creates an address value object entry for an organization",
1826
+ "operationId": "createOrganizationAddress",
1827
+ "parameters": [
1828
+ {
1829
+ "name": "id",
1830
+ "in": "path",
1831
+ "description": "Organization ID",
1832
+ "required": true,
1833
+ "schema": {
1834
+ "type": "string"
1835
+ }
1836
+ }
1837
+ ],
1838
+ "requestBody": {
1839
+ "description": "Address create payload",
1840
+ "content": {
1841
+ "application/json": {
1842
+ "schema": {
1843
+ "$ref": "#/components/schemas/RequestCreateAddress"
1844
+ }
1845
+ }
1846
+ },
1847
+ "required": true
1848
+ },
1849
+ "responses": {
1850
+ "201": {
1851
+ "description": "successful operation",
1852
+ "content": {
1853
+ "application/json": {
1854
+ "schema": {
1855
+ "$ref": "#/components/schemas/Organization"
1856
+ }
1857
+ }
1858
+ }
1859
+ },
1860
+ "400": {
1861
+ "description": "Invalid request"
1862
+ },
1863
+ "401": {
1864
+ "description": "Unauthorized"
1865
+ },
1866
+ "403": {
1867
+ "description": "Forbidden"
1868
+ },
1869
+ "404": {
1870
+ "description": "Organization not found"
1871
+ }
1872
+ },
1873
+ "security": [
1874
+ {
1875
+ "bearerAuth": [
1876
+ "update_organization"
1877
+ ]
1878
+ }
1879
+ ]
1880
+ }
1881
+ },
1882
+ "/organizations/{id}/updateAddress/{addressId}": {
1883
+ "put": {
1884
+ "tags": [
1885
+ "organization"
1886
+ ],
1887
+ "summary": "Update organization address entry",
1888
+ "description": "Updates an address value object entry from an organization",
1889
+ "operationId": "updateOrganizationAddress",
1890
+ "parameters": [
1891
+ {
1892
+ "name": "id",
1893
+ "in": "path",
1894
+ "description": "Organization ID",
1895
+ "required": true,
1896
+ "schema": {
1897
+ "type": "string"
1898
+ }
1899
+ },
1900
+ {
1901
+ "name": "addressId",
1902
+ "in": "path",
1903
+ "description": "Address entry ID",
1904
+ "required": true,
1905
+ "schema": {
1906
+ "type": "string"
1907
+ }
1908
+ }
1909
+ ],
1910
+ "requestBody": {
1911
+ "description": "Address update payload",
1912
+ "content": {
1913
+ "application/json": {
1914
+ "schema": {
1915
+ "$ref": "#/components/schemas/RequestUpdateAddress"
1916
+ }
1917
+ }
1918
+ },
1919
+ "required": true
1920
+ },
1921
+ "responses": {
1922
+ "200": {
1923
+ "description": "successful operation",
1924
+ "content": {
1925
+ "application/json": {
1926
+ "schema": {
1927
+ "$ref": "#/components/schemas/Organization"
1928
+ }
1929
+ }
1930
+ }
1931
+ },
1932
+ "400": {
1933
+ "description": "Invalid request"
1934
+ },
1935
+ "401": {
1936
+ "description": "Unauthorized"
1937
+ },
1938
+ "403": {
1939
+ "description": "Forbidden"
1940
+ },
1941
+ "404": {
1942
+ "description": "Organization or address not found"
1943
+ }
1944
+ },
1945
+ "security": [
1946
+ {
1947
+ "bearerAuth": [
1948
+ "update_organization"
1949
+ ]
1950
+ }
1951
+ ]
1952
+ }
1953
+ },
1954
+ "/organizations/{id}/deleteAddress/{addressId}": {
1955
+ "delete": {
1956
+ "tags": [
1957
+ "organization"
1958
+ ],
1959
+ "summary": "Delete organization address entry",
1960
+ "description": "Deletes an address value object entry from an organization",
1961
+ "operationId": "deleteOrganizationAddress",
1962
+ "parameters": [
1963
+ {
1964
+ "name": "id",
1965
+ "in": "path",
1966
+ "description": "Organization ID",
1967
+ "required": true,
1968
+ "schema": {
1969
+ "type": "string"
1970
+ }
1971
+ },
1972
+ {
1973
+ "name": "addressId",
1974
+ "in": "path",
1975
+ "description": "Address entry ID",
1976
+ "required": true,
1977
+ "schema": {
1978
+ "type": "string"
1979
+ }
1980
+ }
1981
+ ],
1982
+ "responses": {
1983
+ "200": {
1984
+ "description": "successful operation",
1985
+ "content": {
1986
+ "application/json": {
1987
+ "schema": {
1988
+ "$ref": "#/components/schemas/Organization"
1989
+ }
1990
+ }
1991
+ }
1992
+ },
1993
+ "400": {
1994
+ "description": "Invalid request"
1995
+ },
1996
+ "401": {
1997
+ "description": "Unauthorized"
1998
+ },
1999
+ "403": {
2000
+ "description": "Forbidden"
2001
+ },
2002
+ "404": {
2003
+ "description": "Organization or address not found"
2004
+ }
2005
+ },
2006
+ "security": [
2007
+ {
2008
+ "bearerAuth": [
2009
+ "update_organization"
2010
+ ]
2011
+ }
2012
+ ]
2013
+ }
2014
+ },
2015
+ "/organizations/{id}/createPhone": {
2016
+ "post": {
2017
+ "tags": [
2018
+ "organization"
2019
+ ],
2020
+ "summary": "Create organization phone entry",
2021
+ "description": "Creates a phone value object entry for an organization",
2022
+ "operationId": "createOrganizationPhone",
2023
+ "parameters": [
2024
+ {
2025
+ "name": "id",
2026
+ "in": "path",
2027
+ "description": "Organization ID",
2028
+ "required": true,
2029
+ "schema": {
2030
+ "type": "string"
2031
+ }
2032
+ }
2033
+ ],
2034
+ "requestBody": {
2035
+ "description": "Phone create payload",
2036
+ "content": {
2037
+ "application/json": {
2038
+ "schema": {
2039
+ "$ref": "#/components/schemas/RequestCreatePhone"
2040
+ }
2041
+ }
2042
+ },
2043
+ "required": true
2044
+ },
2045
+ "responses": {
2046
+ "201": {
2047
+ "description": "successful operation",
2048
+ "content": {
2049
+ "application/json": {
2050
+ "schema": {
2051
+ "$ref": "#/components/schemas/Organization"
2052
+ }
2053
+ }
2054
+ }
2055
+ },
2056
+ "400": {
2057
+ "description": "Invalid request"
2058
+ },
2059
+ "401": {
2060
+ "description": "Unauthorized"
2061
+ },
2062
+ "403": {
2063
+ "description": "Forbidden"
2064
+ },
2065
+ "404": {
2066
+ "description": "Organization not found"
2067
+ }
2068
+ },
2069
+ "security": [
2070
+ {
2071
+ "bearerAuth": [
2072
+ "update_organization"
2073
+ ]
2074
+ }
2075
+ ]
2076
+ }
2077
+ },
2078
+ "/organizations/{id}/updatePhone/{phoneId}": {
2079
+ "put": {
2080
+ "tags": [
2081
+ "organization"
2082
+ ],
2083
+ "summary": "Update organization phone entry",
2084
+ "description": "Updates a phone value object entry from an organization",
2085
+ "operationId": "updateOrganizationPhone",
2086
+ "parameters": [
2087
+ {
2088
+ "name": "id",
2089
+ "in": "path",
2090
+ "description": "Organization ID",
2091
+ "required": true,
2092
+ "schema": {
2093
+ "type": "string"
2094
+ }
2095
+ },
2096
+ {
2097
+ "name": "phoneId",
2098
+ "in": "path",
2099
+ "description": "Phone entry ID",
2100
+ "required": true,
2101
+ "schema": {
2102
+ "type": "string"
2103
+ }
2104
+ }
2105
+ ],
2106
+ "requestBody": {
2107
+ "description": "Phone update payload",
2108
+ "content": {
2109
+ "application/json": {
2110
+ "schema": {
2111
+ "$ref": "#/components/schemas/RequestUpdatePhone"
2112
+ }
2113
+ }
2114
+ },
2115
+ "required": true
2116
+ },
2117
+ "responses": {
2118
+ "200": {
2119
+ "description": "successful operation",
2120
+ "content": {
2121
+ "application/json": {
2122
+ "schema": {
2123
+ "$ref": "#/components/schemas/Organization"
2124
+ }
2125
+ }
2126
+ }
2127
+ },
2128
+ "400": {
2129
+ "description": "Invalid request"
2130
+ },
2131
+ "401": {
2132
+ "description": "Unauthorized"
2133
+ },
2134
+ "403": {
2135
+ "description": "Forbidden"
2136
+ },
2137
+ "404": {
2138
+ "description": "Organization or phone not found"
2139
+ }
2140
+ },
2141
+ "security": [
2142
+ {
2143
+ "bearerAuth": [
2144
+ "update_organization"
2145
+ ]
2146
+ }
2147
+ ]
2148
+ }
2149
+ },
2150
+ "/organizations/{id}/deletePhone/{phoneId}": {
2151
+ "delete": {
2152
+ "tags": [
2153
+ "organization"
2154
+ ],
2155
+ "summary": "Delete organization phone entry",
2156
+ "description": "Deletes a phone value object entry from an organization",
2157
+ "operationId": "deleteOrganizationPhone",
2158
+ "parameters": [
2159
+ {
2160
+ "name": "id",
2161
+ "in": "path",
2162
+ "description": "Organization ID",
2163
+ "required": true,
2164
+ "schema": {
2165
+ "type": "string"
2166
+ }
2167
+ },
2168
+ {
2169
+ "name": "phoneId",
2170
+ "in": "path",
2171
+ "description": "Phone entry ID",
2172
+ "required": true,
2173
+ "schema": {
2174
+ "type": "string"
2175
+ }
2176
+ }
2177
+ ],
2178
+ "responses": {
2179
+ "200": {
2180
+ "description": "successful operation",
2181
+ "content": {
2182
+ "application/json": {
2183
+ "schema": {
2184
+ "$ref": "#/components/schemas/Organization"
2185
+ }
2186
+ }
2187
+ }
2188
+ },
2189
+ "400": {
2190
+ "description": "Invalid request"
2191
+ },
2192
+ "401": {
2193
+ "description": "Unauthorized"
2194
+ },
2195
+ "403": {
2196
+ "description": "Forbidden"
2197
+ },
2198
+ "404": {
2199
+ "description": "Organization or phone not found"
2200
+ }
2201
+ },
2202
+ "security": [
2203
+ {
2204
+ "bearerAuth": [
2205
+ "update_organization"
2206
+ ]
2207
+ }
2208
+ ]
2209
+ }
2210
+ },
2211
+ "/organizations/{id}/createEmail": {
2212
+ "post": {
2213
+ "tags": [
2214
+ "organization"
2215
+ ],
2216
+ "summary": "Create organization email entry",
2217
+ "description": "Creates an email value object entry for an organization",
2218
+ "operationId": "createOrganizationEmail",
2219
+ "parameters": [
2220
+ {
2221
+ "name": "id",
2222
+ "in": "path",
2223
+ "description": "Organization ID",
2224
+ "required": true,
2225
+ "schema": {
2226
+ "type": "string"
2227
+ }
2228
+ }
2229
+ ],
2230
+ "requestBody": {
2231
+ "description": "Email create payload",
2232
+ "content": {
2233
+ "application/json": {
2234
+ "schema": {
2235
+ "$ref": "#/components/schemas/RequestCreateEmail"
2236
+ }
2237
+ }
2238
+ },
2239
+ "required": true
2240
+ },
2241
+ "responses": {
2242
+ "201": {
2243
+ "description": "successful operation",
2244
+ "content": {
2245
+ "application/json": {
2246
+ "schema": {
2247
+ "$ref": "#/components/schemas/Organization"
2248
+ }
2249
+ }
2250
+ }
2251
+ },
2252
+ "400": {
2253
+ "description": "Invalid request"
2254
+ },
2255
+ "401": {
2256
+ "description": "Unauthorized"
2257
+ },
2258
+ "403": {
2259
+ "description": "Forbidden"
2260
+ },
2261
+ "404": {
2262
+ "description": "Organization not found"
2263
+ }
2264
+ },
2265
+ "security": [
2266
+ {
2267
+ "bearerAuth": [
2268
+ "update_organization"
2269
+ ]
2270
+ }
2271
+ ]
2272
+ }
2273
+ },
2274
+ "/organizations/{id}/updateEmail/{emailId}": {
2275
+ "put": {
2276
+ "tags": [
2277
+ "organization"
2278
+ ],
2279
+ "summary": "Update organization email entry",
2280
+ "description": "Updates an email value object entry from an organization",
2281
+ "operationId": "updateOrganizationEmail",
2282
+ "parameters": [
2283
+ {
2284
+ "name": "id",
2285
+ "in": "path",
2286
+ "description": "Organization ID",
2287
+ "required": true,
2288
+ "schema": {
2289
+ "type": "string"
2290
+ }
2291
+ },
2292
+ {
2293
+ "name": "emailId",
2294
+ "in": "path",
2295
+ "description": "Email entry ID",
2296
+ "required": true,
2297
+ "schema": {
2298
+ "type": "string"
2299
+ }
2300
+ }
2301
+ ],
2302
+ "requestBody": {
2303
+ "description": "Email update payload",
2304
+ "content": {
2305
+ "application/json": {
2306
+ "schema": {
2307
+ "$ref": "#/components/schemas/RequestUpdateEmail"
2308
+ }
2309
+ }
2310
+ },
2311
+ "required": true
2312
+ },
2313
+ "responses": {
2314
+ "200": {
2315
+ "description": "successful operation",
2316
+ "content": {
2317
+ "application/json": {
2318
+ "schema": {
2319
+ "$ref": "#/components/schemas/Organization"
2320
+ }
2321
+ }
2322
+ }
2323
+ },
2324
+ "400": {
2325
+ "description": "Invalid request"
2326
+ },
2327
+ "401": {
2328
+ "description": "Unauthorized"
2329
+ },
2330
+ "403": {
2331
+ "description": "Forbidden"
2332
+ },
2333
+ "404": {
2334
+ "description": "Organization or email not found"
2335
+ }
2336
+ },
2337
+ "security": [
2338
+ {
2339
+ "bearerAuth": [
2340
+ "update_organization"
2341
+ ]
2342
+ }
2343
+ ]
2344
+ }
2345
+ },
2346
+ "/organizations/{id}/deleteEmail/{emailId}": {
2347
+ "delete": {
2348
+ "tags": [
2349
+ "organization"
2350
+ ],
2351
+ "summary": "Delete organization email entry",
2352
+ "description": "Deletes an email value object entry from an organization",
2353
+ "operationId": "deleteOrganizationEmail",
2354
+ "parameters": [
2355
+ {
2356
+ "name": "id",
2357
+ "in": "path",
2358
+ "description": "Organization ID",
2359
+ "required": true,
2360
+ "schema": {
2361
+ "type": "string"
2362
+ }
2363
+ },
2364
+ {
2365
+ "name": "emailId",
2366
+ "in": "path",
2367
+ "description": "Email entry ID",
2368
+ "required": true,
2369
+ "schema": {
2370
+ "type": "string"
2371
+ }
2372
+ }
2373
+ ],
2374
+ "responses": {
2375
+ "200": {
2376
+ "description": "successful operation",
2377
+ "content": {
2378
+ "application/json": {
2379
+ "schema": {
2380
+ "$ref": "#/components/schemas/Organization"
2381
+ }
2382
+ }
2383
+ }
2384
+ },
2385
+ "400": {
2386
+ "description": "Invalid request"
2387
+ },
2388
+ "401": {
2389
+ "description": "Unauthorized"
2390
+ },
2391
+ "403": {
2392
+ "description": "Forbidden"
2393
+ },
2394
+ "404": {
2395
+ "description": "Organization or email not found"
2396
+ }
2397
+ },
2398
+ "security": [
2399
+ {
2400
+ "bearerAuth": [
2401
+ "update_organization"
2402
+ ]
2403
+ }
2404
+ ]
2405
+ }
2406
+ }
2407
+ },
2408
+ "components": {
2409
+ "schemas": {
2410
+ "ResourceDeleteResponse": {
2411
+ "description": "Port output object for delete operations.",
2412
+ "required": [
2413
+ "data"
2414
+ ],
2415
+ "type": "object",
2416
+ "properties": {
2417
+ "data": {
2418
+ "x-label": {
2419
+ "en": "Number",
2420
+ "pt-BR": "Número"
2421
+ },
2422
+ "type": "boolean",
2423
+ "default": false,
2424
+ "description": "Result of request to delete resource"
2425
+ }
2426
+ }
2427
+ },
2428
+ "RequestLogin": {
2429
+ "description": "Port input object for authentication login endpoint.",
2430
+ "required": [
2431
+ "username",
2432
+ "password"
2433
+ ],
2434
+ "type": "object",
2435
+ "properties": {
2436
+ "username": {
2437
+ "x-label": {
2438
+ "en": "Username",
2439
+ "pt-BR": "Usuário"
2440
+ },
2441
+ "type": "string",
2442
+ "minLength": 1,
2443
+ "example": "me@mydomain.com",
2444
+ "description": "Username"
2445
+ },
2446
+ "password": {
2447
+ "x-label": {
2448
+ "en": "Password",
2449
+ "pt-BR": "Senha"
2450
+ },
2451
+ "type": "string",
2452
+ "description": "Password",
2453
+ "minLength": 2,
2454
+ "format": "password"
2455
+ },
2456
+ "schemaType": {
2457
+ "x-label": {
2458
+ "en": "Schema type",
2459
+ "pt-BR": "Tipo de esquema"
2460
+ },
2461
+ "type": "string",
2462
+ "example": "Bearer",
2463
+ "default": "Bearer",
2464
+ "description": "HTTP token schema type",
2465
+ "x-hide": true,
2466
+ "enum": [
2467
+ "Basic",
2468
+ "Bearer"
2469
+ ]
2470
+ }
2471
+ }
2472
+ },
2473
+ "RequestLogout": {
2474
+ "description": "Port input object for logout endpoint.",
2475
+ "required": [
2476
+ "username"
2477
+ ],
2478
+ "type": "object",
2479
+ "properties": {
2480
+ "username": {
2481
+ "x-label": {
2482
+ "en": "Username",
2483
+ "pt-BR": "Usuário"
2484
+ },
2485
+ "type": "string",
2486
+ "minLength": 1,
2487
+ "example": "me@mydomain.com",
2488
+ "description": "Username"
2489
+ }
2490
+ }
2491
+ },
2492
+ "RequestRegister": {
2493
+ "description": "Port input object for user registration endpoint.",
2494
+ "required": [
2495
+ "firstName",
2496
+ "username",
2497
+ "password"
2498
+ ],
2499
+ "type": "object",
2500
+ "properties": {
2501
+ "firstName": {
2502
+ "x-label": {
2503
+ "en": "First name",
2504
+ "pt-BR": "Nome"
2505
+ },
2506
+ "type": "string",
2507
+ "minLength": 1,
2508
+ "example": "Abraham",
2509
+ "description": "User's first name"
2510
+ },
2511
+ "username": {
2512
+ "x-label": {
2513
+ "en": "Username",
2514
+ "pt-BR": "Usuário"
2515
+ },
2516
+ "type": "string",
2517
+ "minLength": 1,
2518
+ "description": "Username to access the system"
2519
+ },
2520
+ "organization": {
2521
+ "x-label": {
2522
+ "en": "Organization",
2523
+ "pt-BR": "Organização"
2524
+ },
2525
+ "type": "string",
2526
+ "format": "uuid",
2527
+ "nullable": true,
2528
+ "description": "Organization id for tenant users (admin/user)",
2529
+ "x-relation": {
2530
+ "entity": "Organization",
2531
+ "match": "id",
2532
+ "display": "name",
2533
+ "kind": "belongsTo"
2534
+ }
2535
+ },
2536
+ "password": {
2537
+ "x-label": {
2538
+ "en": "Password",
2539
+ "pt-BR": "Senha"
2540
+ },
2541
+ "type": "string",
2542
+ "minLength": 8,
2543
+ "format": "password",
2544
+ "description": "Password to access the system"
2545
+ }
2546
+ }
2547
+ },
2548
+ "AuthorizationHeader": {
2549
+ "description": "Port output object containing authorization header response contract.",
2550
+ "required": [
2551
+ "Authorization"
2552
+ ],
2553
+ "type": "object",
2554
+ "properties": {
2555
+ "Authorization": {
2556
+ "type": "string",
2557
+ "example": "Bearer saiudyas87dahsd8sahdas87dhas8d7hsa87dhas78dh=",
2558
+ "description": "Authorization Header"
2559
+ }
2560
+ }
2561
+ },
2562
+ "RequestCreateUser": {
2563
+ "description": "Port input object for user creation endpoint.",
2564
+ "required": [
2565
+ "firstName",
2566
+ "username",
2567
+ "password",
2568
+ "emails"
2569
+ ],
2570
+ "type": "object",
2571
+ "properties": {
2572
+ "id": {
2573
+ "x-label": {
2574
+ "en": "ID",
2575
+ "pt-BR": "ID"
2576
+ },
2577
+ "type": "string",
2578
+ "format": "uuid",
2579
+ "description": "Optional client-supplied uuid. Duplicate ids answer 409."
2580
+ },
2581
+ "firstName": {
2582
+ "x-label": {
2583
+ "en": "First name",
2584
+ "pt-BR": "Nome"
2585
+ },
2586
+ "type": "string",
2587
+ "minLength": 1,
2588
+ "example": "Abraham",
2589
+ "description": "User's first name"
2590
+ },
2591
+ "lastName": {
2592
+ "x-label": {
2593
+ "en": "Last name",
2594
+ "pt-BR": "Sobrenome"
2595
+ },
2596
+ "type": "string",
2597
+ "example": "Abraham",
2598
+ "nullable": true,
2599
+ "description": "User's last name"
2600
+ },
2601
+ "avatar": {
2602
+ "x-label": {
2603
+ "en": "Avatar",
2604
+ "pt-BR": "Avatar"
2605
+ },
2606
+ "type": "string",
2607
+ "maxLength": 255,
2608
+ "example": "avatar.png",
2609
+ "default": "avatar.png",
2610
+ "description": "User's avatar"
2611
+ },
2612
+ "username": {
2613
+ "x-label": {
2614
+ "en": "Username",
2615
+ "pt-BR": "Usuário"
2616
+ },
2617
+ "type": "string",
2618
+ "minLength": 1,
2619
+ "description": "Username to access the system"
2620
+ },
2621
+ "organization": {
2622
+ "x-label": {
2623
+ "en": "Organization",
2624
+ "pt-BR": "Organização"
2625
+ },
2626
+ "type": "string",
2627
+ "format": "uuid",
2628
+ "nullable": true,
2629
+ "description": "Organization id for tenant users (admin/user)",
2630
+ "x-relation": {
2631
+ "entity": "Organization",
2632
+ "match": "id",
2633
+ "display": "name",
2634
+ "kind": "belongsTo"
2635
+ }
2636
+ },
2637
+ "password": {
2638
+ "x-label": {
2639
+ "en": "Password",
2640
+ "pt-BR": "Senha"
2641
+ },
2642
+ "type": "string",
2643
+ "minLength": 8,
2644
+ "format": "password",
2645
+ "description": "Password to access the system"
2646
+ },
2647
+ "emails": {
2648
+ "x-label": {
2649
+ "en": "Emails",
2650
+ "pt-BR": "E-mails"
2651
+ },
2652
+ "type": "array",
2653
+ "items": {
2654
+ "$ref": "#/components/schemas/Email"
2655
+ },
2656
+ "description": "User's e-mail addresses",
2657
+ "minItems": 1
2658
+ },
2659
+ "documents": {
2660
+ "x-label": {
2661
+ "en": "Documents",
2662
+ "pt-BR": "Documentos"
2663
+ },
2664
+ "type": "array",
2665
+ "items": {
2666
+ "$ref": "#/components/schemas/Document"
2667
+ },
2668
+ "description": "User's attached documents"
2669
+ },
2670
+ "phones": {
2671
+ "x-label": {
2672
+ "en": "Phones",
2673
+ "pt-BR": "Telefones"
2674
+ },
2675
+ "type": "array",
2676
+ "items": {
2677
+ "$ref": "#/components/schemas/Phone"
2678
+ },
2679
+ "description": "User's attached phone numbers"
2680
+ },
2681
+ "roles": {
2682
+ "x-label": {
2683
+ "en": "Roles",
2684
+ "pt-BR": "Papéis"
2685
+ },
2686
+ "type": "array",
2687
+ "items": {
2688
+ "type": "string"
2689
+ },
2690
+ "description": "User's access roles"
2691
+ }
2692
+ }
2693
+ },
2694
+ "RequestUpdateUser": {
2695
+ "description": "Port input object for user update endpoint.",
2696
+ "type": "object",
2697
+ "required": [
2698
+ "id"
2699
+ ],
2700
+ "properties": {
2701
+ "id": {
2702
+ "x-label": {
2703
+ "en": "ID",
2704
+ "pt-BR": "ID"
2705
+ },
2706
+ "type": "string"
2707
+ },
2708
+ "firstName": {
2709
+ "x-label": {
2710
+ "en": "First name",
2711
+ "pt-BR": "Nome"
2712
+ },
2713
+ "type": "string",
2714
+ "minLength": 1,
2715
+ "example": "Abraham",
2716
+ "description": "User's first name"
2717
+ },
2718
+ "lastName": {
2719
+ "x-label": {
2720
+ "en": "Last name",
2721
+ "pt-BR": "Sobrenome"
2722
+ },
2723
+ "type": "string",
2724
+ "example": "Abraham",
2725
+ "nullable": true,
2726
+ "description": "User's last name"
2727
+ },
2728
+ "avatar": {
2729
+ "x-label": {
2730
+ "en": "Avatar",
2731
+ "pt-BR": "Avatar"
2732
+ },
2733
+ "type": "string",
2734
+ "maxLength": 255,
2735
+ "example": "avatar.png",
2736
+ "default": "avatar.png",
2737
+ "description": "User's avatar"
2738
+ },
2739
+ "username": {
2740
+ "x-label": {
2741
+ "en": "Username",
2742
+ "pt-BR": "Usuário"
2743
+ },
2744
+ "type": "string",
2745
+ "minLength": 1,
2746
+ "description": "Username to access the system"
2747
+ },
2748
+ "organization": {
2749
+ "x-label": {
2750
+ "en": "Organization",
2751
+ "pt-BR": "Organização"
2752
+ },
2753
+ "type": "string",
2754
+ "format": "uuid",
2755
+ "nullable": true,
2756
+ "description": "Organization id for tenant users (admin/user)",
2757
+ "x-relation": {
2758
+ "entity": "Organization",
2759
+ "match": "id",
2760
+ "display": "name",
2761
+ "kind": "belongsTo"
2762
+ }
2763
+ },
2764
+ "emails": {
2765
+ "x-label": {
2766
+ "en": "Emails",
2767
+ "pt-BR": "E-mails"
2768
+ },
2769
+ "type": "array",
2770
+ "items": {
2771
+ "$ref": "#/components/schemas/Email"
2772
+ },
2773
+ "description": "User's e-mail addresses",
2774
+ "minItems": 1
2775
+ },
2776
+ "documents": {
2777
+ "x-label": {
2778
+ "en": "Documents",
2779
+ "pt-BR": "Documentos"
2780
+ },
2781
+ "type": "array",
2782
+ "items": {
2783
+ "$ref": "#/components/schemas/Document"
2784
+ },
2785
+ "description": "User's attached documents"
2786
+ },
2787
+ "phones": {
2788
+ "x-label": {
2789
+ "en": "Phones",
2790
+ "pt-BR": "Telefones"
2791
+ },
2792
+ "type": "array",
2793
+ "items": {
2794
+ "$ref": "#/components/schemas/Phone"
2795
+ },
2796
+ "description": "User's attached phone numbers"
2797
+ },
2798
+ "roles": {
2799
+ "x-label": {
2800
+ "en": "Roles",
2801
+ "pt-BR": "Papéis"
2802
+ },
2803
+ "type": "array",
2804
+ "items": {
2805
+ "type": "string"
2806
+ },
2807
+ "description": "User's access roles"
2808
+ }
2809
+ }
2810
+ },
2811
+ "RequestCreateOrganization": {
2812
+ "description": "Port input object for organization creation endpoint.",
2813
+ "required": [
2814
+ "name"
2815
+ ],
2816
+ "type": "object",
2817
+ "properties": {
2818
+ "id": {
2819
+ "x-label": {
2820
+ "en": "ID",
2821
+ "pt-BR": "ID"
2822
+ },
2823
+ "type": "string",
2824
+ "format": "uuid"
2825
+ },
2826
+ "name": {
2827
+ "x-label": {
2828
+ "en": "Name",
2829
+ "pt-BR": "Nome"
2830
+ },
2831
+ "type": "string",
2832
+ "minLength": 1
2833
+ },
2834
+ "address": {
2835
+ "x-label": {
2836
+ "en": "Addresses",
2837
+ "pt-BR": "Endereços"
2838
+ },
2839
+ "type": "array",
2840
+ "items": {
2841
+ "$ref": "#/components/schemas/Address"
2842
+ }
2843
+ },
2844
+ "phone": {
2845
+ "x-label": {
2846
+ "en": "Phones",
2847
+ "pt-BR": "Telefones"
2848
+ },
2849
+ "type": "array",
2850
+ "items": {
2851
+ "$ref": "#/components/schemas/Phone"
2852
+ }
2853
+ },
2854
+ "email": {
2855
+ "x-label": {
2856
+ "en": "Email",
2857
+ "pt-BR": "E-mail"
2858
+ },
2859
+ "type": "array",
2860
+ "items": {
2861
+ "$ref": "#/components/schemas/Email"
2862
+ }
2863
+ },
2864
+ "users": {
2865
+ "x-label": {
2866
+ "en": "Members",
2867
+ "pt-BR": "Membros"
2868
+ },
2869
+ "type": "array",
2870
+ "items": {
2871
+ "type": "string"
2872
+ }
2873
+ }
2874
+ }
2875
+ },
2876
+ "RequestUpdateOrganization": {
2877
+ "description": "Port input object for organization update endpoint.",
2878
+ "required": [
2879
+ "id"
2880
+ ],
2881
+ "type": "object",
2882
+ "properties": {
2883
+ "id": {
2884
+ "x-label": {
2885
+ "en": "ID",
2886
+ "pt-BR": "ID"
2887
+ },
2888
+ "type": "string",
2889
+ "format": "uuid"
2890
+ },
2891
+ "name": {
2892
+ "x-label": {
2893
+ "en": "Name",
2894
+ "pt-BR": "Nome"
2895
+ },
2896
+ "type": "string",
2897
+ "minLength": 1
2898
+ },
2899
+ "address": {
2900
+ "x-label": {
2901
+ "en": "Addresses",
2902
+ "pt-BR": "Endereços"
2903
+ },
2904
+ "type": "array",
2905
+ "items": {
2906
+ "$ref": "#/components/schemas/Address"
2907
+ }
2908
+ },
2909
+ "phone": {
2910
+ "x-label": {
2911
+ "en": "Phones",
2912
+ "pt-BR": "Telefones"
2913
+ },
2914
+ "type": "array",
2915
+ "items": {
2916
+ "$ref": "#/components/schemas/Phone"
2917
+ }
2918
+ },
2919
+ "email": {
2920
+ "x-label": {
2921
+ "en": "Email",
2922
+ "pt-BR": "E-mail"
2923
+ },
2924
+ "type": "array",
2925
+ "items": {
2926
+ "$ref": "#/components/schemas/Email"
2927
+ }
2928
+ },
2929
+ "users": {
2930
+ "x-label": {
2931
+ "en": "Members",
2932
+ "pt-BR": "Membros"
2933
+ },
2934
+ "type": "array",
2935
+ "items": {
2936
+ "type": "string"
2937
+ }
2938
+ }
2939
+ }
2940
+ },
2941
+ "RequestCreatePhone": {
2942
+ "description": "Port input object for phone create endpoint.",
2943
+ "type": "object",
2944
+ "required": [
2945
+ "countryCode",
2946
+ "localCode",
2947
+ "number"
2948
+ ],
2949
+ "properties": {
2950
+ "countryCode": {
2951
+ "x-label": {
2952
+ "en": "Country code",
2953
+ "pt-BR": "Código do país"
2954
+ },
2955
+ "type": "string",
2956
+ "maxLength": 4,
2957
+ "description": "E.164 country calling code",
2958
+ "enum": [
2959
+ "+1",
2960
+ "+7",
2961
+ "+20",
2962
+ "+27",
2963
+ "+30",
2964
+ "+31",
2965
+ "+32",
2966
+ "+33",
2967
+ "+34",
2968
+ "+36",
2969
+ "+39",
2970
+ "+40",
2971
+ "+41",
2972
+ "+43",
2973
+ "+44",
2974
+ "+45",
2975
+ "+46",
2976
+ "+47",
2977
+ "+48",
2978
+ "+49",
2979
+ "+51",
2980
+ "+52",
2981
+ "+53",
2982
+ "+54",
2983
+ "+55",
2984
+ "+56",
2985
+ "+57",
2986
+ "+58",
2987
+ "+60",
2988
+ "+61",
2989
+ "+62",
2990
+ "+63",
2991
+ "+64",
2992
+ "+65",
2993
+ "+66",
2994
+ "+81",
2995
+ "+82",
2996
+ "+84",
2997
+ "+86",
2998
+ "+90",
2999
+ "+91",
3000
+ "+92",
3001
+ "+93",
3002
+ "+94",
3003
+ "+95",
3004
+ "+98",
3005
+ "+211",
3006
+ "+212",
3007
+ "+213",
3008
+ "+216",
3009
+ "+218",
3010
+ "+220",
3011
+ "+221",
3012
+ "+224",
3013
+ "+225",
3014
+ "+226",
3015
+ "+227",
3016
+ "+228",
3017
+ "+230",
3018
+ "+233",
3019
+ "+234",
3020
+ "+236",
3021
+ "+241",
3022
+ "+243",
3023
+ "+244",
3024
+ "+248",
3025
+ "+249",
3026
+ "+251",
3027
+ "+252",
3028
+ "+254",
3029
+ "+255",
3030
+ "+256",
3031
+ "+258",
3032
+ "+260",
3033
+ "+261",
3034
+ "+263",
3035
+ "+264",
3036
+ "+265",
3037
+ "+267",
3038
+ "+268",
3039
+ "+269",
3040
+ "+290",
3041
+ "+297",
3042
+ "+298",
3043
+ "+299",
3044
+ "+350",
3045
+ "+351",
3046
+ "+352",
3047
+ "+353",
3048
+ "+354",
3049
+ "+355",
3050
+ "+356",
3051
+ "+357",
3052
+ "+358",
3053
+ "+359",
3054
+ "+370",
3055
+ "+371",
3056
+ "+372",
3057
+ "+373",
3058
+ "+374",
3059
+ "+375",
3060
+ "+376",
3061
+ "+377",
3062
+ "+380",
3063
+ "+381",
3064
+ "+385",
3065
+ "+386",
3066
+ "+387",
3067
+ "+389",
3068
+ "+420",
3069
+ "+421",
3070
+ "+423",
3071
+ "+500",
3072
+ "+501",
3073
+ "+502",
3074
+ "+503",
3075
+ "+504",
3076
+ "+505",
3077
+ "+506",
3078
+ "+507",
3079
+ "+509",
3080
+ "+590",
3081
+ "+591",
3082
+ "+592",
3083
+ "+593",
3084
+ "+594",
3085
+ "+595",
3086
+ "+597",
3087
+ "+598",
3088
+ "+599",
3089
+ "+670",
3090
+ "+673",
3091
+ "+675",
3092
+ "+676",
3093
+ "+677",
3094
+ "+678",
3095
+ "+679",
3096
+ "+680",
3097
+ "+685",
3098
+ "+687",
3099
+ "+689",
3100
+ "+850",
3101
+ "+852",
3102
+ "+853",
3103
+ "+855",
3104
+ "+856",
3105
+ "+880",
3106
+ "+886",
3107
+ "+960",
3108
+ "+961",
3109
+ "+962",
3110
+ "+963",
3111
+ "+964",
3112
+ "+965",
3113
+ "+966",
3114
+ "+968",
3115
+ "+970",
3116
+ "+971",
3117
+ "+972",
3118
+ "+973",
3119
+ "+974",
3120
+ "+975",
3121
+ "+976",
3122
+ "+977",
3123
+ "+992",
3124
+ "+993",
3125
+ "+994",
3126
+ "+995",
3127
+ "+996",
3128
+ "+998"
3129
+ ]
3130
+ },
3131
+ "localCode": {
3132
+ "x-label": {
3133
+ "en": "Area code",
3134
+ "pt-BR": "DDD"
3135
+ },
3136
+ "type": "string",
3137
+ "pattern": "^\\d{2,3}$",
3138
+ "maxLength": 3
3139
+ },
3140
+ "number": {
3141
+ "x-label": {
3142
+ "en": "Number",
3143
+ "pt-BR": "Número"
3144
+ },
3145
+ "type": "string"
3146
+ },
3147
+ "isPrimary": {
3148
+ "x-label": {
3149
+ "en": "Primary",
3150
+ "pt-BR": "Principal"
3151
+ },
3152
+ "type": "boolean",
3153
+ "example": true,
3154
+ "description": "Is this the primary User's phone number?",
3155
+ "default": false
3156
+ }
3157
+ }
3158
+ },
3159
+ "RequestUpdatePhone": {
3160
+ "description": "Port input object for phone update endpoint.",
3161
+ "type": "object",
3162
+ "required": [
3163
+ "id"
3164
+ ],
3165
+ "properties": {
3166
+ "id": {
3167
+ "x-label": {
3168
+ "en": "ID",
3169
+ "pt-BR": "ID"
3170
+ },
3171
+ "type": "string"
3172
+ },
3173
+ "countryCode": {
3174
+ "x-label": {
3175
+ "en": "Country code",
3176
+ "pt-BR": "Código do país"
3177
+ },
3178
+ "type": "string",
3179
+ "maxLength": 4,
3180
+ "description": "E.164 country calling code",
3181
+ "enum": [
3182
+ "+1",
3183
+ "+7",
3184
+ "+20",
3185
+ "+27",
3186
+ "+30",
3187
+ "+31",
3188
+ "+32",
3189
+ "+33",
3190
+ "+34",
3191
+ "+36",
3192
+ "+39",
3193
+ "+40",
3194
+ "+41",
3195
+ "+43",
3196
+ "+44",
3197
+ "+45",
3198
+ "+46",
3199
+ "+47",
3200
+ "+48",
3201
+ "+49",
3202
+ "+51",
3203
+ "+52",
3204
+ "+53",
3205
+ "+54",
3206
+ "+55",
3207
+ "+56",
3208
+ "+57",
3209
+ "+58",
3210
+ "+60",
3211
+ "+61",
3212
+ "+62",
3213
+ "+63",
3214
+ "+64",
3215
+ "+65",
3216
+ "+66",
3217
+ "+81",
3218
+ "+82",
3219
+ "+84",
3220
+ "+86",
3221
+ "+90",
3222
+ "+91",
3223
+ "+92",
3224
+ "+93",
3225
+ "+94",
3226
+ "+95",
3227
+ "+98",
3228
+ "+211",
3229
+ "+212",
3230
+ "+213",
3231
+ "+216",
3232
+ "+218",
3233
+ "+220",
3234
+ "+221",
3235
+ "+224",
3236
+ "+225",
3237
+ "+226",
3238
+ "+227",
3239
+ "+228",
3240
+ "+230",
3241
+ "+233",
3242
+ "+234",
3243
+ "+236",
3244
+ "+241",
3245
+ "+243",
3246
+ "+244",
3247
+ "+248",
3248
+ "+249",
3249
+ "+251",
3250
+ "+252",
3251
+ "+254",
3252
+ "+255",
3253
+ "+256",
3254
+ "+258",
3255
+ "+260",
3256
+ "+261",
3257
+ "+263",
3258
+ "+264",
3259
+ "+265",
3260
+ "+267",
3261
+ "+268",
3262
+ "+269",
3263
+ "+290",
3264
+ "+297",
3265
+ "+298",
3266
+ "+299",
3267
+ "+350",
3268
+ "+351",
3269
+ "+352",
3270
+ "+353",
3271
+ "+354",
3272
+ "+355",
3273
+ "+356",
3274
+ "+357",
3275
+ "+358",
3276
+ "+359",
3277
+ "+370",
3278
+ "+371",
3279
+ "+372",
3280
+ "+373",
3281
+ "+374",
3282
+ "+375",
3283
+ "+376",
3284
+ "+377",
3285
+ "+380",
3286
+ "+381",
3287
+ "+385",
3288
+ "+386",
3289
+ "+387",
3290
+ "+389",
3291
+ "+420",
3292
+ "+421",
3293
+ "+423",
3294
+ "+500",
3295
+ "+501",
3296
+ "+502",
3297
+ "+503",
3298
+ "+504",
3299
+ "+505",
3300
+ "+506",
3301
+ "+507",
3302
+ "+509",
3303
+ "+590",
3304
+ "+591",
3305
+ "+592",
3306
+ "+593",
3307
+ "+594",
3308
+ "+595",
3309
+ "+597",
3310
+ "+598",
3311
+ "+599",
3312
+ "+670",
3313
+ "+673",
3314
+ "+675",
3315
+ "+676",
3316
+ "+677",
3317
+ "+678",
3318
+ "+679",
3319
+ "+680",
3320
+ "+685",
3321
+ "+687",
3322
+ "+689",
3323
+ "+850",
3324
+ "+852",
3325
+ "+853",
3326
+ "+855",
3327
+ "+856",
3328
+ "+880",
3329
+ "+886",
3330
+ "+960",
3331
+ "+961",
3332
+ "+962",
3333
+ "+963",
3334
+ "+964",
3335
+ "+965",
3336
+ "+966",
3337
+ "+968",
3338
+ "+970",
3339
+ "+971",
3340
+ "+972",
3341
+ "+973",
3342
+ "+974",
3343
+ "+975",
3344
+ "+976",
3345
+ "+977",
3346
+ "+992",
3347
+ "+993",
3348
+ "+994",
3349
+ "+995",
3350
+ "+996",
3351
+ "+998"
3352
+ ]
3353
+ },
3354
+ "localCode": {
3355
+ "x-label": {
3356
+ "en": "Area code",
3357
+ "pt-BR": "DDD"
3358
+ },
3359
+ "type": "string",
3360
+ "pattern": "^\\d{2,3}$",
3361
+ "maxLength": 3
3362
+ },
3363
+ "number": {
3364
+ "x-label": {
3365
+ "en": "Number",
3366
+ "pt-BR": "Número"
3367
+ },
3368
+ "type": "string"
3369
+ },
3370
+ "isPrimary": {
3371
+ "x-label": {
3372
+ "en": "Primary",
3373
+ "pt-BR": "Principal"
3374
+ },
3375
+ "type": "boolean",
3376
+ "example": true,
3377
+ "description": "Is this the primary User's phone number?"
3378
+ }
3379
+ }
3380
+ },
3381
+ "RequestCreateAddress": {
3382
+ "description": "Port input object for address create endpoint.",
3383
+ "type": "object",
3384
+ "required": [
3385
+ "email",
3386
+ "type"
3387
+ ],
3388
+ "properties": {
3389
+ "email": {
3390
+ "x-label": {
3391
+ "en": "Email",
3392
+ "pt-BR": "E-mail"
3393
+ },
3394
+ "type": "string",
3395
+ "format": "email"
3396
+ },
3397
+ "type": {
3398
+ "x-label": {
3399
+ "en": "Type",
3400
+ "pt-BR": "Tipo"
3401
+ },
3402
+ "type": "string",
3403
+ "enum": [
3404
+ "work",
3405
+ "home",
3406
+ "vacation"
3407
+ ]
3408
+ },
3409
+ "isPrimary": {
3410
+ "x-label": {
3411
+ "en": "Primary",
3412
+ "pt-BR": "Principal"
3413
+ },
3414
+ "type": "boolean",
3415
+ "default": false
3416
+ }
3417
+ }
3418
+ },
3419
+ "RequestUpdateAddress": {
3420
+ "description": "Port input object for address update endpoint.",
3421
+ "type": "object",
3422
+ "required": [
3423
+ "id"
3424
+ ],
3425
+ "properties": {
3426
+ "id": {
3427
+ "x-label": {
3428
+ "en": "ID",
3429
+ "pt-BR": "ID"
3430
+ },
3431
+ "type": "string",
3432
+ "format": "uuid"
3433
+ },
3434
+ "email": {
3435
+ "x-label": {
3436
+ "en": "Email",
3437
+ "pt-BR": "E-mail"
3438
+ },
3439
+ "type": "string",
3440
+ "format": "email"
3441
+ },
3442
+ "type": {
3443
+ "x-label": {
3444
+ "en": "Type",
3445
+ "pt-BR": "Tipo"
3446
+ },
3447
+ "type": "string",
3448
+ "enum": [
3449
+ "work",
3450
+ "home",
3451
+ "vacation"
3452
+ ]
3453
+ },
3454
+ "isPrimary": {
3455
+ "x-label": {
3456
+ "en": "Primary",
3457
+ "pt-BR": "Principal"
3458
+ },
3459
+ "type": "boolean"
3460
+ }
3461
+ }
3462
+ },
3463
+ "RequestCreateEmail": {
3464
+ "description": "Port input object for email create endpoint.",
3465
+ "type": "object",
3466
+ "required": [
3467
+ "email",
3468
+ "type"
3469
+ ],
3470
+ "properties": {
3471
+ "email": {
3472
+ "x-label": {
3473
+ "en": "Email",
3474
+ "pt-BR": "E-mail"
3475
+ },
3476
+ "type": "string",
3477
+ "format": "email",
3478
+ "pattern": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$",
3479
+ "maxLength": 254
3480
+ },
3481
+ "type": {
3482
+ "x-label": {
3483
+ "en": "Type",
3484
+ "pt-BR": "Tipo"
3485
+ },
3486
+ "type": "string",
3487
+ "enum": [
3488
+ "work",
3489
+ "personal"
3490
+ ]
3491
+ },
3492
+ "isPrimary": {
3493
+ "x-label": {
3494
+ "en": "Primary",
3495
+ "pt-BR": "Principal"
3496
+ },
3497
+ "type": "boolean",
3498
+ "example": true,
3499
+ "description": "Is this the primary User's e-mail address?",
3500
+ "default": false
3501
+ }
3502
+ }
3503
+ },
3504
+ "RequestUpdateEmail": {
3505
+ "description": "Port input object for email update endpoint.",
3506
+ "type": "object",
3507
+ "required": [
3508
+ "id"
3509
+ ],
3510
+ "properties": {
3511
+ "id": {
3512
+ "x-label": {
3513
+ "en": "ID",
3514
+ "pt-BR": "ID"
3515
+ },
3516
+ "type": "string"
3517
+ },
3518
+ "email": {
3519
+ "x-label": {
3520
+ "en": "Email",
3521
+ "pt-BR": "E-mail"
3522
+ },
3523
+ "type": "string",
3524
+ "format": "email",
3525
+ "pattern": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$",
3526
+ "maxLength": 254
3527
+ },
3528
+ "type": {
3529
+ "x-label": {
3530
+ "en": "Type",
3531
+ "pt-BR": "Tipo"
3532
+ },
3533
+ "type": "string",
3534
+ "enum": [
3535
+ "work",
3536
+ "personal"
3537
+ ]
3538
+ },
3539
+ "isPrimary": {
3540
+ "x-label": {
3541
+ "en": "Primary",
3542
+ "pt-BR": "Principal"
3543
+ },
3544
+ "type": "boolean",
3545
+ "example": true,
3546
+ "description": "Is this the primary User's e-mail address?"
3547
+ }
3548
+ }
3549
+ },
3550
+ "RequestCreateDocument": {
3551
+ "description": "Port input object for document create endpoint.",
3552
+ "type": "object",
3553
+ "required": [
3554
+ "data",
3555
+ "type",
3556
+ "countryIssue"
3557
+ ],
3558
+ "properties": {
3559
+ "type": {
3560
+ "x-label": {
3561
+ "en": "Type",
3562
+ "pt-BR": "Tipo"
3563
+ },
3564
+ "type": "string",
3565
+ "enum": [
3566
+ "CPF",
3567
+ "RG",
3568
+ "SSN",
3569
+ "passport"
3570
+ ],
3571
+ "example": "CPF",
3572
+ "description": "Type of document"
3573
+ },
3574
+ "countryIssue": {
3575
+ "x-label": {
3576
+ "en": "Issuing country",
3577
+ "pt-BR": "País emissor"
3578
+ },
3579
+ "type": "string",
3580
+ "pattern": "^[A-Z]{2}$",
3581
+ "maxLength": 2,
3582
+ "example": "BR",
3583
+ "description": "Country which emitted the document"
3584
+ },
3585
+ "data": {
3586
+ "x-label": {
3587
+ "en": "Number",
3588
+ "pt-BR": "Número"
3589
+ },
3590
+ "type": "string",
3591
+ "maxLength": 20
3592
+ }
3593
+ }
3594
+ },
3595
+ "RequestUpdateDocument": {
3596
+ "description": "Port input object for document update endpoint.",
3597
+ "type": "object",
3598
+ "required": [
3599
+ "id"
3600
+ ],
3601
+ "properties": {
3602
+ "id": {
3603
+ "x-label": {
3604
+ "en": "ID",
3605
+ "pt-BR": "ID"
3606
+ },
3607
+ "type": "string"
3608
+ },
3609
+ "type": {
3610
+ "x-label": {
3611
+ "en": "Type",
3612
+ "pt-BR": "Tipo"
3613
+ },
3614
+ "type": "string",
3615
+ "enum": [
3616
+ "CPF",
3617
+ "RG",
3618
+ "SSN",
3619
+ "passport"
3620
+ ],
3621
+ "example": "CPF",
3622
+ "description": "Type of document"
3623
+ },
3624
+ "countryIssue": {
3625
+ "x-label": {
3626
+ "en": "Issuing country",
3627
+ "pt-BR": "País emissor"
3628
+ },
3629
+ "type": "string",
3630
+ "pattern": "^[A-Z]{2}$",
3631
+ "maxLength": 2,
3632
+ "example": "BR",
3633
+ "description": "Country which emitted the document"
3634
+ },
3635
+ "data": {
3636
+ "x-label": {
3637
+ "en": "Number",
3638
+ "pt-BR": "Número"
3639
+ },
3640
+ "type": "string",
3641
+ "maxLength": 20
3642
+ }
3643
+ }
3644
+ },
3645
+ "RequestUpdatePassword": {
3646
+ "description": "Port input object for password update endpoint.",
3647
+ "type": "object",
3648
+ "required": [
3649
+ "password"
3650
+ ],
3651
+ "properties": {
3652
+ "password": {
3653
+ "x-label": {
3654
+ "en": "Password",
3655
+ "pt-BR": "Senha"
3656
+ },
3657
+ "type": "string",
3658
+ "minLength": 8,
3659
+ "format": "password"
3660
+ }
3661
+ }
3662
+ },
3663
+ "UserArrayOf": {
3664
+ "description": "Port output page of users: the `result` slice selected by `page`/`size`/`filter`/`sort`/`q` plus the matching `total` (JUM-777).",
3665
+ "type": "object",
3666
+ "required": [
3667
+ "result",
3668
+ "page",
3669
+ "size",
3670
+ "total"
3671
+ ],
3672
+ "properties": {
3673
+ "result": {
3674
+ "type": "array",
3675
+ "items": {
3676
+ "$ref": "#/components/schemas/User"
3677
+ }
3678
+ },
3679
+ "page": {
3680
+ "type": "integer",
3681
+ "minimum": 1
3682
+ },
3683
+ "size": {
3684
+ "type": "integer",
3685
+ "minimum": 1
3686
+ },
3687
+ "total": {
3688
+ "type": "integer",
3689
+ "minimum": 0,
3690
+ "description": "Number of records matching the filters and search, across all pages."
3691
+ }
3692
+ }
3693
+ },
3694
+ "OrganizationArrayOf": {
3695
+ "description": "Port output page of organizations: the `result` slice selected by `page`/`size`/`filter`/`sort`/`q` plus the matching `total` (JUM-777).",
3696
+ "type": "object",
3697
+ "required": [
3698
+ "result",
3699
+ "page",
3700
+ "size",
3701
+ "total"
3702
+ ],
3703
+ "properties": {
3704
+ "result": {
3705
+ "type": "array",
3706
+ "items": {
3707
+ "$ref": "#/components/schemas/Organization"
3708
+ }
3709
+ },
3710
+ "page": {
3711
+ "type": "integer",
3712
+ "minimum": 1
3713
+ },
3714
+ "size": {
3715
+ "type": "integer",
3716
+ "minimum": 1
3717
+ },
3718
+ "total": {
3719
+ "type": "integer",
3720
+ "minimum": 0,
3721
+ "description": "Number of records matching the filters and search, across all pages."
3722
+ }
3723
+ }
3724
+ },
3725
+ "Document": {
3726
+ "description": "Value object contract for Document.",
3727
+ "type": "object",
3728
+ "required": [
3729
+ "data",
3730
+ "type"
3731
+ ],
3732
+ "properties": {
3733
+ "id": {
3734
+ "x-label": {
3735
+ "en": "ID",
3736
+ "pt-BR": "ID"
3737
+ },
3738
+ "type": "string"
3739
+ },
3740
+ "type": {
3741
+ "x-label": {
3742
+ "en": "Type",
3743
+ "pt-BR": "Tipo"
3744
+ },
3745
+ "type": "string",
3746
+ "enum": [
3747
+ "CPF",
3748
+ "RG",
3749
+ "SSN",
3750
+ "passport"
3751
+ ],
3752
+ "example": "CPF",
3753
+ "description": "Type of document"
3754
+ },
3755
+ "countryIssue": {
3756
+ "x-label": {
3757
+ "en": "Issuing country",
3758
+ "pt-BR": "País emissor"
3759
+ },
3760
+ "type": "string",
3761
+ "pattern": "^[A-Z]{2}$",
3762
+ "maxLength": 2,
3763
+ "example": "BR",
3764
+ "description": "Country which emitted the document"
3765
+ },
3766
+ "data": {
3767
+ "x-label": {
3768
+ "en": "Number",
3769
+ "pt-BR": "Número"
3770
+ },
3771
+ "type": "string",
3772
+ "maxLength": 20,
3773
+ "x-validation": {
3774
+ "description": "Format rules per document type and issuing country. CPF uses the modulo-11 checksum with two verification digits; SSN uses the US AAA-GG-SSSS layout.",
3775
+ "rules": [
3776
+ {
3777
+ "when": {
3778
+ "type": "CPF",
3779
+ "countryIssue": "BR"
3780
+ },
3781
+ "pattern": "^\\d{3}\\.?\\d{3}\\.?\\d{3}-?\\d{2}$",
3782
+ "mask": "000.000.000-00",
3783
+ "checksum": "cpf-mod11",
3784
+ "example": "123.456.789-09"
3785
+ },
3786
+ {
3787
+ "when": {
3788
+ "type": "SSN",
3789
+ "countryIssue": "US"
3790
+ },
3791
+ "pattern": "^\\d{3}-?\\d{2}-?\\d{4}$",
3792
+ "mask": "000-00-0000",
3793
+ "example": "123-45-6789"
3794
+ },
3795
+ {
3796
+ "when": {
3797
+ "type": "RG"
3798
+ },
3799
+ "pattern": "^[A-Za-z0-9.-]{4,20}$"
3800
+ },
3801
+ {
3802
+ "when": {
3803
+ "type": "passport"
3804
+ },
3805
+ "pattern": "^[A-Za-z0-9]{5,20}$"
3806
+ }
3807
+ ]
3808
+ }
3809
+ }
3810
+ }
3811
+ },
3812
+ "Email": {
3813
+ "description": "Value object contract for Email.",
3814
+ "type": "object",
3815
+ "required": [
3816
+ "email",
3817
+ "type"
3818
+ ],
3819
+ "properties": {
3820
+ "id": {
3821
+ "x-label": {
3822
+ "en": "ID",
3823
+ "pt-BR": "ID"
3824
+ },
3825
+ "type": "string"
3826
+ },
3827
+ "email": {
3828
+ "x-label": {
3829
+ "en": "Email",
3830
+ "pt-BR": "E-mail"
3831
+ },
3832
+ "type": "string",
3833
+ "format": "email",
3834
+ "pattern": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$",
3835
+ "maxLength": 254
3836
+ },
3837
+ "type": {
3838
+ "x-label": {
3839
+ "en": "Type",
3840
+ "pt-BR": "Tipo"
3841
+ },
3842
+ "type": "string",
3843
+ "enum": [
3844
+ "work",
3845
+ "personal"
3846
+ ]
3847
+ },
3848
+ "isPrimary": {
3849
+ "x-label": {
3850
+ "en": "Primary",
3851
+ "pt-BR": "Principal"
3852
+ },
3853
+ "type": "boolean",
3854
+ "example": true,
3855
+ "description": "Is this the primary User's e-mail address?",
3856
+ "default": false
3857
+ }
3858
+ }
3859
+ },
3860
+ "Address": {
3861
+ "description": "Value object contract for Address.",
3862
+ "type": "object",
3863
+ "required": [
3864
+ "email",
3865
+ "type"
3866
+ ],
3867
+ "properties": {
3868
+ "id": {
3869
+ "x-label": {
3870
+ "en": "ID",
3871
+ "pt-BR": "ID"
3872
+ },
3873
+ "type": "string",
3874
+ "format": "uuid"
3875
+ },
3876
+ "email": {
3877
+ "x-label": {
3878
+ "en": "Email",
3879
+ "pt-BR": "E-mail"
3880
+ },
3881
+ "type": "string"
3882
+ },
3883
+ "type": {
3884
+ "x-label": {
3885
+ "en": "Type",
3886
+ "pt-BR": "Tipo"
3887
+ },
3888
+ "type": "string",
3889
+ "enum": [
3890
+ "work",
3891
+ "home",
3892
+ "vacation"
3893
+ ]
3894
+ },
3895
+ "isPrimary": {
3896
+ "x-label": {
3897
+ "en": "Primary",
3898
+ "pt-BR": "Principal"
3899
+ },
3900
+ "type": "boolean",
3901
+ "default": false
3902
+ }
3903
+ }
3904
+ },
3905
+ "Phone": {
3906
+ "description": "Value object contract for Phone.",
3907
+ "type": "object",
3908
+ "required": [
3909
+ "countryCode",
3910
+ "localCode",
3911
+ "number"
3912
+ ],
3913
+ "properties": {
3914
+ "id": {
3915
+ "x-label": {
3916
+ "en": "ID",
3917
+ "pt-BR": "ID"
3918
+ },
3919
+ "type": "string"
3920
+ },
3921
+ "countryCode": {
3922
+ "x-label": {
3923
+ "en": "Country code",
3924
+ "pt-BR": "Código do país"
3925
+ },
3926
+ "type": "string",
3927
+ "maxLength": 4,
3928
+ "description": "E.164 country calling code",
3929
+ "enum": [
3930
+ "+1",
3931
+ "+7",
3932
+ "+20",
3933
+ "+27",
3934
+ "+30",
3935
+ "+31",
3936
+ "+32",
3937
+ "+33",
3938
+ "+34",
3939
+ "+36",
3940
+ "+39",
3941
+ "+40",
3942
+ "+41",
3943
+ "+43",
3944
+ "+44",
3945
+ "+45",
3946
+ "+46",
3947
+ "+47",
3948
+ "+48",
3949
+ "+49",
3950
+ "+51",
3951
+ "+52",
3952
+ "+53",
3953
+ "+54",
3954
+ "+55",
3955
+ "+56",
3956
+ "+57",
3957
+ "+58",
3958
+ "+60",
3959
+ "+61",
3960
+ "+62",
3961
+ "+63",
3962
+ "+64",
3963
+ "+65",
3964
+ "+66",
3965
+ "+81",
3966
+ "+82",
3967
+ "+84",
3968
+ "+86",
3969
+ "+90",
3970
+ "+91",
3971
+ "+92",
3972
+ "+93",
3973
+ "+94",
3974
+ "+95",
3975
+ "+98",
3976
+ "+211",
3977
+ "+212",
3978
+ "+213",
3979
+ "+216",
3980
+ "+218",
3981
+ "+220",
3982
+ "+221",
3983
+ "+224",
3984
+ "+225",
3985
+ "+226",
3986
+ "+227",
3987
+ "+228",
3988
+ "+230",
3989
+ "+233",
3990
+ "+234",
3991
+ "+236",
3992
+ "+241",
3993
+ "+243",
3994
+ "+244",
3995
+ "+248",
3996
+ "+249",
3997
+ "+251",
3998
+ "+252",
3999
+ "+254",
4000
+ "+255",
4001
+ "+256",
4002
+ "+258",
4003
+ "+260",
4004
+ "+261",
4005
+ "+263",
4006
+ "+264",
4007
+ "+265",
4008
+ "+267",
4009
+ "+268",
4010
+ "+269",
4011
+ "+290",
4012
+ "+297",
4013
+ "+298",
4014
+ "+299",
4015
+ "+350",
4016
+ "+351",
4017
+ "+352",
4018
+ "+353",
4019
+ "+354",
4020
+ "+355",
4021
+ "+356",
4022
+ "+357",
4023
+ "+358",
4024
+ "+359",
4025
+ "+370",
4026
+ "+371",
4027
+ "+372",
4028
+ "+373",
4029
+ "+374",
4030
+ "+375",
4031
+ "+376",
4032
+ "+377",
4033
+ "+380",
4034
+ "+381",
4035
+ "+385",
4036
+ "+386",
4037
+ "+387",
4038
+ "+389",
4039
+ "+420",
4040
+ "+421",
4041
+ "+423",
4042
+ "+500",
4043
+ "+501",
4044
+ "+502",
4045
+ "+503",
4046
+ "+504",
4047
+ "+505",
4048
+ "+506",
4049
+ "+507",
4050
+ "+509",
4051
+ "+590",
4052
+ "+591",
4053
+ "+592",
4054
+ "+593",
4055
+ "+594",
4056
+ "+595",
4057
+ "+597",
4058
+ "+598",
4059
+ "+599",
4060
+ "+670",
4061
+ "+673",
4062
+ "+675",
4063
+ "+676",
4064
+ "+677",
4065
+ "+678",
4066
+ "+679",
4067
+ "+680",
4068
+ "+685",
4069
+ "+687",
4070
+ "+689",
4071
+ "+850",
4072
+ "+852",
4073
+ "+853",
4074
+ "+855",
4075
+ "+856",
4076
+ "+880",
4077
+ "+886",
4078
+ "+960",
4079
+ "+961",
4080
+ "+962",
4081
+ "+963",
4082
+ "+964",
4083
+ "+965",
4084
+ "+966",
4085
+ "+968",
4086
+ "+970",
4087
+ "+971",
4088
+ "+972",
4089
+ "+973",
4090
+ "+974",
4091
+ "+975",
4092
+ "+976",
4093
+ "+977",
4094
+ "+992",
4095
+ "+993",
4096
+ "+994",
4097
+ "+995",
4098
+ "+996",
4099
+ "+998"
4100
+ ]
4101
+ },
4102
+ "localCode": {
4103
+ "x-label": {
4104
+ "en": "Area code",
4105
+ "pt-BR": "DDD"
4106
+ },
4107
+ "type": "string",
4108
+ "pattern": "^\\d{2,3}$",
4109
+ "maxLength": 3
4110
+ },
4111
+ "number": {
4112
+ "x-label": {
4113
+ "en": "Number",
4114
+ "pt-BR": "Número"
4115
+ },
4116
+ "type": "string",
4117
+ "x-validation": {
4118
+ "description": "National number format per country (countryCode selects the rule).",
4119
+ "rules": [
4120
+ {
4121
+ "when": {
4122
+ "countryCode": "+55"
4123
+ },
4124
+ "pattern": "^\\d{4,5}-?\\d{4}$",
4125
+ "mask": "00000-0000",
4126
+ "example": "99805-4033"
4127
+ },
4128
+ {
4129
+ "when": {
4130
+ "countryCode": "+1"
4131
+ },
4132
+ "pattern": "^\\d{3}-?\\d{4}$",
4133
+ "mask": "000-0000",
4134
+ "example": "555-0100"
4135
+ }
4136
+ ]
4137
+ }
4138
+ },
4139
+ "isPrimary": {
4140
+ "x-label": {
4141
+ "en": "Primary",
4142
+ "pt-BR": "Principal"
4143
+ },
4144
+ "type": "boolean",
4145
+ "example": true,
4146
+ "description": "Is this the primary User's phone number?",
4147
+ "default": false
4148
+ }
4149
+ }
4150
+ },
4151
+ "User": {
4152
+ "description": "Port output object for User resource.",
4153
+ "x-primary-key": "id",
4154
+ "x-service": "core",
4155
+ "required": [
4156
+ "id",
4157
+ "createdAt",
4158
+ "updatedAt",
4159
+ "firstName",
4160
+ "username",
4161
+ "password",
4162
+ "emails"
4163
+ ],
4164
+ "type": "object",
4165
+ "properties": {
4166
+ "id": {
4167
+ "x-label": {
4168
+ "en": "ID",
4169
+ "pt-BR": "ID"
4170
+ },
4171
+ "type": "string",
4172
+ "format": "uuid"
4173
+ },
4174
+ "firstName": {
4175
+ "x-label": {
4176
+ "en": "First name",
4177
+ "pt-BR": "Nome"
4178
+ },
4179
+ "type": "string",
4180
+ "minLength": 1,
4181
+ "example": "Abraham",
4182
+ "description": "User's first name"
4183
+ },
4184
+ "lastName": {
4185
+ "x-label": {
4186
+ "en": "Last name",
4187
+ "pt-BR": "Sobrenome"
4188
+ },
4189
+ "type": "string",
4190
+ "example": "Abraham",
4191
+ "nullable": true,
4192
+ "description": "User's last name"
4193
+ },
4194
+ "username": {
4195
+ "x-label": {
4196
+ "en": "Username",
4197
+ "pt-BR": "Usuário"
4198
+ },
4199
+ "type": "string",
4200
+ "minLength": 1,
4201
+ "description": "Username to access the system"
4202
+ },
4203
+ "organization": {
4204
+ "x-label": {
4205
+ "en": "Organization",
4206
+ "pt-BR": "Organização"
4207
+ },
4208
+ "type": "string",
4209
+ "format": "uuid",
4210
+ "nullable": true,
4211
+ "description": "Organization id for tenant users (admin/user)",
4212
+ "x-relation": {
4213
+ "entity": "Organization",
4214
+ "match": "id",
4215
+ "display": "name",
4216
+ "kind": "belongsTo"
4217
+ }
4218
+ },
4219
+ "password": {
4220
+ "x-label": {
4221
+ "en": "Password",
4222
+ "pt-BR": "Senha"
4223
+ },
4224
+ "type": "string",
4225
+ "minLength": 8,
4226
+ "format": "password",
4227
+ "description": "Password to access the system"
4228
+ },
4229
+ "emails": {
4230
+ "x-label": {
4231
+ "en": "Emails",
4232
+ "pt-BR": "E-mails"
4233
+ },
4234
+ "type": "array",
4235
+ "items": {
4236
+ "$ref": "#/components/schemas/Email"
4237
+ },
4238
+ "description": "User's e-mail addresses",
4239
+ "minItems": 1
4240
+ },
4241
+ "documents": {
4242
+ "x-label": {
4243
+ "en": "Documents",
4244
+ "pt-BR": "Documentos"
4245
+ },
4246
+ "type": "array",
4247
+ "items": {
4248
+ "$ref": "#/components/schemas/Document"
4249
+ },
4250
+ "description": "User's attached documents"
4251
+ },
4252
+ "phones": {
4253
+ "x-label": {
4254
+ "en": "Phones",
4255
+ "pt-BR": "Telefones"
4256
+ },
4257
+ "type": "array",
4258
+ "items": {
4259
+ "$ref": "#/components/schemas/Phone"
4260
+ },
4261
+ "description": "User's attached phone numbers"
4262
+ },
4263
+ "roles": {
4264
+ "x-label": {
4265
+ "en": "Roles",
4266
+ "pt-BR": "Papéis"
4267
+ },
4268
+ "type": "array",
4269
+ "items": {
4270
+ "type": "string"
4271
+ },
4272
+ "description": "User's access roles"
4273
+ },
4274
+ "createdAt": {
4275
+ "x-label": {
4276
+ "en": "Created at",
4277
+ "pt-BR": "Criado em"
4278
+ },
4279
+ "type": "string",
4280
+ "format": "date-time"
4281
+ },
4282
+ "updatedAt": {
4283
+ "x-label": {
4284
+ "en": "Updated at",
4285
+ "pt-BR": "Atualizado em"
4286
+ },
4287
+ "type": "string",
4288
+ "format": "date-time"
4289
+ },
4290
+ "deletedAt": {
4291
+ "x-label": {
4292
+ "en": "Deleted at",
4293
+ "pt-BR": "Excluído em"
4294
+ },
4295
+ "type": "string",
4296
+ "format": "date-time",
4297
+ "nullable": true,
4298
+ "readOnly": true,
4299
+ "description": "Tombstone timestamp. Null while the record is alive."
4300
+ }
4301
+ }
4302
+ },
4303
+ "Organization": {
4304
+ "description": "Port output object for Organization resource.",
4305
+ "x-primary-key": "id",
4306
+ "x-service": "core",
4307
+ "required": [
4308
+ "id",
4309
+ "createdAt",
4310
+ "updatedAt",
4311
+ "name"
4312
+ ],
4313
+ "type": "object",
4314
+ "properties": {
4315
+ "id": {
4316
+ "x-label": {
4317
+ "en": "ID",
4318
+ "pt-BR": "ID"
4319
+ },
4320
+ "type": "string",
4321
+ "format": "uuid"
4322
+ },
4323
+ "name": {
4324
+ "x-label": {
4325
+ "en": "Name",
4326
+ "pt-BR": "Nome"
4327
+ },
4328
+ "type": "string"
4329
+ },
4330
+ "address": {
4331
+ "x-label": {
4332
+ "en": "Addresses",
4333
+ "pt-BR": "Endereços"
4334
+ },
4335
+ "type": "array",
4336
+ "items": {
4337
+ "$ref": "#/components/schemas/Address"
4338
+ }
4339
+ },
4340
+ "phone": {
4341
+ "x-label": {
4342
+ "en": "Phones",
4343
+ "pt-BR": "Telefones"
4344
+ },
4345
+ "type": "array",
4346
+ "items": {
4347
+ "$ref": "#/components/schemas/Phone"
4348
+ }
4349
+ },
4350
+ "email": {
4351
+ "x-label": {
4352
+ "en": "Email",
4353
+ "pt-BR": "E-mail"
4354
+ },
4355
+ "type": "array",
4356
+ "items": {
4357
+ "$ref": "#/components/schemas/Email"
4358
+ }
4359
+ },
4360
+ "users": {
4361
+ "x-label": {
4362
+ "en": "Members",
4363
+ "pt-BR": "Membros"
4364
+ },
4365
+ "type": "array",
4366
+ "description": "Member user ids.",
4367
+ "x-relation": {
4368
+ "entity": "User",
4369
+ "match": "id",
4370
+ "display": "username",
4371
+ "kind": "hasMany"
4372
+ },
4373
+ "items": {
4374
+ "type": "string"
4375
+ }
4376
+ },
4377
+ "createdAt": {
4378
+ "x-label": {
4379
+ "en": "Created at",
4380
+ "pt-BR": "Criado em"
4381
+ },
4382
+ "type": "string",
4383
+ "format": "date-time"
4384
+ },
4385
+ "updatedAt": {
4386
+ "x-label": {
4387
+ "en": "Updated at",
4388
+ "pt-BR": "Atualizado em"
4389
+ },
4390
+ "type": "string",
4391
+ "format": "date-time"
4392
+ },
4393
+ "deletedAt": {
4394
+ "x-label": {
4395
+ "en": "Deleted at",
4396
+ "pt-BR": "Excluído em"
4397
+ },
4398
+ "type": "string",
4399
+ "format": "date-time",
4400
+ "nullable": true,
4401
+ "readOnly": true,
4402
+ "description": "Tombstone timestamp. Null while the record is alive."
4403
+ }
4404
+ }
4405
+ },
4406
+ "EntityMetricsResponse": {
4407
+ "description": "Generic entity metrics envelope (JUM-793).",
4408
+ "required": [
4409
+ "metric",
4410
+ "buckets"
4411
+ ],
4412
+ "type": "object",
4413
+ "properties": {
4414
+ "metric": {
4415
+ "type": "string",
4416
+ "enum": [
4417
+ "count",
4418
+ "groupBy",
4419
+ "series"
4420
+ ]
4421
+ },
4422
+ "field": {
4423
+ "type": "string"
4424
+ },
4425
+ "interval": {
4426
+ "type": "string",
4427
+ "enum": [
4428
+ "day",
4429
+ "week",
4430
+ "month"
4431
+ ]
4432
+ },
4433
+ "buckets": {
4434
+ "type": "array",
4435
+ "items": {
4436
+ "type": "object",
4437
+ "required": [
4438
+ "key",
4439
+ "count"
4440
+ ],
4441
+ "properties": {
4442
+ "key": {
4443
+ "type": "string"
4444
+ },
4445
+ "count": {
4446
+ "type": "integer",
4447
+ "minimum": 0
4448
+ }
4449
+ }
4450
+ }
4451
+ }
4452
+ }
4453
+ },
4454
+ "BooleanStringResult": {
4455
+ "description": "Port output object for legacy text/plain success responses (`true`/`false`).",
4456
+ "type": "string",
4457
+ "example": true
4458
+ }
4459
+ },
4460
+ "securitySchemes": {
4461
+ "bearerAuth": {
4462
+ "type": "http",
4463
+ "scheme": "bearer"
4464
+ }
4465
+ }
4466
+ }
4467
+ }