@webiny/api-core 0.0.0-unstable.81ae05e56b → 0.0.0-unstable.a4f3e4ea8b

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 (956) hide show
  1. package/ApiCoreFeature.d.ts +5 -1
  2. package/ApiCoreFeature.js +25 -15
  3. package/ApiCoreFeature.js.map +1 -1
  4. package/createApiCore.d.ts +1 -1
  5. package/createApiCore.js +17 -8
  6. package/createApiCore.js.map +1 -1
  7. package/domain/identity/SystemIdentityValue.js +9 -8
  8. package/domain/identity/SystemIdentityValue.js.map +1 -1
  9. package/domain/security/ApiToken.js +5 -11
  10. package/domain/security/ApiToken.js.map +1 -1
  11. package/domain/tenancy/RootTenantValue.js +9 -8
  12. package/domain/tenancy/RootTenantValue.js.map +1 -1
  13. package/domain/tenancy/errors.js +0 -3
  14. package/exports/api/build-params.d.ts +1 -0
  15. package/exports/api/build-params.js +0 -2
  16. package/exports/api/event-publisher.d.ts +1 -0
  17. package/exports/api/event-publisher.js +0 -2
  18. package/exports/api/graphql.js +0 -2
  19. package/exports/api/key-value-store.d.ts +1 -0
  20. package/exports/api/key-value-store.js +0 -2
  21. package/exports/api/logger.d.ts +1 -0
  22. package/exports/api/logger.js +0 -2
  23. package/exports/api/security/api-key.d.ts +1 -0
  24. package/exports/api/security/api-key.js +1 -2
  25. package/exports/api/security/authentication.js +0 -2
  26. package/exports/api/security/role.js +1 -3
  27. package/exports/api/security/user.js +0 -2
  28. package/exports/api/security.d.ts +4 -0
  29. package/exports/api/security.js +3 -4
  30. package/exports/api/system.js +0 -2
  31. package/exports/api/tasks.js +0 -2
  32. package/exports/api/tenancy.js +4 -6
  33. package/exports/api/webhooks.d.ts +1 -0
  34. package/exports/api/webhooks.js +1 -0
  35. package/exports/api.d.ts +7 -0
  36. package/exports/api.js +6 -0
  37. package/features/ai/Ai.d.ts +30 -0
  38. package/features/ai/Ai.js +149 -0
  39. package/features/ai/Ai.js.map +1 -0
  40. package/features/ai/AiModelRegistry.d.ts +12 -0
  41. package/features/ai/AiModelRegistry.js +30 -0
  42. package/features/ai/AiModelRegistry.js.map +1 -0
  43. package/features/ai/AiSdkTools.d.ts +11 -0
  44. package/features/ai/AiSdkTools.js +29 -0
  45. package/features/ai/AiSdkTools.js.map +1 -0
  46. package/features/ai/AnthropicSdkFactory.d.ts +10 -0
  47. package/features/ai/AnthropicSdkFactory.js +72 -0
  48. package/features/ai/AnthropicSdkFactory.js.map +1 -0
  49. package/features/ai/DEVELOPERS.md +126 -0
  50. package/features/ai/GoogleSdkFactory.d.ts +10 -0
  51. package/features/ai/GoogleSdkFactory.js +65 -0
  52. package/features/ai/GoogleSdkFactory.js.map +1 -0
  53. package/features/ai/OpenAiSdkFactory.d.ts +10 -0
  54. package/features/ai/OpenAiSdkFactory.js +132 -0
  55. package/features/ai/OpenAiSdkFactory.js.map +1 -0
  56. package/features/ai/TextExtractor/DefaultTextExtractor.d.ts +9 -0
  57. package/features/ai/TextExtractor/DefaultTextExtractor.js +28 -0
  58. package/features/ai/TextExtractor/DefaultTextExtractor.js.map +1 -0
  59. package/features/ai/TextExtractor/abstractions.d.ts +12 -0
  60. package/features/ai/TextExtractor/abstractions.js +5 -0
  61. package/features/ai/TextExtractor/abstractions.js.map +1 -0
  62. package/features/ai/TextExtractor/index.d.ts +3 -0
  63. package/features/ai/TextExtractor/index.js +2 -0
  64. package/features/ai/TextExtractor/parsers/docxParser.d.ts +1 -0
  65. package/features/ai/TextExtractor/parsers/docxParser.js +111 -0
  66. package/features/ai/TextExtractor/parsers/docxParser.js.map +1 -0
  67. package/features/ai/abstractions.d.ts +104 -0
  68. package/features/ai/abstractions.js +11 -0
  69. package/features/ai/abstractions.js.map +1 -0
  70. package/features/ai/events.d.ts +59 -0
  71. package/features/ai/events.js +41 -0
  72. package/features/ai/events.js.map +1 -0
  73. package/features/ai/feature.d.ts +4 -0
  74. package/features/ai/feature.js +27 -0
  75. package/features/ai/feature.js.map +1 -0
  76. package/features/ai/index.d.ts +9 -0
  77. package/features/ai/index.js +5 -0
  78. package/features/ai/toolPipeline/AiOutputToolRegistry.d.ts +11 -0
  79. package/features/ai/toolPipeline/AiOutputToolRegistry.js +31 -0
  80. package/features/ai/toolPipeline/AiOutputToolRegistry.js.map +1 -0
  81. package/features/ai/toolPipeline/AiToolPipelineRunner.d.ts +10 -0
  82. package/features/ai/toolPipeline/AiToolPipelineRunner.js +36 -0
  83. package/features/ai/toolPipeline/AiToolPipelineRunner.js.map +1 -0
  84. package/features/ai/toolPipeline/abstractions.d.ts +23 -0
  85. package/features/ai/toolPipeline/abstractions.js +7 -0
  86. package/features/ai/toolPipeline/abstractions.js.map +1 -0
  87. package/features/ai/toolPipeline/index.d.ts +2 -0
  88. package/features/ai/toolPipeline/index.js +1 -0
  89. package/features/buildParams/BuildParams.js +20 -14
  90. package/features/buildParams/BuildParams.js.map +1 -1
  91. package/features/buildParams/abstractions.js +3 -4
  92. package/features/buildParams/abstractions.js.map +1 -1
  93. package/features/buildParams/feature.d.ts +5 -1
  94. package/features/buildParams/feature.js +6 -5
  95. package/features/buildParams/feature.js.map +1 -1
  96. package/features/buildParams/index.js +0 -2
  97. package/features/encryption/EncryptionService.d.ts +10 -0
  98. package/features/encryption/EncryptionService.js +62 -0
  99. package/features/encryption/EncryptionService.js.map +1 -0
  100. package/features/encryption/abstractions.d.ts +9 -0
  101. package/features/encryption/abstractions.js +5 -0
  102. package/features/encryption/abstractions.js.map +1 -0
  103. package/features/encryption/feature.d.ts +4 -0
  104. package/features/encryption/feature.js +11 -0
  105. package/features/encryption/feature.js.map +1 -0
  106. package/features/encryption/index.d.ts +1 -0
  107. package/features/encryption/index.js +1 -0
  108. package/features/eventPublisher/EventPublisher.js +9 -15
  109. package/features/eventPublisher/EventPublisher.js.map +1 -1
  110. package/features/eventPublisher/__tests__/EventPublisher.test.js +385 -419
  111. package/features/eventPublisher/__tests__/EventPublisher.test.js.map +1 -1
  112. package/features/eventPublisher/abstractions.js +7 -12
  113. package/features/eventPublisher/abstractions.js.map +1 -1
  114. package/features/eventPublisher/feature.d.ts +5 -1
  115. package/features/eventPublisher/feature.js +8 -7
  116. package/features/eventPublisher/feature.js.map +1 -1
  117. package/features/eventPublisher/index.js +0 -2
  118. package/features/featureFlags/FeatureFlags.js +15 -12
  119. package/features/featureFlags/FeatureFlags.js.map +1 -1
  120. package/features/featureFlags/abstractions.js +2 -1
  121. package/features/featureFlags/abstractions.js.map +1 -1
  122. package/features/featureFlags/feature.d.ts +5 -1
  123. package/features/featureFlags/feature.js +6 -5
  124. package/features/featureFlags/feature.js.map +1 -1
  125. package/features/keyValueStore/GlobalKeyValueStore.js +28 -23
  126. package/features/keyValueStore/GlobalKeyValueStore.js.map +1 -1
  127. package/features/keyValueStore/KeyValueStore.js +30 -27
  128. package/features/keyValueStore/KeyValueStore.js.map +1 -1
  129. package/features/keyValueStore/KeyValueStoreRepository.d.ts +2 -2
  130. package/features/keyValueStore/KeyValueStoreRepository.js +34 -41
  131. package/features/keyValueStore/KeyValueStoreRepository.js.map +1 -1
  132. package/features/keyValueStore/abstractions.d.ts +6 -2
  133. package/features/keyValueStore/abstractions.js +5 -20
  134. package/features/keyValueStore/abstractions.js.map +1 -1
  135. package/features/keyValueStore/errors.js +16 -17
  136. package/features/keyValueStore/errors.js.map +1 -1
  137. package/features/keyValueStore/feature.d.ts +4 -1
  138. package/features/keyValueStore/feature.js +9 -9
  139. package/features/keyValueStore/feature.js.map +1 -1
  140. package/features/keyValueStore/index.js +1 -3
  141. package/features/logger/LoggerService.js +41 -45
  142. package/features/logger/LoggerService.js.map +1 -1
  143. package/features/logger/abstractions.js +2 -2
  144. package/features/logger/abstractions.js.map +1 -1
  145. package/features/logger/feature.d.ts +4 -1
  146. package/features/logger/feature.js +6 -5
  147. package/features/logger/feature.js.map +1 -1
  148. package/features/logger/index.js +0 -2
  149. package/features/masker/Masker.d.ts +8 -0
  150. package/features/masker/Masker.js +18 -0
  151. package/features/masker/Masker.js.map +1 -0
  152. package/features/masker/abstractions.d.ts +11 -0
  153. package/features/masker/abstractions.js +5 -0
  154. package/features/masker/abstractions.js.map +1 -0
  155. package/features/masker/feature.d.ts +4 -0
  156. package/features/masker/feature.js +11 -0
  157. package/features/masker/feature.js.map +1 -0
  158. package/features/masker/index.d.ts +1 -0
  159. package/features/masker/index.js +1 -0
  160. package/features/security/IdentityContext/AnonymousIdentity.js +12 -16
  161. package/features/security/IdentityContext/AnonymousIdentity.js.map +1 -1
  162. package/features/security/IdentityContext/AuthenticatedIdentity.js +5 -8
  163. package/features/security/IdentityContext/AuthenticatedIdentity.js.map +1 -1
  164. package/features/security/IdentityContext/Identity.js +63 -71
  165. package/features/security/IdentityContext/Identity.js.map +1 -1
  166. package/features/security/IdentityContext/IdentityContext.js +69 -106
  167. package/features/security/IdentityContext/IdentityContext.js.map +1 -1
  168. package/features/security/IdentityContext/abstractions.js +2 -2
  169. package/features/security/IdentityContext/abstractions.js.map +1 -1
  170. package/features/security/IdentityContext/feature.d.ts +4 -1
  171. package/features/security/IdentityContext/feature.js +6 -5
  172. package/features/security/IdentityContext/feature.js.map +1 -1
  173. package/features/security/IdentityContext/index.js +0 -3
  174. package/features/security/SecurityFeature.d.ts +5 -1
  175. package/features/security/SecurityFeature.js +13 -21
  176. package/features/security/SecurityFeature.js.map +1 -1
  177. package/features/security/apiKeys/CreateApiKey/CreateApiKeyUseCase.js +48 -49
  178. package/features/security/apiKeys/CreateApiKey/CreateApiKeyUseCase.js.map +1 -1
  179. package/features/security/apiKeys/CreateApiKey/abstractions.js +2 -2
  180. package/features/security/apiKeys/CreateApiKey/abstractions.js.map +1 -1
  181. package/features/security/apiKeys/CreateApiKey/events.js +17 -16
  182. package/features/security/apiKeys/CreateApiKey/events.js.map +1 -1
  183. package/features/security/apiKeys/CreateApiKey/feature.d.ts +4 -1
  184. package/features/security/apiKeys/CreateApiKey/feature.js +6 -5
  185. package/features/security/apiKeys/CreateApiKey/feature.js.map +1 -1
  186. package/features/security/apiKeys/CreateApiKey/index.js +0 -2
  187. package/features/security/apiKeys/DeleteApiKey/DeleteApiKeyUseCase.js +29 -30
  188. package/features/security/apiKeys/DeleteApiKey/DeleteApiKeyUseCase.js.map +1 -1
  189. package/features/security/apiKeys/DeleteApiKey/abstractions.js +2 -2
  190. package/features/security/apiKeys/DeleteApiKey/abstractions.js.map +1 -1
  191. package/features/security/apiKeys/DeleteApiKey/events.js +17 -16
  192. package/features/security/apiKeys/DeleteApiKey/events.js.map +1 -1
  193. package/features/security/apiKeys/DeleteApiKey/feature.d.ts +4 -1
  194. package/features/security/apiKeys/DeleteApiKey/feature.js +6 -5
  195. package/features/security/apiKeys/DeleteApiKey/feature.js.map +1 -1
  196. package/features/security/apiKeys/DeleteApiKey/index.js +0 -2
  197. package/features/security/apiKeys/GetApiKey/GetApiKeyUseCase.d.ts +1 -1
  198. package/features/security/apiKeys/GetApiKey/GetApiKeyUseCase.js +16 -14
  199. package/features/security/apiKeys/GetApiKey/GetApiKeyUseCase.js.map +1 -1
  200. package/features/security/apiKeys/GetApiKey/abstractions.js +2 -2
  201. package/features/security/apiKeys/GetApiKey/abstractions.js.map +1 -1
  202. package/features/security/apiKeys/GetApiKey/feature.d.ts +4 -1
  203. package/features/security/apiKeys/GetApiKey/feature.js +6 -5
  204. package/features/security/apiKeys/GetApiKey/feature.js.map +1 -1
  205. package/features/security/apiKeys/GetApiKey/index.js +0 -2
  206. package/features/security/apiKeys/GetApiKeyBySlug/GetApiKeyBySlugUseCase.d.ts +1 -3
  207. package/features/security/apiKeys/GetApiKeyBySlug/GetApiKeyBySlugUseCase.js +13 -10
  208. package/features/security/apiKeys/GetApiKeyBySlug/GetApiKeyBySlugUseCase.js.map +1 -1
  209. package/features/security/apiKeys/GetApiKeyBySlug/abstractions.d.ts +1 -1
  210. package/features/security/apiKeys/GetApiKeyBySlug/abstractions.js +2 -2
  211. package/features/security/apiKeys/GetApiKeyBySlug/abstractions.js.map +1 -1
  212. package/features/security/apiKeys/GetApiKeyBySlug/feature.d.ts +4 -1
  213. package/features/security/apiKeys/GetApiKeyBySlug/feature.js +6 -5
  214. package/features/security/apiKeys/GetApiKeyBySlug/feature.js.map +1 -1
  215. package/features/security/apiKeys/GetApiKeyBySlug/index.js +0 -2
  216. package/features/security/apiKeys/GetApiKeyByToken/GetApiKeyByTokenUseCase.d.ts +1 -3
  217. package/features/security/apiKeys/GetApiKeyByToken/GetApiKeyByTokenUseCase.js +13 -10
  218. package/features/security/apiKeys/GetApiKeyByToken/GetApiKeyByTokenUseCase.js.map +1 -1
  219. package/features/security/apiKeys/GetApiKeyByToken/abstractions.d.ts +1 -1
  220. package/features/security/apiKeys/GetApiKeyByToken/abstractions.js +2 -2
  221. package/features/security/apiKeys/GetApiKeyByToken/abstractions.js.map +1 -1
  222. package/features/security/apiKeys/GetApiKeyByToken/feature.d.ts +4 -1
  223. package/features/security/apiKeys/GetApiKeyByToken/feature.js +6 -5
  224. package/features/security/apiKeys/GetApiKeyByToken/feature.js.map +1 -1
  225. package/features/security/apiKeys/GetApiKeyByToken/index.js +0 -2
  226. package/features/security/apiKeys/ListApiKeys/ListApiKeysUseCase.js +17 -17
  227. package/features/security/apiKeys/ListApiKeys/ListApiKeysUseCase.js.map +1 -1
  228. package/features/security/apiKeys/ListApiKeys/abstractions.js +2 -2
  229. package/features/security/apiKeys/ListApiKeys/abstractions.js.map +1 -1
  230. package/features/security/apiKeys/ListApiKeys/feature.d.ts +4 -1
  231. package/features/security/apiKeys/ListApiKeys/feature.js +6 -5
  232. package/features/security/apiKeys/ListApiKeys/feature.js.map +1 -1
  233. package/features/security/apiKeys/ListApiKeys/index.js +0 -2
  234. package/features/security/apiKeys/UpdateApiKey/UpdateApiKeyUseCase.js +39 -42
  235. package/features/security/apiKeys/UpdateApiKey/UpdateApiKeyUseCase.js.map +1 -1
  236. package/features/security/apiKeys/UpdateApiKey/abstractions.js +2 -2
  237. package/features/security/apiKeys/UpdateApiKey/abstractions.js.map +1 -1
  238. package/features/security/apiKeys/UpdateApiKey/events.js +17 -16
  239. package/features/security/apiKeys/UpdateApiKey/events.js.map +1 -1
  240. package/features/security/apiKeys/UpdateApiKey/feature.d.ts +4 -1
  241. package/features/security/apiKeys/UpdateApiKey/feature.js +6 -5
  242. package/features/security/apiKeys/UpdateApiKey/feature.js.map +1 -1
  243. package/features/security/apiKeys/UpdateApiKey/index.js +0 -2
  244. package/features/security/apiKeys/feature.d.ts +4 -1
  245. package/features/security/apiKeys/feature.js +20 -17
  246. package/features/security/apiKeys/feature.js.map +1 -1
  247. package/features/security/apiKeys/shared/ApiKeyProvider.d.ts +3 -5
  248. package/features/security/apiKeys/shared/ApiKeyProvider.js +31 -46
  249. package/features/security/apiKeys/shared/ApiKeyProvider.js.map +1 -1
  250. package/features/security/apiKeys/shared/ApiKeysRepository.d.ts +1 -0
  251. package/features/security/apiKeys/shared/ApiKeysRepository.js +123 -135
  252. package/features/security/apiKeys/shared/ApiKeysRepository.js.map +1 -1
  253. package/features/security/apiKeys/shared/abstractions.js +4 -6
  254. package/features/security/apiKeys/shared/abstractions.js.map +1 -1
  255. package/features/security/apiKeys/shared/errors.js +29 -32
  256. package/features/security/apiKeys/shared/errors.js.map +1 -1
  257. package/features/security/apiKeys/shared/generateToken.d.ts +1 -1
  258. package/features/security/apiKeys/shared/generateToken.js +6 -16
  259. package/features/security/apiKeys/shared/generateToken.js.map +1 -1
  260. package/features/security/apiKeys/shared/schemas.js +27 -23
  261. package/features/security/apiKeys/shared/schemas.js.map +1 -1
  262. package/features/security/apiKeys/shared/types.d.ts +1 -1
  263. package/features/security/apiKeys/shared/types.js +0 -3
  264. package/features/security/authentication/AuthenticationContext/AuthenticationContext.js +44 -38
  265. package/features/security/authentication/AuthenticationContext/AuthenticationContext.js.map +1 -1
  266. package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.js +33 -43
  267. package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.js.map +1 -1
  268. package/features/security/authentication/AuthenticationContext/abstractions.js +2 -2
  269. package/features/security/authentication/AuthenticationContext/abstractions.js.map +1 -1
  270. package/features/security/authentication/AuthenticationContext/errors.js +51 -116
  271. package/features/security/authentication/AuthenticationContext/errors.js.map +1 -1
  272. package/features/security/authentication/AuthenticationContext/events.js +17 -16
  273. package/features/security/authentication/AuthenticationContext/events.js.map +1 -1
  274. package/features/security/authentication/AuthenticationContext/feature.d.ts +4 -1
  275. package/features/security/authentication/AuthenticationContext/feature.js +6 -5
  276. package/features/security/authentication/AuthenticationContext/feature.js.map +1 -1
  277. package/features/security/authentication/AuthenticationContext/index.js +2 -4
  278. package/features/security/authentication/Authenticator/abstractions.js +2 -2
  279. package/features/security/authentication/Authenticator/abstractions.js.map +1 -1
  280. package/features/security/authentication/Authenticator/index.js +0 -2
  281. package/features/security/authorization/AuthorizationContext/AuthorizationContext.d.ts +1 -0
  282. package/features/security/authorization/AuthorizationContext/AuthorizationContext.js +46 -47
  283. package/features/security/authorization/AuthorizationContext/AuthorizationContext.js.map +1 -1
  284. package/features/security/authorization/AuthorizationContext/abstractions.js +3 -4
  285. package/features/security/authorization/AuthorizationContext/abstractions.js.map +1 -1
  286. package/features/security/authorization/AuthorizationContext/feature.d.ts +4 -1
  287. package/features/security/authorization/AuthorizationContext/feature.js +10 -9
  288. package/features/security/authorization/AuthorizationContext/feature.js.map +1 -1
  289. package/features/security/authorization/AuthorizationContext/index.js +1 -4
  290. package/features/security/authorization/Authorizer/abstractions.js +2 -2
  291. package/features/security/authorization/Authorizer/abstractions.js.map +1 -1
  292. package/features/security/authorization/Authorizer/index.js +0 -2
  293. package/features/security/authorization/GroupsTeamsAuthorizer/GetPermissionsFromIdentity.d.ts +1 -1
  294. package/features/security/authorization/GroupsTeamsAuthorizer/GetPermissionsFromIdentity.js +60 -64
  295. package/features/security/authorization/GroupsTeamsAuthorizer/GetPermissionsFromIdentity.js.map +1 -1
  296. package/features/security/authorization/GroupsTeamsAuthorizer/RolesTeamsAuthorizer.js +26 -40
  297. package/features/security/authorization/GroupsTeamsAuthorizer/RolesTeamsAuthorizer.js.map +1 -1
  298. package/features/security/authorization/GroupsTeamsAuthorizer/abstractions.js +2 -1
  299. package/features/security/authorization/GroupsTeamsAuthorizer/abstractions.js.map +1 -1
  300. package/features/security/authorization/GroupsTeamsAuthorizer/feature.d.ts +4 -1
  301. package/features/security/authorization/GroupsTeamsAuthorizer/feature.js +7 -6
  302. package/features/security/authorization/GroupsTeamsAuthorizer/feature.js.map +1 -1
  303. package/features/security/login/abstractions.js +9 -8
  304. package/features/security/login/abstractions.js.map +1 -1
  305. package/features/security/login/index.js +0 -2
  306. package/features/security/permissions/createPermissionSchema.d.ts +2 -0
  307. package/features/security/permissions/createPermissionSchema.js +9 -0
  308. package/features/security/permissions/createPermissionSchema.js.map +1 -0
  309. package/features/security/permissions/createPermissions.d.ts +5 -5
  310. package/features/security/permissions/createPermissions.js +130 -208
  311. package/features/security/permissions/createPermissions.js.map +1 -1
  312. package/features/security/permissions/index.d.ts +2 -1
  313. package/features/security/permissions/index.js +2 -3
  314. package/features/security/permissions/types.js +0 -3
  315. package/features/security/roles/CreateRole/CreateRoleUseCase.js +53 -59
  316. package/features/security/roles/CreateRole/CreateRoleUseCase.js.map +1 -1
  317. package/features/security/roles/CreateRole/abstractions.js +2 -2
  318. package/features/security/roles/CreateRole/abstractions.js.map +1 -1
  319. package/features/security/roles/CreateRole/events.js +17 -16
  320. package/features/security/roles/CreateRole/events.js.map +1 -1
  321. package/features/security/roles/CreateRole/feature.d.ts +4 -1
  322. package/features/security/roles/CreateRole/feature.js +6 -5
  323. package/features/security/roles/CreateRole/feature.js.map +1 -1
  324. package/features/security/roles/CreateRole/index.js +0 -2
  325. package/features/security/roles/CreateRole/schema.js +8 -7
  326. package/features/security/roles/CreateRole/schema.js.map +1 -1
  327. package/features/security/roles/DeleteRole/DeleteRoleUseCase.js +35 -41
  328. package/features/security/roles/DeleteRole/DeleteRoleUseCase.js.map +1 -1
  329. package/features/security/roles/DeleteRole/abstractions.js +2 -2
  330. package/features/security/roles/DeleteRole/abstractions.js.map +1 -1
  331. package/features/security/roles/DeleteRole/events.js +17 -16
  332. package/features/security/roles/DeleteRole/events.js.map +1 -1
  333. package/features/security/roles/DeleteRole/feature.d.ts +4 -1
  334. package/features/security/roles/DeleteRole/feature.js +6 -5
  335. package/features/security/roles/DeleteRole/feature.js.map +1 -1
  336. package/features/security/roles/DeleteRole/index.js +0 -2
  337. package/features/security/roles/GetRole/GetRoleUseCase.js +19 -18
  338. package/features/security/roles/GetRole/GetRoleUseCase.js.map +1 -1
  339. package/features/security/roles/GetRole/abstractions.js +2 -2
  340. package/features/security/roles/GetRole/abstractions.js.map +1 -1
  341. package/features/security/roles/GetRole/feature.d.ts +4 -1
  342. package/features/security/roles/GetRole/feature.js +6 -5
  343. package/features/security/roles/GetRole/feature.js.map +1 -1
  344. package/features/security/roles/GetRole/index.js +0 -2
  345. package/features/security/roles/Installer/RolesInstaller.js +39 -35
  346. package/features/security/roles/Installer/RolesInstaller.js.map +1 -1
  347. package/features/security/roles/ListRoles/ListRolesUseCase.js +18 -17
  348. package/features/security/roles/ListRoles/ListRolesUseCase.js.map +1 -1
  349. package/features/security/roles/ListRoles/abstractions.js +2 -2
  350. package/features/security/roles/ListRoles/abstractions.js.map +1 -1
  351. package/features/security/roles/ListRoles/feature.d.ts +4 -1
  352. package/features/security/roles/ListRoles/feature.js +6 -5
  353. package/features/security/roles/ListRoles/feature.js.map +1 -1
  354. package/features/security/roles/ListRoles/index.js +0 -2
  355. package/features/security/roles/UpdateRole/UpdateRoleUseCase.js +43 -50
  356. package/features/security/roles/UpdateRole/UpdateRoleUseCase.js.map +1 -1
  357. package/features/security/roles/UpdateRole/abstractions.js +2 -2
  358. package/features/security/roles/UpdateRole/abstractions.js.map +1 -1
  359. package/features/security/roles/UpdateRole/events.js +17 -16
  360. package/features/security/roles/UpdateRole/events.js.map +1 -1
  361. package/features/security/roles/UpdateRole/feature.d.ts +4 -1
  362. package/features/security/roles/UpdateRole/feature.js +6 -5
  363. package/features/security/roles/UpdateRole/feature.js.map +1 -1
  364. package/features/security/roles/UpdateRole/index.js +0 -2
  365. package/features/security/roles/UpdateRole/schema.js +7 -6
  366. package/features/security/roles/UpdateRole/schema.js.map +1 -1
  367. package/features/security/roles/feature.d.ts +4 -1
  368. package/features/security/roles/feature.js +14 -18
  369. package/features/security/roles/feature.js.map +1 -1
  370. package/features/security/roles/shared/RoleProvider.js +27 -21
  371. package/features/security/roles/shared/RoleProvider.js.map +1 -1
  372. package/features/security/roles/shared/RolesRepository.js +96 -113
  373. package/features/security/roles/shared/RolesRepository.js.map +1 -1
  374. package/features/security/roles/shared/abstractions.js +3 -4
  375. package/features/security/roles/shared/abstractions.js.map +1 -1
  376. package/features/security/roles/shared/decorators/ListCache.js +23 -22
  377. package/features/security/roles/shared/decorators/ListCache.js.map +1 -1
  378. package/features/security/roles/shared/decorators/RolesRepositoryCachingDecorator.js +40 -62
  379. package/features/security/roles/shared/decorators/RolesRepositoryCachingDecorator.js.map +1 -1
  380. package/features/security/roles/shared/errors.js +50 -56
  381. package/features/security/roles/shared/errors.js.map +1 -1
  382. package/features/security/roles/shared/types.js +0 -3
  383. package/features/security/shared/abstractions.js +4 -6
  384. package/features/security/shared/abstractions.js.map +1 -1
  385. package/features/security/shared/errors.js +8 -8
  386. package/features/security/shared/errors.js.map +1 -1
  387. package/features/security/shared/index.js +0 -2
  388. package/features/security/teams/CreateTeam/CreateTeamUseCase.js +53 -59
  389. package/features/security/teams/CreateTeam/CreateTeamUseCase.js.map +1 -1
  390. package/features/security/teams/CreateTeam/abstractions.js +2 -2
  391. package/features/security/teams/CreateTeam/abstractions.js.map +1 -1
  392. package/features/security/teams/CreateTeam/events.js +17 -16
  393. package/features/security/teams/CreateTeam/events.js.map +1 -1
  394. package/features/security/teams/CreateTeam/feature.d.ts +4 -1
  395. package/features/security/teams/CreateTeam/feature.js +6 -5
  396. package/features/security/teams/CreateTeam/feature.js.map +1 -1
  397. package/features/security/teams/CreateTeam/index.js +0 -2
  398. package/features/security/teams/CreateTeam/schema.js +6 -5
  399. package/features/security/teams/CreateTeam/schema.js.map +1 -1
  400. package/features/security/teams/DeleteTeam/DeleteTeamUseCase.js +36 -46
  401. package/features/security/teams/DeleteTeam/DeleteTeamUseCase.js.map +1 -1
  402. package/features/security/teams/DeleteTeam/abstractions.js +2 -2
  403. package/features/security/teams/DeleteTeam/abstractions.js.map +1 -1
  404. package/features/security/teams/DeleteTeam/events.js +17 -16
  405. package/features/security/teams/DeleteTeam/events.js.map +1 -1
  406. package/features/security/teams/DeleteTeam/feature.d.ts +4 -1
  407. package/features/security/teams/DeleteTeam/feature.js +6 -5
  408. package/features/security/teams/DeleteTeam/feature.js.map +1 -1
  409. package/features/security/teams/DeleteTeam/index.js +0 -2
  410. package/features/security/teams/GetTeam/GetTeamUseCase.js +17 -17
  411. package/features/security/teams/GetTeam/GetTeamUseCase.js.map +1 -1
  412. package/features/security/teams/GetTeam/abstractions.js +2 -2
  413. package/features/security/teams/GetTeam/abstractions.js.map +1 -1
  414. package/features/security/teams/GetTeam/feature.d.ts +4 -1
  415. package/features/security/teams/GetTeam/feature.js +6 -5
  416. package/features/security/teams/GetTeam/feature.js.map +1 -1
  417. package/features/security/teams/GetTeam/index.js +0 -2
  418. package/features/security/teams/ListTeams/ListTeamsUseCase.js +20 -21
  419. package/features/security/teams/ListTeams/ListTeamsUseCase.js.map +1 -1
  420. package/features/security/teams/ListTeams/abstractions.js +2 -2
  421. package/features/security/teams/ListTeams/abstractions.js.map +1 -1
  422. package/features/security/teams/ListTeams/feature.d.ts +4 -1
  423. package/features/security/teams/ListTeams/feature.js +6 -5
  424. package/features/security/teams/ListTeams/feature.js.map +1 -1
  425. package/features/security/teams/ListTeams/index.js +0 -2
  426. package/features/security/teams/UpdateTeam/UpdateTeamUseCase.js +46 -58
  427. package/features/security/teams/UpdateTeam/UpdateTeamUseCase.js.map +1 -1
  428. package/features/security/teams/UpdateTeam/abstractions.js +2 -2
  429. package/features/security/teams/UpdateTeam/abstractions.js.map +1 -1
  430. package/features/security/teams/UpdateTeam/events.js +17 -16
  431. package/features/security/teams/UpdateTeam/events.js.map +1 -1
  432. package/features/security/teams/UpdateTeam/feature.d.ts +4 -1
  433. package/features/security/teams/UpdateTeam/feature.js +6 -5
  434. package/features/security/teams/UpdateTeam/feature.js.map +1 -1
  435. package/features/security/teams/UpdateTeam/index.js +0 -2
  436. package/features/security/teams/UpdateTeam/schema.js +5 -4
  437. package/features/security/teams/UpdateTeam/schema.js.map +1 -1
  438. package/features/security/teams/feature.d.ts +4 -1
  439. package/features/security/teams/feature.js +13 -17
  440. package/features/security/teams/feature.js.map +1 -1
  441. package/features/security/teams/shared/TeamProvider.js +27 -21
  442. package/features/security/teams/shared/TeamProvider.js.map +1 -1
  443. package/features/security/teams/shared/TeamsRepository.js +100 -118
  444. package/features/security/teams/shared/TeamsRepository.js.map +1 -1
  445. package/features/security/teams/shared/abstractions.js +3 -4
  446. package/features/security/teams/shared/abstractions.js.map +1 -1
  447. package/features/security/teams/shared/decorators/TeamsRepositoryCachingDecorator.js +40 -62
  448. package/features/security/teams/shared/decorators/TeamsRepositoryCachingDecorator.js.map +1 -1
  449. package/features/security/teams/shared/errors.js +62 -70
  450. package/features/security/teams/shared/errors.js.map +1 -1
  451. package/features/security/teams/shared/types.js +0 -3
  452. package/features/security/utils/AppPermissions.js +50 -89
  453. package/features/security/utils/AppPermissions.js.map +1 -1
  454. package/features/security/utils/IdentityValue.js +19 -22
  455. package/features/security/utils/IdentityValue.js.map +1 -1
  456. package/features/security/utils/filterOutCustomWbyAppsPermissions.js +24 -27
  457. package/features/security/utils/filterOutCustomWbyAppsPermissions.js.map +1 -1
  458. package/features/security/utils/getPermissionsFromRoles.d.ts +1 -1
  459. package/features/security/utils/getPermissionsFromRoles.js +5 -10
  460. package/features/security/utils/getPermissionsFromRoles.js.map +1 -1
  461. package/features/security/utils/isJwt.js +2 -1
  462. package/features/security/utils/isJwt.js.map +1 -1
  463. package/features/security/utils/verifyJwtUsingJwk.js +6 -7
  464. package/features/security/utils/verifyJwtUsingJwk.js.map +1 -1
  465. package/features/serviceDiscovery/ServiceDiscovery.d.ts +17 -0
  466. package/features/serviceDiscovery/ServiceDiscovery.js +22 -0
  467. package/features/serviceDiscovery/ServiceDiscovery.js.map +1 -0
  468. package/features/serviceDiscovery/__tests__/ServiceDiscovery.test.d.ts +1 -0
  469. package/features/serviceDiscovery/__tests__/ServiceDiscovery.test.js +111 -0
  470. package/features/serviceDiscovery/__tests__/ServiceDiscovery.test.js.map +1 -0
  471. package/features/serviceDiscovery/index.d.ts +3 -0
  472. package/features/serviceDiscovery/index.js +1 -0
  473. package/features/system/InstallSystem/InstallSystemUseCase.js +45 -44
  474. package/features/system/InstallSystem/InstallSystemUseCase.js.map +1 -1
  475. package/features/system/InstallSystem/abstractions.js +3 -17
  476. package/features/system/InstallSystem/abstractions.js.map +1 -1
  477. package/features/system/InstallSystem/errors.js +15 -16
  478. package/features/system/InstallSystem/errors.js.map +1 -1
  479. package/features/system/InstallSystem/events.js +8 -5
  480. package/features/system/InstallSystem/events.js.map +1 -1
  481. package/features/system/InstallSystem/feature.d.ts +5 -1
  482. package/features/system/InstallSystem/feature.js +6 -7
  483. package/features/system/InstallSystem/feature.js.map +1 -1
  484. package/features/system/InstallSystem/index.js +2 -6
  485. package/features/system/SystemFeature.d.ts +4 -1
  486. package/features/system/SystemFeature.js +6 -5
  487. package/features/system/SystemFeature.js.map +1 -1
  488. package/features/task/TaskController/abstractions.js +2 -10
  489. package/features/task/TaskController/abstractions.js.map +1 -1
  490. package/features/task/TaskController/index.js +0 -2
  491. package/features/task/TaskDefinition/abstractions.d.ts +6 -1
  492. package/features/task/TaskDefinition/abstractions.js +8 -40
  493. package/features/task/TaskDefinition/abstractions.js.map +1 -1
  494. package/features/task/TaskDefinition/index.js +0 -2
  495. package/features/task/TaskService/abstractions.js +9 -13
  496. package/features/task/TaskService/abstractions.js.map +1 -1
  497. package/features/task/TaskService/index.js +0 -2
  498. package/features/tenancy/CreateTenant/CreateTenantGateway.js +14 -11
  499. package/features/tenancy/CreateTenant/CreateTenantGateway.js.map +1 -1
  500. package/features/tenancy/CreateTenant/CreateTenantRepository.js +18 -15
  501. package/features/tenancy/CreateTenant/CreateTenantRepository.js.map +1 -1
  502. package/features/tenancy/CreateTenant/CreateTenantUseCase.d.ts +1 -1
  503. package/features/tenancy/CreateTenant/CreateTenantUseCase.js +44 -41
  504. package/features/tenancy/CreateTenant/CreateTenantUseCase.js.map +1 -1
  505. package/features/tenancy/CreateTenant/abstractions.js +6 -29
  506. package/features/tenancy/CreateTenant/abstractions.js.map +1 -1
  507. package/features/tenancy/CreateTenant/decorators/CreateTenantWithWcpIncrement.js +16 -15
  508. package/features/tenancy/CreateTenant/decorators/CreateTenantWithWcpIncrement.js.map +1 -1
  509. package/features/tenancy/CreateTenant/errors.js +8 -8
  510. package/features/tenancy/CreateTenant/errors.js.map +1 -1
  511. package/features/tenancy/CreateTenant/events.js +16 -11
  512. package/features/tenancy/CreateTenant/events.js.map +1 -1
  513. package/features/tenancy/CreateTenant/feature.d.ts +5 -1
  514. package/features/tenancy/CreateTenant/feature.js +9 -8
  515. package/features/tenancy/CreateTenant/feature.js.map +1 -1
  516. package/features/tenancy/CreateTenant/index.js +2 -4
  517. package/features/tenancy/DeleteTenant/DeleteTenantGateway.js +15 -12
  518. package/features/tenancy/DeleteTenant/DeleteTenantGateway.js.map +1 -1
  519. package/features/tenancy/DeleteTenant/DeleteTenantRepository.js +22 -19
  520. package/features/tenancy/DeleteTenant/DeleteTenantRepository.js.map +1 -1
  521. package/features/tenancy/DeleteTenant/DeleteTenantUseCase.js +29 -27
  522. package/features/tenancy/DeleteTenant/DeleteTenantUseCase.js.map +1 -1
  523. package/features/tenancy/DeleteTenant/abstractions.js +6 -10
  524. package/features/tenancy/DeleteTenant/abstractions.js.map +1 -1
  525. package/features/tenancy/DeleteTenant/decorators/DeleteTenantWithWcpDecrement.js +16 -13
  526. package/features/tenancy/DeleteTenant/decorators/DeleteTenantWithWcpDecrement.js.map +1 -1
  527. package/features/tenancy/DeleteTenant/events.js +16 -11
  528. package/features/tenancy/DeleteTenant/events.js.map +1 -1
  529. package/features/tenancy/DeleteTenant/feature.d.ts +5 -1
  530. package/features/tenancy/DeleteTenant/feature.js +9 -8
  531. package/features/tenancy/DeleteTenant/feature.js.map +1 -1
  532. package/features/tenancy/DeleteTenant/index.js +2 -4
  533. package/features/tenancy/GetRootTenant/GetRootTenantUseCase.js +15 -12
  534. package/features/tenancy/GetRootTenant/GetRootTenantUseCase.js.map +1 -1
  535. package/features/tenancy/GetRootTenant/abstractions.js +2 -4
  536. package/features/tenancy/GetRootTenant/abstractions.js.map +1 -1
  537. package/features/tenancy/GetRootTenant/feature.d.ts +5 -1
  538. package/features/tenancy/GetRootTenant/feature.js +6 -5
  539. package/features/tenancy/GetRootTenant/feature.js.map +1 -1
  540. package/features/tenancy/GetRootTenant/index.js +0 -2
  541. package/features/tenancy/GetTenantById/GetTenantByIdGateway.js +17 -12
  542. package/features/tenancy/GetTenantById/GetTenantByIdGateway.js.map +1 -1
  543. package/features/tenancy/GetTenantById/GetTenantByIdRepository.js +18 -19
  544. package/features/tenancy/GetTenantById/GetTenantByIdRepository.js.map +1 -1
  545. package/features/tenancy/GetTenantById/GetTenantByIdUseCase.js +17 -17
  546. package/features/tenancy/GetTenantById/GetTenantByIdUseCase.js.map +1 -1
  547. package/features/tenancy/GetTenantById/abstractions.js +4 -6
  548. package/features/tenancy/GetTenantById/abstractions.js.map +1 -1
  549. package/features/tenancy/GetTenantById/feature.d.ts +5 -1
  550. package/features/tenancy/GetTenantById/feature.js +8 -12
  551. package/features/tenancy/GetTenantById/feature.js.map +1 -1
  552. package/features/tenancy/GetTenantById/index.js +1 -3
  553. package/features/tenancy/InstallTenant/DependencyResolver.js +53 -65
  554. package/features/tenancy/InstallTenant/DependencyResolver.js.map +1 -1
  555. package/features/tenancy/InstallTenant/InstallTenantUseCase.d.ts +1 -1
  556. package/features/tenancy/InstallTenant/InstallTenantUseCase.js +95 -113
  557. package/features/tenancy/InstallTenant/InstallTenantUseCase.js.map +1 -1
  558. package/features/tenancy/InstallTenant/abstractions.js +4 -15
  559. package/features/tenancy/InstallTenant/abstractions.js.map +1 -1
  560. package/features/tenancy/InstallTenant/errors.js +15 -16
  561. package/features/tenancy/InstallTenant/errors.js.map +1 -1
  562. package/features/tenancy/InstallTenant/events.js +8 -5
  563. package/features/tenancy/InstallTenant/events.js.map +1 -1
  564. package/features/tenancy/InstallTenant/feature.d.ts +5 -1
  565. package/features/tenancy/InstallTenant/feature.js +6 -5
  566. package/features/tenancy/InstallTenant/feature.js.map +1 -1
  567. package/features/tenancy/InstallTenant/index.js +1 -3
  568. package/features/tenancy/ListTenants/ListTenantsGateway.js +14 -11
  569. package/features/tenancy/ListTenants/ListTenantsGateway.js.map +1 -1
  570. package/features/tenancy/ListTenants/ListTenantsRepository.js +14 -12
  571. package/features/tenancy/ListTenants/ListTenantsRepository.js.map +1 -1
  572. package/features/tenancy/ListTenants/ListTenantsUseCase.js +16 -14
  573. package/features/tenancy/ListTenants/ListTenantsUseCase.js.map +1 -1
  574. package/features/tenancy/ListTenants/abstractions.js +4 -12
  575. package/features/tenancy/ListTenants/abstractions.js.map +1 -1
  576. package/features/tenancy/ListTenants/feature.d.ts +5 -1
  577. package/features/tenancy/ListTenants/feature.js +8 -7
  578. package/features/tenancy/ListTenants/feature.js.map +1 -1
  579. package/features/tenancy/ListTenants/index.js +1 -3
  580. package/features/tenancy/TenancyFeature.d.ts +4 -1
  581. package/features/tenancy/TenancyFeature.js +20 -26
  582. package/features/tenancy/TenancyFeature.js.map +1 -1
  583. package/features/tenancy/TenantContext/TenantContext.js +46 -48
  584. package/features/tenancy/TenantContext/TenantContext.js.map +1 -1
  585. package/features/tenancy/TenantContext/abstractions.js +2 -2
  586. package/features/tenancy/TenantContext/abstractions.js.map +1 -1
  587. package/features/tenancy/TenantContext/errors.js +7 -7
  588. package/features/tenancy/TenantContext/errors.js.map +1 -1
  589. package/features/tenancy/TenantContext/feature.d.ts +4 -1
  590. package/features/tenancy/TenantContext/feature.js +6 -5
  591. package/features/tenancy/TenantContext/feature.js.map +1 -1
  592. package/features/tenancy/TenantContext/index.js +0 -2
  593. package/features/tenancy/UpdateTenant/UpdateTenantGateway.js +14 -11
  594. package/features/tenancy/UpdateTenant/UpdateTenantGateway.js.map +1 -1
  595. package/features/tenancy/UpdateTenant/UpdateTenantRepository.js +19 -16
  596. package/features/tenancy/UpdateTenant/UpdateTenantRepository.js.map +1 -1
  597. package/features/tenancy/UpdateTenant/UpdateTenantUseCase.d.ts +2 -2
  598. package/features/tenancy/UpdateTenant/UpdateTenantUseCase.js +37 -36
  599. package/features/tenancy/UpdateTenant/UpdateTenantUseCase.js.map +1 -1
  600. package/features/tenancy/UpdateTenant/abstractions.js +6 -10
  601. package/features/tenancy/UpdateTenant/abstractions.js.map +1 -1
  602. package/features/tenancy/UpdateTenant/events.js +16 -11
  603. package/features/tenancy/UpdateTenant/events.js.map +1 -1
  604. package/features/tenancy/UpdateTenant/feature.d.ts +5 -1
  605. package/features/tenancy/UpdateTenant/feature.js +8 -7
  606. package/features/tenancy/UpdateTenant/feature.js.map +1 -1
  607. package/features/tenancy/UpdateTenant/index.js +2 -4
  608. package/features/tenancy/shared/TenantCache.js +18 -17
  609. package/features/tenancy/shared/TenantCache.js.map +1 -1
  610. package/features/tenancy/shared/abstractions.js +2 -1
  611. package/features/tenancy/shared/abstractions.js.map +1 -1
  612. package/features/tenancy/shared/storageOperations.js +2 -5
  613. package/features/tenancy/shared/storageOperations.js.map +1 -1
  614. package/features/users/AdminUsersFeature.d.ts +4 -1
  615. package/features/users/AdminUsersFeature.js +15 -19
  616. package/features/users/AdminUsersFeature.js.map +1 -1
  617. package/features/users/CreateUser/CreateUserUseCase.js +65 -100
  618. package/features/users/CreateUser/CreateUserUseCase.js.map +1 -1
  619. package/features/users/CreateUser/abstractions.js +2 -13
  620. package/features/users/CreateUser/abstractions.js.map +1 -1
  621. package/features/users/CreateUser/decorators/CreateUserWithWcpIncrement.d.ts +1 -1
  622. package/features/users/CreateUser/decorators/CreateUserWithWcpIncrement.js +16 -15
  623. package/features/users/CreateUser/decorators/CreateUserWithWcpIncrement.js.map +1 -1
  624. package/features/users/CreateUser/events.js +17 -18
  625. package/features/users/CreateUser/events.js.map +1 -1
  626. package/features/users/CreateUser/feature.d.ts +4 -1
  627. package/features/users/CreateUser/feature.js +7 -6
  628. package/features/users/CreateUser/feature.js.map +1 -1
  629. package/features/users/CreateUser/index.js +0 -2
  630. package/features/users/CreateUser/schema.js +14 -18
  631. package/features/users/CreateUser/schema.js.map +1 -1
  632. package/features/users/DeleteUser/DeleteUserUseCase.js +35 -50
  633. package/features/users/DeleteUser/DeleteUserUseCase.js.map +1 -1
  634. package/features/users/DeleteUser/abstractions.js +2 -13
  635. package/features/users/DeleteUser/abstractions.js.map +1 -1
  636. package/features/users/DeleteUser/decorators/DeleteUserWithWcpDecrement.js +15 -16
  637. package/features/users/DeleteUser/decorators/DeleteUserWithWcpDecrement.js.map +1 -1
  638. package/features/users/DeleteUser/errors.js +7 -7
  639. package/features/users/DeleteUser/errors.js.map +1 -1
  640. package/features/users/DeleteUser/events.js +17 -18
  641. package/features/users/DeleteUser/events.js.map +1 -1
  642. package/features/users/DeleteUser/feature.d.ts +4 -1
  643. package/features/users/DeleteUser/feature.js +7 -6
  644. package/features/users/DeleteUser/feature.js.map +1 -1
  645. package/features/users/DeleteUser/index.js +0 -2
  646. package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.js +60 -74
  647. package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.js.map +1 -1
  648. package/features/users/ExternalIdpUserSync/feature.d.ts +4 -1
  649. package/features/users/ExternalIdpUserSync/feature.js +6 -5
  650. package/features/users/ExternalIdpUserSync/feature.js.map +1 -1
  651. package/features/users/ExternalIdpUserSync/index.js +0 -2
  652. package/features/users/GetIdentityProfile/GetIdentityProfileUseCase.js +29 -39
  653. package/features/users/GetIdentityProfile/GetIdentityProfileUseCase.js.map +1 -1
  654. package/features/users/GetIdentityProfile/abstractions.js +2 -11
  655. package/features/users/GetIdentityProfile/abstractions.js.map +1 -1
  656. package/features/users/GetIdentityProfile/feature.d.ts +4 -1
  657. package/features/users/GetIdentityProfile/feature.js +6 -5
  658. package/features/users/GetIdentityProfile/feature.js.map +1 -1
  659. package/features/users/GetIdentityProfile/index.js +0 -2
  660. package/features/users/GetIdentityProfile/types.js +0 -3
  661. package/features/users/GetUser/GetUserUseCase.js +19 -23
  662. package/features/users/GetUser/GetUserUseCase.js.map +1 -1
  663. package/features/users/GetUser/abstractions.js +2 -11
  664. package/features/users/GetUser/abstractions.js.map +1 -1
  665. package/features/users/GetUser/feature.d.ts +4 -1
  666. package/features/users/GetUser/feature.js +6 -5
  667. package/features/users/GetUser/feature.js.map +1 -1
  668. package/features/users/GetUser/index.js +0 -2
  669. package/features/users/ListUserTeams/ListUserTeamsUseCase.js +33 -42
  670. package/features/users/ListUserTeams/ListUserTeamsUseCase.js.map +1 -1
  671. package/features/users/ListUserTeams/abstractions.js +2 -11
  672. package/features/users/ListUserTeams/abstractions.js.map +1 -1
  673. package/features/users/ListUserTeams/feature.d.ts +4 -1
  674. package/features/users/ListUserTeams/feature.js +6 -5
  675. package/features/users/ListUserTeams/feature.js.map +1 -1
  676. package/features/users/ListUserTeams/index.js +0 -2
  677. package/features/users/ListUsers/ListUsersUseCase.js +19 -23
  678. package/features/users/ListUsers/ListUsersUseCase.js.map +1 -1
  679. package/features/users/ListUsers/abstractions.js +2 -11
  680. package/features/users/ListUsers/abstractions.js.map +1 -1
  681. package/features/users/ListUsers/feature.d.ts +4 -1
  682. package/features/users/ListUsers/feature.js +6 -5
  683. package/features/users/ListUsers/feature.js.map +1 -1
  684. package/features/users/ListUsers/index.js +0 -2
  685. package/features/users/UpdateUser/UpdateUserUseCase.js +52 -74
  686. package/features/users/UpdateUser/UpdateUserUseCase.js.map +1 -1
  687. package/features/users/UpdateUser/abstractions.js +2 -13
  688. package/features/users/UpdateUser/abstractions.js.map +1 -1
  689. package/features/users/UpdateUser/events.js +17 -18
  690. package/features/users/UpdateUser/events.js.map +1 -1
  691. package/features/users/UpdateUser/feature.d.ts +4 -1
  692. package/features/users/UpdateUser/feature.js +6 -5
  693. package/features/users/UpdateUser/feature.js.map +1 -1
  694. package/features/users/UpdateUser/index.js +0 -2
  695. package/features/users/UpdateUser/schema.js +11 -10
  696. package/features/users/UpdateUser/schema.js.map +1 -1
  697. package/features/users/shared/AdminUsersRepository.js +104 -112
  698. package/features/users/shared/AdminUsersRepository.js.map +1 -1
  699. package/features/users/shared/abstractions.js +2 -9
  700. package/features/users/shared/abstractions.js.map +1 -1
  701. package/features/users/shared/errors.js +40 -46
  702. package/features/users/shared/errors.js.map +1 -1
  703. package/features/users/shared/loaders.js +52 -66
  704. package/features/users/shared/loaders.js.map +1 -1
  705. package/features/users/shared/storageAbstractions.js +2 -2
  706. package/features/users/shared/storageAbstractions.js.map +1 -1
  707. package/features/users/shared/types.js +0 -3
  708. package/features/wcp/WcpContext/WcpContext.d.ts +7 -0
  709. package/features/wcp/WcpContext/WcpContext.js +150 -133
  710. package/features/wcp/WcpContext/WcpContext.js.map +1 -1
  711. package/features/wcp/WcpContext/abstractions.js +2 -6
  712. package/features/wcp/WcpContext/abstractions.js.map +1 -1
  713. package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.d.ts +30 -5
  714. package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.js +153 -112
  715. package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.js.map +1 -1
  716. package/features/wcp/WcpContext/feature.d.ts +5 -1
  717. package/features/wcp/WcpContext/feature.js +6 -5
  718. package/features/wcp/WcpContext/feature.js.map +1 -1
  719. package/features/wcp/WcpContext/index.js +0 -2
  720. package/features/wcp/WcpContext/types.js +0 -3
  721. package/features/wcp/WcpContext/utils.js +35 -53
  722. package/features/wcp/WcpContext/utils.js.map +1 -1
  723. package/features/wcp/WcpFeature.d.ts +4 -1
  724. package/features/wcp/WcpFeature.js +7 -6
  725. package/features/wcp/WcpFeature.js.map +1 -1
  726. package/features/webhooks/Webhook/WebhookProvider.d.ts +12 -0
  727. package/features/webhooks/Webhook/WebhookProvider.js +28 -0
  728. package/features/webhooks/Webhook/WebhookProvider.js.map +1 -0
  729. package/features/webhooks/Webhook/abstractions/WebhookFactory.d.ts +16 -0
  730. package/features/webhooks/Webhook/abstractions/WebhookFactory.js +5 -0
  731. package/features/webhooks/Webhook/abstractions/WebhookFactory.js.map +1 -0
  732. package/features/webhooks/Webhook/abstractions/WebhookProvider.d.ts +9 -0
  733. package/features/webhooks/Webhook/abstractions/WebhookProvider.js +5 -0
  734. package/features/webhooks/Webhook/abstractions/WebhookProvider.js.map +1 -0
  735. package/features/webhooks/Webhook/feature.d.ts +4 -0
  736. package/features/webhooks/Webhook/feature.js +11 -0
  737. package/features/webhooks/Webhook/feature.js.map +1 -0
  738. package/features/webhooks/Webhook/index.d.ts +2 -0
  739. package/features/webhooks/Webhook/index.js +2 -0
  740. package/features/webhooks/WebhookDispatcher/NullWebhookDispatcher.d.ts +8 -0
  741. package/features/webhooks/WebhookDispatcher/NullWebhookDispatcher.js +11 -0
  742. package/features/webhooks/WebhookDispatcher/NullWebhookDispatcher.js.map +1 -0
  743. package/features/webhooks/WebhookDispatcher/abstractions.d.ts +12 -0
  744. package/features/webhooks/WebhookDispatcher/abstractions.js +5 -0
  745. package/features/webhooks/WebhookDispatcher/abstractions.js.map +1 -0
  746. package/features/webhooks/WebhookSignPayload/abstractions.d.ts +14 -0
  747. package/features/webhooks/WebhookSignPayload/abstractions.js +5 -0
  748. package/features/webhooks/WebhookSignPayload/abstractions.js.map +1 -0
  749. package/features/webhooks/WebhookVerifyPayload/abstractions.d.ts +11 -0
  750. package/features/webhooks/WebhookVerifyPayload/abstractions.js +5 -0
  751. package/features/webhooks/WebhookVerifyPayload/abstractions.js.map +1 -0
  752. package/features/webhooks/index.d.ts +5 -0
  753. package/features/webhooks/index.js +5 -0
  754. package/graphql/security/NotAuthorizedResponse.js +11 -14
  755. package/graphql/security/NotAuthorizedResponse.js.map +1 -1
  756. package/graphql/security/ProfileMapper.js +12 -11
  757. package/graphql/security/ProfileMapper.js.map +1 -1
  758. package/graphql/security/apiKey.gql.js +38 -47
  759. package/graphql/security/apiKey.gql.js.map +1 -1
  760. package/graphql/security/base.gql.js +11 -10
  761. package/graphql/security/base.gql.js.map +1 -1
  762. package/graphql/security/identity.gql.js +87 -97
  763. package/graphql/security/identity.gql.js.map +1 -1
  764. package/graphql/security/index.js +13 -8
  765. package/graphql/security/index.js.map +1 -1
  766. package/graphql/security/role.gql.js +49 -57
  767. package/graphql/security/role.gql.js.map +1 -1
  768. package/graphql/security/team.gql.js +61 -69
  769. package/graphql/security/team.gql.js.map +1 -1
  770. package/graphql/system/createSystemGraphQL.js +31 -34
  771. package/graphql/system/createSystemGraphQL.js.map +1 -1
  772. package/graphql/users/user.gql.js +87 -105
  773. package/graphql/users/user.gql.js.map +1 -1
  774. package/graphql/wcp/graphql.js +26 -28
  775. package/graphql/wcp/graphql.js.map +1 -1
  776. package/idp/JwksCache.js +22 -28
  777. package/idp/JwksCache.js.map +1 -1
  778. package/idp/JwtAuthenticator.js +34 -46
  779. package/idp/JwtAuthenticator.js.map +1 -1
  780. package/idp/OidcJwtIdentityProvider.js +55 -82
  781. package/idp/OidcJwtIdentityProvider.js.map +1 -1
  782. package/idp/abstractions.js +5 -14
  783. package/idp/abstractions.js.map +1 -1
  784. package/idp/feature.d.ts +4 -1
  785. package/idp/feature.js +8 -7
  786. package/idp/feature.js.map +1 -1
  787. package/idp/index.js +1 -3
  788. package/idp/types.js +0 -3
  789. package/index.js +0 -2
  790. package/legacy/security/LegacyContext.js +133 -186
  791. package/legacy/security/LegacyContext.js.map +1 -1
  792. package/legacy/security/createSecurityContext.js +5 -9
  793. package/legacy/security/createSecurityContext.js.map +1 -1
  794. package/legacy/security/plugins/apiKeyAuthentication.d.ts +1 -1
  795. package/legacy/security/plugins/apiKeyAuthentication.js +15 -24
  796. package/legacy/security/plugins/apiKeyAuthentication.js.map +1 -1
  797. package/legacy/security/plugins/apiKeyAuthorization.d.ts +1 -1
  798. package/legacy/security/plugins/apiKeyAuthorization.js +9 -18
  799. package/legacy/security/plugins/apiKeyAuthorization.js.map +1 -1
  800. package/legacy/security/plugins/authenticateUsingCookie.d.ts +1 -1
  801. package/legacy/security/plugins/authenticateUsingCookie.js +18 -22
  802. package/legacy/security/plugins/authenticateUsingCookie.js.map +1 -1
  803. package/legacy/security/plugins/authenticateUsingHttpHeader.d.ts +1 -1
  804. package/legacy/security/plugins/authenticateUsingHttpHeader.js +15 -18
  805. package/legacy/security/plugins/authenticateUsingHttpHeader.js.map +1 -1
  806. package/legacy/security/plugins/secureHeaders.js +28 -21
  807. package/legacy/security/plugins/secureHeaders.js.map +1 -1
  808. package/legacy/tenancy/LegacyContext.js +45 -52
  809. package/legacy/tenancy/LegacyContext.js.map +1 -1
  810. package/legacy/tenancy/createTenancyContext.js +22 -42
  811. package/legacy/tenancy/createTenancyContext.js.map +1 -1
  812. package/legacy/users/LegacyContext.js +39 -54
  813. package/legacy/users/LegacyContext.js.map +1 -1
  814. package/legacy/users/createAdminUsersContext.js +7 -7
  815. package/legacy/users/createAdminUsersContext.js.map +1 -1
  816. package/legacy/wcp/LegacyWcpContext.d.ts +7 -0
  817. package/legacy/wcp/LegacyWcpContext.js +92 -70
  818. package/legacy/wcp/LegacyWcpContext.js.map +1 -1
  819. package/legacy/wcp/context.d.ts +1 -3
  820. package/legacy/wcp/context.js +33 -37
  821. package/legacy/wcp/context.js.map +1 -1
  822. package/models/base/BaseModel.js +51 -56
  823. package/models/base/BaseModel.js.map +1 -1
  824. package/models/base/ModelBuilder.js +65 -78
  825. package/models/base/ModelBuilder.js.map +1 -1
  826. package/models/base/ModelFactory.js +0 -3
  827. package/models/base/__tests__/ModelBuilder.test.js +437 -454
  828. package/models/base/__tests__/ModelBuilder.test.js.map +1 -1
  829. package/models/base/abstractions.js +0 -3
  830. package/models/cms/FieldBuilder.js +112 -121
  831. package/models/cms/FieldBuilder.js.map +1 -1
  832. package/models/cms/FieldBuilderRegistry.js +13 -12
  833. package/models/cms/FieldBuilderRegistry.js.map +1 -1
  834. package/models/cms/FieldDefinitionsBuilder.js +37 -54
  835. package/models/cms/FieldDefinitionsBuilder.js.map +1 -1
  836. package/models/cms/PrivateCmsModelBuilder.js +84 -89
  837. package/models/cms/PrivateCmsModelBuilder.js.map +1 -1
  838. package/models/cms/PrivatePage/Page.fields.js +7 -6
  839. package/models/cms/PrivatePage/Page.fields.js.map +1 -1
  840. package/models/cms/PrivatePage/PageModelBuilder.js +18 -15
  841. package/models/cms/PrivatePage/PageModelBuilder.js.map +1 -1
  842. package/models/cms/PrivatePage/PageModelFactory.js +20 -25
  843. package/models/cms/PrivatePage/PageModelFactory.js.map +1 -1
  844. package/models/cms/PrivatePage/__tests__/PageModelFactory.test.js +218 -234
  845. package/models/cms/PrivatePage/__tests__/PageModelFactory.test.js.map +1 -1
  846. package/models/cms/PrivatePage/__tests__/PagePublishingDecorator.js +33 -36
  847. package/models/cms/PrivatePage/__tests__/PagePublishingDecorator.js.map +1 -1
  848. package/models/cms/PrivatePage/__tests__/PageSeoDecorator.js +25 -26
  849. package/models/cms/PrivatePage/__tests__/PageSeoDecorator.js.map +1 -1
  850. package/models/cms/PrivatePage/abstractions.js +3 -9
  851. package/models/cms/PrivatePage/abstractions.js.map +1 -1
  852. package/models/cms/__tests__/PrivateCmsModelBuilder.test.js +173 -185
  853. package/models/cms/__tests__/PrivateCmsModelBuilder.test.js.map +1 -1
  854. package/models/cms/abstractions.js +3 -20
  855. package/models/cms/abstractions.js.map +1 -1
  856. package/models/cms/fieldsBuilder.md +4 -2
  857. package/models/cms/types.js +0 -3
  858. package/models/simple/Page/PageModelBuilder.js +15 -14
  859. package/models/simple/Page/PageModelBuilder.js.map +1 -1
  860. package/models/simple/Page/PageModelFactory.js +16 -15
  861. package/models/simple/Page/PageModelFactory.js.map +1 -1
  862. package/models/simple/Page/__tests__/PageModelBuilderDecorator.js +21 -20
  863. package/models/simple/Page/__tests__/PageModelBuilderDecorator.js.map +1 -1
  864. package/models/simple/Page/__tests__/PageModelBuilderDecorator2.js +17 -16
  865. package/models/simple/Page/__tests__/PageModelBuilderDecorator2.js.map +1 -1
  866. package/models/simple/Page/__tests__/PageModelFactory.test.js +28 -28
  867. package/models/simple/Page/__tests__/PageModelFactory.test.js.map +1 -1
  868. package/models/simple/Page/abstractions.js +9 -8
  869. package/models/simple/Page/abstractions.js.map +1 -1
  870. package/package.json +30 -71
  871. package/types/core.js +0 -3
  872. package/types/security.d.ts +1 -1
  873. package/types/security.js +0 -3
  874. package/types/tenancy.js +0 -3
  875. package/types/users.js +0 -3
  876. package/domain/tenancy/errors.js.map +0 -1
  877. package/exports/api/build-params.js.map +0 -1
  878. package/exports/api/event-publisher.js.map +0 -1
  879. package/exports/api/graphql.js.map +0 -1
  880. package/exports/api/key-value-store.js.map +0 -1
  881. package/exports/api/logger.js.map +0 -1
  882. package/exports/api/security/api-key.js.map +0 -1
  883. package/exports/api/security/authentication.js.map +0 -1
  884. package/exports/api/security/role.js.map +0 -1
  885. package/exports/api/security/user.js.map +0 -1
  886. package/exports/api/security.js.map +0 -1
  887. package/exports/api/system.js.map +0 -1
  888. package/exports/api/tasks.js.map +0 -1
  889. package/exports/api/tenancy.js.map +0 -1
  890. package/features/buildParams/index.js.map +0 -1
  891. package/features/eventPublisher/index.js.map +0 -1
  892. package/features/keyValueStore/index.js.map +0 -1
  893. package/features/logger/index.js.map +0 -1
  894. package/features/security/IdentityContext/index.js.map +0 -1
  895. package/features/security/apiKeys/CreateApiKey/index.js.map +0 -1
  896. package/features/security/apiKeys/DeleteApiKey/index.js.map +0 -1
  897. package/features/security/apiKeys/GetApiKey/index.js.map +0 -1
  898. package/features/security/apiKeys/GetApiKeyBySlug/index.js.map +0 -1
  899. package/features/security/apiKeys/GetApiKeyByToken/index.js.map +0 -1
  900. package/features/security/apiKeys/ListApiKeys/index.js.map +0 -1
  901. package/features/security/apiKeys/UpdateApiKey/index.js.map +0 -1
  902. package/features/security/apiKeys/shared/types.js.map +0 -1
  903. package/features/security/authentication/AuthenticationContext/index.js.map +0 -1
  904. package/features/security/authentication/Authenticator/index.js.map +0 -1
  905. package/features/security/authorization/AuthorizationContext/index.js.map +0 -1
  906. package/features/security/authorization/Authorizer/index.js.map +0 -1
  907. package/features/security/login/index.js.map +0 -1
  908. package/features/security/permissions/index.js.map +0 -1
  909. package/features/security/permissions/types.js.map +0 -1
  910. package/features/security/roles/CreateRole/index.js.map +0 -1
  911. package/features/security/roles/DeleteRole/index.js.map +0 -1
  912. package/features/security/roles/GetRole/index.js.map +0 -1
  913. package/features/security/roles/ListRoles/index.js.map +0 -1
  914. package/features/security/roles/UpdateRole/index.js.map +0 -1
  915. package/features/security/roles/shared/types.js.map +0 -1
  916. package/features/security/shared/index.js.map +0 -1
  917. package/features/security/teams/CreateTeam/index.js.map +0 -1
  918. package/features/security/teams/DeleteTeam/index.js.map +0 -1
  919. package/features/security/teams/GetTeam/index.js.map +0 -1
  920. package/features/security/teams/ListTeams/index.js.map +0 -1
  921. package/features/security/teams/UpdateTeam/index.js.map +0 -1
  922. package/features/security/teams/shared/types.js.map +0 -1
  923. package/features/system/InstallSystem/index.js.map +0 -1
  924. package/features/task/TaskController/index.js.map +0 -1
  925. package/features/task/TaskDefinition/index.js.map +0 -1
  926. package/features/task/TaskService/index.js.map +0 -1
  927. package/features/tenancy/CreateTenant/index.js.map +0 -1
  928. package/features/tenancy/DeleteTenant/index.js.map +0 -1
  929. package/features/tenancy/GetRootTenant/index.js.map +0 -1
  930. package/features/tenancy/GetTenantById/index.js.map +0 -1
  931. package/features/tenancy/InstallTenant/index.js.map +0 -1
  932. package/features/tenancy/ListTenants/index.js.map +0 -1
  933. package/features/tenancy/TenantContext/index.js.map +0 -1
  934. package/features/tenancy/UpdateTenant/index.js.map +0 -1
  935. package/features/users/CreateUser/index.js.map +0 -1
  936. package/features/users/DeleteUser/index.js.map +0 -1
  937. package/features/users/ExternalIdpUserSync/index.js.map +0 -1
  938. package/features/users/GetIdentityProfile/index.js.map +0 -1
  939. package/features/users/GetIdentityProfile/types.js.map +0 -1
  940. package/features/users/GetUser/index.js.map +0 -1
  941. package/features/users/ListUserTeams/index.js.map +0 -1
  942. package/features/users/ListUsers/index.js.map +0 -1
  943. package/features/users/UpdateUser/index.js.map +0 -1
  944. package/features/users/shared/types.js.map +0 -1
  945. package/features/wcp/WcpContext/index.js.map +0 -1
  946. package/features/wcp/WcpContext/types.js.map +0 -1
  947. package/idp/index.js.map +0 -1
  948. package/idp/types.js.map +0 -1
  949. package/index.js.map +0 -1
  950. package/models/base/ModelFactory.js.map +0 -1
  951. package/models/base/abstractions.js.map +0 -1
  952. package/models/cms/types.js.map +0 -1
  953. package/types/core.js.map +0 -1
  954. package/types/security.js.map +0 -1
  955. package/types/tenancy.js.map +0 -1
  956. package/types/users.js.map +0 -1
@@ -1,133 +1,115 @@
1
1
  import { Result, createImplementation } from "@webiny/feature/api";
2
2
  import { EventPublisher } from "../../eventPublisher/index.js";
3
- import { InstallTenantUseCase as UseCaseAbstraction } from "./abstractions.js";
4
- import { AppInstaller } from "./abstractions.js";
3
+ import { AppInstaller, InstallTenantUseCase } from "./abstractions.js";
5
4
  import { InstallTenantError, InstallationDependencyError } from "./errors.js";
6
5
  import { TenantInstalledEvent } from "./events.js";
7
6
  import { DependencyResolver } from "./DependencyResolver.js";
8
7
  import { UpdateTenantUseCase } from "../UpdateTenant/index.js";
9
8
  import { TenantContext } from "../../../exports/api/tenancy.js";
10
9
  class InstallTenantUseCaseImpl {
11
- constructor(tenantContext, eventPublisher, appInstallers, updateTenantUseCase) {
12
- this.tenantContext = tenantContext;
13
- this.eventPublisher = eventPublisher;
14
- this.appInstallers = appInstallers;
15
- this.updateTenantUseCase = updateTenantUseCase;
16
- this.resolver = new DependencyResolver();
17
- }
18
- async execute({
19
- tenant,
20
- installationInput
21
- }) {
22
- const installerMap = new Map(this.appInstallers.map(installer => [installer.appName, installer]));
23
- const dataMap = new Map(installationInput.map(install => [install.app, install.data]));
24
-
25
- // Resolve installation order
26
- let installationOrder;
27
- try {
28
- installationOrder = this.resolver.resolve(this.appInstallers, installationInput);
29
- } catch (error) {
30
- if (error instanceof InstallationDependencyError) {
31
- return Result.fail(error);
32
- }
33
- return Result.fail(new InstallationDependencyError({
34
- reason: error instanceof Error ? error.message : String(error)
35
- }));
10
+ constructor(tenantContext, eventPublisher, appInstallers, updateTenantUseCase){
11
+ this.tenantContext = tenantContext;
12
+ this.eventPublisher = eventPublisher;
13
+ this.appInstallers = appInstallers;
14
+ this.updateTenantUseCase = updateTenantUseCase;
15
+ this.resolver = new DependencyResolver();
36
16
  }
37
- const installedApps = [];
38
- try {
39
- /**
40
- * We must run installers in the context of the tenant being installed!
41
- */
42
- const result = await this.tenantContext.withTenant(tenant, async () => {
43
- // Execute installations in order
44
- for (const appName of installationOrder) {
45
- const installer = installerMap.get(appName);
46
- const data = dataMap.get(appName);
47
- try {
48
- await installer.install(tenant, data);
49
- installedApps.push({
50
- appName,
51
- installer
17
+ async execute({ tenant, installationInput }) {
18
+ const installerMap = new Map(this.appInstallers.map((installer)=>[
19
+ installer.appName,
20
+ installer
21
+ ]));
22
+ const dataMap = new Map(installationInput.map((install)=>[
23
+ install.app,
24
+ install.data
25
+ ]));
26
+ let installationOrder;
27
+ try {
28
+ installationOrder = this.resolver.resolve(this.appInstallers, installationInput);
29
+ } catch (error) {
30
+ if (error instanceof InstallationDependencyError) return Result.fail(error);
31
+ return Result.fail(new InstallationDependencyError({
32
+ reason: error instanceof Error ? error.message : String(error)
33
+ }));
34
+ }
35
+ const installedApps = [];
36
+ try {
37
+ const result = await this.tenantContext.withTenant(tenant, async ()=>{
38
+ for (const appName of installationOrder){
39
+ const installer = installerMap.get(appName);
40
+ const data = dataMap.get(appName);
41
+ try {
42
+ await installer.install(tenant, data);
43
+ installedApps.push({
44
+ appName,
45
+ installer
46
+ });
47
+ } catch (error) {
48
+ console.error(`✗ ${appName} installation failed:`, error);
49
+ await this.rollback(tenant, installedApps);
50
+ return Result.fail(new InstallTenantError({
51
+ reason: error instanceof Error ? error.message : String(error),
52
+ failedApp: appName,
53
+ installedApps: installedApps.map((i)=>i.appName),
54
+ cause: error instanceof Error ? error : void 0
55
+ }));
56
+ }
57
+ }
58
+ return Result.ok();
52
59
  });
53
- } catch (error) {
54
- // Installation failed - rollback everything
55
- console.error(`✗ ${appName} installation failed:`, error);
60
+ if (result.isFail()) return result;
61
+ await this.updateTenantUseCase.execute(tenant.id, {
62
+ isInstalled: true,
63
+ status: "enabled"
64
+ });
65
+ await this.eventPublisher.publish(new TenantInstalledEvent({
66
+ tenant: tenant,
67
+ installedApps: installationOrder
68
+ }));
69
+ return Result.ok();
70
+ } catch (error) {
56
71
  await this.rollback(tenant, installedApps);
57
72
  return Result.fail(new InstallTenantError({
58
- reason: error instanceof Error ? error.message : String(error),
59
- failedApp: appName,
60
- installedApps: installedApps.map(i => i.appName),
61
- cause: error instanceof Error ? error : undefined
73
+ reason: error instanceof Error ? error.message : String(error),
74
+ failedApp: "unknown",
75
+ installedApps: installedApps.map((i)=>i.appName),
76
+ cause: error instanceof Error ? error : void 0
62
77
  }));
63
- }
64
78
  }
65
- return Result.ok();
66
- });
67
- if (result.isFail()) {
68
- return result;
69
- }
70
-
71
- /**
72
- * Back to root tenant context.
73
- */
74
-
75
- // Mark the tenant as installed
76
- await this.updateTenantUseCase.execute(tenant.id, {
77
- isInstalled: true,
78
- status: "enabled"
79
- });
80
-
81
- // Publish the installed event
82
- await this.eventPublisher.publish(new TenantInstalledEvent({
83
- tenant: tenant,
84
- installedApps: installationOrder
85
- }));
86
- return Result.ok();
87
- } catch (error) {
88
- // Unexpected error during installation loop
89
- await this.rollback(tenant, installedApps);
90
- return Result.fail(new InstallTenantError({
91
- reason: error instanceof Error ? error.message : String(error),
92
- failedApp: "unknown",
93
- installedApps: installedApps.map(i => i.appName),
94
- cause: error instanceof Error ? error : undefined
95
- }));
96
- }
97
- }
98
- async rollback(tenant, installedApps) {
99
- if (installedApps.length === 0) {
100
- return;
101
79
  }
102
-
103
- // Rollback in REVERSE order (last installed first)
104
- const errors = [];
105
- for (let i = installedApps.length - 1; i >= 0; i--) {
106
- const {
107
- appName,
108
- installer
109
- } = installedApps[i];
110
- try {
111
- await installer.uninstall(tenant);
112
- } catch (error) {
113
- console.error(`✗ Failed to rollback ${appName}:`, error);
114
- errors.push({
115
- appName,
116
- error: error
117
- });
118
- }
119
- }
120
- if (errors.length > 0) {
121
- console.error(`Warning: ${errors.length} rollback(s) failed:`, errors.map(e => `${e.appName}: ${e.error.message}`).join(", "));
80
+ async rollback(tenant, installedApps) {
81
+ if (0 === installedApps.length) return;
82
+ const errors = [];
83
+ for(let i = installedApps.length - 1; i >= 0; i--){
84
+ const { appName, installer } = installedApps[i];
85
+ try {
86
+ await installer.uninstall(tenant);
87
+ } catch (error) {
88
+ console.error(`✗ Failed to rollback ${appName}:`, error);
89
+ errors.push({
90
+ appName,
91
+ error: error
92
+ });
93
+ }
94
+ }
95
+ if (errors.length > 0) console.error(`Warning: ${errors.length} rollback(s) failed:`, errors.map((e)=>`${e.appName}: ${e.error.message}`).join(", "));
122
96
  }
123
- }
124
97
  }
125
- export const InstallTenantUseCase = createImplementation({
126
- abstraction: UseCaseAbstraction,
127
- implementation: InstallTenantUseCaseImpl,
128
- dependencies: [TenantContext, EventPublisher, [AppInstaller, {
129
- multiple: true
130
- }], UpdateTenantUseCase]
98
+ const InstallTenantUseCase_InstallTenantUseCase = createImplementation({
99
+ abstraction: InstallTenantUseCase,
100
+ implementation: InstallTenantUseCaseImpl,
101
+ dependencies: [
102
+ TenantContext,
103
+ EventPublisher,
104
+ [
105
+ AppInstaller,
106
+ {
107
+ multiple: true
108
+ }
109
+ ],
110
+ UpdateTenantUseCase
111
+ ]
131
112
  });
113
+ export { InstallTenantUseCase_InstallTenantUseCase as InstallTenantUseCase };
132
114
 
133
115
  //# sourceMappingURL=InstallTenantUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","createImplementation","EventPublisher","InstallTenantUseCase","UseCaseAbstraction","AppInstaller","InstallTenantError","InstallationDependencyError","TenantInstalledEvent","DependencyResolver","UpdateTenantUseCase","TenantContext","InstallTenantUseCaseImpl","constructor","tenantContext","eventPublisher","appInstallers","updateTenantUseCase","resolver","execute","tenant","installationInput","installerMap","Map","map","installer","appName","dataMap","install","app","data","installationOrder","resolve","error","fail","reason","Error","message","String","installedApps","result","withTenant","get","push","console","rollback","failedApp","i","cause","undefined","ok","isFail","id","isInstalled","status","publish","length","errors","uninstall","e","join","abstraction","implementation","dependencies","multiple"],"sources":["InstallTenantUseCase.ts"],"sourcesContent":["import { Result, createImplementation } from \"@webiny/feature/api\";\nimport { EventPublisher } from \"~/features/eventPublisher/index.js\";\nimport { InstallTenantUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { AppInstaller } from \"./abstractions.js\";\nimport { InstallTenantError, InstallationDependencyError } from \"./errors.js\";\nimport { TenantInstalledEvent } from \"./events.js\";\nimport { DependencyResolver } from \"./DependencyResolver.js\";\nimport type { TenantInstallationInput } from \"./abstractions.js\";\nimport { UpdateTenantUseCase } from \"~/features/tenancy/UpdateTenant/index.js\";\nimport { TenantContext } from \"~/exports/api/tenancy.js\";\n\nclass InstallTenantUseCaseImpl implements UseCaseAbstraction.Interface {\n private resolver: DependencyResolver;\n\n constructor(\n private tenantContext: TenantContext.Interface,\n private eventPublisher: EventPublisher.Interface,\n private appInstallers: AppInstaller.Interface[],\n private updateTenantUseCase: UpdateTenantUseCase.Interface\n ) {\n this.resolver = new DependencyResolver();\n }\n\n async execute({ tenant, installationInput }: TenantInstallationInput) {\n const installerMap = new Map(\n this.appInstallers.map(installer => [installer.appName, installer])\n );\n\n const dataMap = new Map(installationInput.map(install => [install.app, install.data]));\n\n // Resolve installation order\n let installationOrder: string[];\n try {\n installationOrder = this.resolver.resolve(this.appInstallers, installationInput);\n } catch (error) {\n if (error instanceof InstallationDependencyError) {\n return Result.fail(error);\n }\n return Result.fail(\n new InstallationDependencyError({\n reason: error instanceof Error ? error.message : String(error)\n })\n );\n }\n\n const installedApps: Array<{ appName: string; installer: AppInstaller.Interface }> = [];\n\n try {\n /**\n * We must run installers in the context of the tenant being installed!\n */\n const result = await this.tenantContext.withTenant(tenant, async () => {\n // Execute installations in order\n for (const appName of installationOrder) {\n const installer = installerMap.get(appName)!;\n const data = dataMap.get(appName)!;\n\n try {\n await installer.install(tenant, data);\n installedApps.push({ appName, installer });\n } catch (error) {\n // Installation failed - rollback everything\n console.error(`✗ ${appName} installation failed:`, error);\n await this.rollback(tenant, installedApps);\n\n return Result.fail(\n new InstallTenantError({\n reason: error instanceof Error ? error.message : String(error),\n failedApp: appName,\n installedApps: installedApps.map(i => i.appName),\n cause: error instanceof Error ? error : undefined\n })\n );\n }\n }\n return Result.ok();\n });\n\n if (result.isFail()) {\n return result;\n }\n\n /**\n * Back to root tenant context.\n */\n\n // Mark the tenant as installed\n await this.updateTenantUseCase.execute(tenant.id, {\n isInstalled: true,\n status: \"enabled\"\n });\n\n // Publish the installed event\n await this.eventPublisher.publish(\n new TenantInstalledEvent({\n tenant: tenant,\n installedApps: installationOrder\n })\n );\n\n return Result.ok();\n } catch (error) {\n // Unexpected error during installation loop\n await this.rollback(tenant, installedApps);\n\n return Result.fail(\n new InstallTenantError({\n reason: error instanceof Error ? error.message : String(error),\n failedApp: \"unknown\",\n installedApps: installedApps.map(i => i.appName),\n cause: error instanceof Error ? error : undefined\n })\n );\n }\n }\n\n private async rollback(\n tenant: TenantInstallationInput[\"tenant\"],\n installedApps: Array<{ appName: string; installer: AppInstaller.Interface }>\n ): Promise<void> {\n if (installedApps.length === 0) {\n return;\n }\n\n // Rollback in REVERSE order (last installed first)\n const errors: Array<{ appName: string; error: Error }> = [];\n\n for (let i = installedApps.length - 1; i >= 0; i--) {\n const { appName, installer } = installedApps[i];\n\n try {\n await installer.uninstall(tenant);\n } catch (error) {\n console.error(`✗ Failed to rollback ${appName}:`, error);\n errors.push({\n appName,\n error: error as Error\n });\n }\n }\n\n if (errors.length > 0) {\n console.error(\n `Warning: ${errors.length} rollback(s) failed:`,\n errors.map(e => `${e.appName}: ${e.error.message}`).join(\", \")\n );\n }\n }\n}\n\nexport const InstallTenantUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: InstallTenantUseCaseImpl,\n dependencies: [\n TenantContext,\n EventPublisher,\n [AppInstaller, { multiple: true }],\n UpdateTenantUseCase\n ]\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"features/tenancy/InstallTenant/InstallTenantUseCase.js","sources":["../../../../src/features/tenancy/InstallTenant/InstallTenantUseCase.ts"],"sourcesContent":["import { Result, createImplementation } from \"@webiny/feature/api\";\nimport { EventPublisher } from \"~/features/eventPublisher/index.js\";\nimport { InstallTenantUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { AppInstaller } from \"./abstractions.js\";\nimport { InstallTenantError, InstallationDependencyError } from \"./errors.js\";\nimport { TenantInstalledEvent } from \"./events.js\";\nimport { DependencyResolver } from \"./DependencyResolver.js\";\nimport type { TenantInstallationInput } from \"./abstractions.js\";\nimport { UpdateTenantUseCase } from \"~/features/tenancy/UpdateTenant/index.js\";\nimport { TenantContext } from \"~/exports/api/tenancy.js\";\n\nclass InstallTenantUseCaseImpl implements UseCaseAbstraction.Interface {\n private resolver: DependencyResolver;\n\n constructor(\n private tenantContext: TenantContext.Interface,\n private eventPublisher: EventPublisher.Interface,\n private appInstallers: AppInstaller.Interface[],\n private updateTenantUseCase: UpdateTenantUseCase.Interface\n ) {\n this.resolver = new DependencyResolver();\n }\n\n async execute({ tenant, installationInput }: TenantInstallationInput) {\n const installerMap = new Map(\n this.appInstallers.map(installer => [installer.appName, installer])\n );\n\n const dataMap = new Map(installationInput.map(install => [install.app, install.data]));\n\n // Resolve installation order\n let installationOrder: string[];\n try {\n installationOrder = this.resolver.resolve(this.appInstallers, installationInput);\n } catch (error) {\n if (error instanceof InstallationDependencyError) {\n return Result.fail(error);\n }\n return Result.fail(\n new InstallationDependencyError({\n reason: error instanceof Error ? error.message : String(error)\n })\n );\n }\n\n const installedApps: Array<{ appName: string; installer: AppInstaller.Interface }> = [];\n\n try {\n /**\n * We must run installers in the context of the tenant being installed!\n */\n const result = await this.tenantContext.withTenant(tenant, async () => {\n // Execute installations in order\n for (const appName of installationOrder) {\n const installer = installerMap.get(appName)!;\n const data = dataMap.get(appName)!;\n\n try {\n await installer.install(tenant, data);\n installedApps.push({ appName, installer });\n } catch (error) {\n // Installation failed - rollback everything\n console.error(`✗ ${appName} installation failed:`, error);\n await this.rollback(tenant, installedApps);\n\n return Result.fail(\n new InstallTenantError({\n reason: error instanceof Error ? error.message : String(error),\n failedApp: appName,\n installedApps: installedApps.map(i => i.appName),\n cause: error instanceof Error ? error : undefined\n })\n );\n }\n }\n return Result.ok();\n });\n\n if (result.isFail()) {\n return result;\n }\n\n /**\n * Back to root tenant context.\n */\n\n // Mark the tenant as installed\n await this.updateTenantUseCase.execute(tenant.id, {\n isInstalled: true,\n status: \"enabled\"\n });\n\n // Publish the installed event\n await this.eventPublisher.publish(\n new TenantInstalledEvent({\n tenant: tenant,\n installedApps: installationOrder\n })\n );\n\n return Result.ok();\n } catch (error) {\n // Unexpected error during installation loop\n await this.rollback(tenant, installedApps);\n\n return Result.fail(\n new InstallTenantError({\n reason: error instanceof Error ? error.message : String(error),\n failedApp: \"unknown\",\n installedApps: installedApps.map(i => i.appName),\n cause: error instanceof Error ? error : undefined\n })\n );\n }\n }\n\n private async rollback(\n tenant: TenantInstallationInput[\"tenant\"],\n installedApps: Array<{ appName: string; installer: AppInstaller.Interface }>\n ): Promise<void> {\n if (installedApps.length === 0) {\n return;\n }\n\n // Rollback in REVERSE order (last installed first)\n const errors: Array<{ appName: string; error: Error }> = [];\n\n for (let i = installedApps.length - 1; i >= 0; i--) {\n const { appName, installer } = installedApps[i];\n\n try {\n await installer.uninstall(tenant);\n } catch (error) {\n console.error(`✗ Failed to rollback ${appName}:`, error);\n errors.push({\n appName,\n error: error as Error\n });\n }\n }\n\n if (errors.length > 0) {\n console.error(\n `Warning: ${errors.length} rollback(s) failed:`,\n errors.map(e => `${e.appName}: ${e.error.message}`).join(\", \")\n );\n }\n }\n}\n\nexport const InstallTenantUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: InstallTenantUseCaseImpl,\n dependencies: [\n TenantContext,\n EventPublisher,\n [AppInstaller, { multiple: true }],\n UpdateTenantUseCase\n ]\n});\n"],"names":["InstallTenantUseCaseImpl","tenantContext","eventPublisher","appInstallers","updateTenantUseCase","DependencyResolver","tenant","installationInput","installerMap","Map","installer","dataMap","install","installationOrder","error","InstallationDependencyError","Result","Error","String","installedApps","result","appName","data","console","InstallTenantError","i","undefined","TenantInstalledEvent","errors","e","InstallTenantUseCase","createImplementation","UseCaseAbstraction","TenantContext","EventPublisher","AppInstaller","UpdateTenantUseCase"],"mappings":";;;;;;;;AAWA,MAAMA;IAGF,YACYC,aAAsC,EACtCC,cAAwC,EACxCC,aAAuC,EACvCC,mBAAkD,CAC5D;aAJUH,aAAa,GAAbA;aACAC,cAAc,GAAdA;aACAC,aAAa,GAAbA;aACAC,mBAAmB,GAAnBA;QAER,IAAI,CAAC,QAAQ,GAAG,IAAIC;IACxB;IAEA,MAAM,QAAQ,EAAEC,MAAM,EAAEC,iBAAiB,EAA2B,EAAE;QAClE,MAAMC,eAAe,IAAIC,IACrB,IAAI,CAAC,aAAa,CAAC,GAAG,CAACC,CAAAA,YAAa;gBAACA,UAAU,OAAO;gBAAEA;aAAU;QAGtE,MAAMC,UAAU,IAAIF,IAAIF,kBAAkB,GAAG,CAACK,CAAAA,UAAW;gBAACA,QAAQ,GAAG;gBAAEA,QAAQ,IAAI;aAAC;QAGpF,IAAIC;QACJ,IAAI;YACAA,oBAAoB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAEN;QAClE,EAAE,OAAOO,OAAO;YACZ,IAAIA,iBAAiBC,6BACjB,OAAOC,OAAO,IAAI,CAACF;YAEvB,OAAOE,OAAO,IAAI,CACd,IAAID,4BAA4B;gBAC5B,QAAQD,iBAAiBG,QAAQH,MAAM,OAAO,GAAGI,OAAOJ;YAC5D;QAER;QAEA,MAAMK,gBAA+E,EAAE;QAEvF,IAAI;YAIA,MAAMC,SAAS,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAACd,QAAQ;gBAEvD,KAAK,MAAMe,WAAWR,kBAAmB;oBACrC,MAAMH,YAAYF,aAAa,GAAG,CAACa;oBACnC,MAAMC,OAAOX,QAAQ,GAAG,CAACU;oBAEzB,IAAI;wBACA,MAAMX,UAAU,OAAO,CAACJ,QAAQgB;wBAChCH,cAAc,IAAI,CAAC;4BAAEE;4BAASX;wBAAU;oBAC5C,EAAE,OAAOI,OAAO;wBAEZS,QAAQ,KAAK,CAAC,CAAC,EAAE,EAAEF,QAAQ,qBAAqB,CAAC,EAAEP;wBACnD,MAAM,IAAI,CAAC,QAAQ,CAACR,QAAQa;wBAE5B,OAAOH,OAAO,IAAI,CACd,IAAIQ,mBAAmB;4BACnB,QAAQV,iBAAiBG,QAAQH,MAAM,OAAO,GAAGI,OAAOJ;4BACxD,WAAWO;4BACX,eAAeF,cAAc,GAAG,CAACM,CAAAA,IAAKA,EAAE,OAAO;4BAC/C,OAAOX,iBAAiBG,QAAQH,QAAQY;wBAC5C;oBAER;gBACJ;gBACA,OAAOV,OAAO,EAAE;YACpB;YAEA,IAAII,OAAO,MAAM,IACb,OAAOA;YAQX,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAACd,OAAO,EAAE,EAAE;gBAC9C,aAAa;gBACb,QAAQ;YACZ;YAGA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIqB,qBAAqB;gBACrB,QAAQrB;gBACR,eAAeO;YACnB;YAGJ,OAAOG,OAAO,EAAE;QACpB,EAAE,OAAOF,OAAO;YAEZ,MAAM,IAAI,CAAC,QAAQ,CAACR,QAAQa;YAE5B,OAAOH,OAAO,IAAI,CACd,IAAIQ,mBAAmB;gBACnB,QAAQV,iBAAiBG,QAAQH,MAAM,OAAO,GAAGI,OAAOJ;gBACxD,WAAW;gBACX,eAAeK,cAAc,GAAG,CAACM,CAAAA,IAAKA,EAAE,OAAO;gBAC/C,OAAOX,iBAAiBG,QAAQH,QAAQY;YAC5C;QAER;IACJ;IAEA,MAAc,SACVpB,MAAyC,EACzCa,aAA4E,EAC/D;QACb,IAAIA,AAAyB,MAAzBA,cAAc,MAAM,EACpB;QAIJ,MAAMS,SAAmD,EAAE;QAE3D,IAAK,IAAIH,IAAIN,cAAc,MAAM,GAAG,GAAGM,KAAK,GAAGA,IAAK;YAChD,MAAM,EAAEJ,OAAO,EAAEX,SAAS,EAAE,GAAGS,aAAa,CAACM,EAAE;YAE/C,IAAI;gBACA,MAAMf,UAAU,SAAS,CAACJ;YAC9B,EAAE,OAAOQ,OAAO;gBACZS,QAAQ,KAAK,CAAC,CAAC,qBAAqB,EAAEF,QAAQ,CAAC,CAAC,EAAEP;gBAClDc,OAAO,IAAI,CAAC;oBACRP;oBACA,OAAOP;gBACX;YACJ;QACJ;QAEA,IAAIc,OAAO,MAAM,GAAG,GAChBL,QAAQ,KAAK,CACT,CAAC,SAAS,EAAEK,OAAO,MAAM,CAAC,oBAAoB,CAAC,EAC/CA,OAAO,GAAG,CAACC,CAAAA,IAAK,GAAGA,EAAE,OAAO,CAAC,EAAE,EAAEA,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC;IAGrE;AACJ;AAEO,MAAMC,4CAAuBC,qBAAqB;IACrD,aAAaC;IACb,gBAAgBhC;IAChB,cAAc;QACViC;QACAC;QACA;YAACC;YAAc;gBAAE,UAAU;YAAK;SAAE;QAClCC;KACH;AACL"}
@@ -1,18 +1,7 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
-
3
- /**
4
- * Errors
5
- */
6
-
7
- /**
8
- * Types
9
- */
10
-
11
- /** Install an application on a tenant with rollback support. */
12
- export const AppInstaller = createAbstraction("AppInstaller");
13
- /** Run all app installers for a tenant. */
14
- export const InstallTenantUseCase = createAbstraction("InstallTenantUseCase");
15
- /** Hook into tenant lifecycle after a tenant is installed. */
16
- export const TenantInstalledEventHandler = createAbstraction("TenantInstalledEventHandler");
2
+ const AppInstaller = createAbstraction("AppInstaller");
3
+ const InstallTenantUseCase = createAbstraction("InstallTenantUseCase");
4
+ const TenantInstalledEventHandler = createAbstraction("TenantInstalledEventHandler");
5
+ export { AppInstaller, InstallTenantUseCase, TenantInstalledEventHandler };
17
6
 
18
7
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","AppInstaller","InstallTenantUseCase","TenantInstalledEventHandler"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { IEventHandler, DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport type { Tenant } from \"~/types/tenancy.js\";\nimport type { TenantInstalledPayload } from \"./events.js\";\nimport { InstallTenantError, InstallationDependencyError } from \"./errors.js\";\n\nexport type { Tenant };\n\n/**\n * Errors\n */\nexport interface IInstallTenantErrors {\n base: InstallTenantError;\n dependency: InstallationDependencyError;\n}\n\n/**\n * Types\n */\nexport interface AppInstallationData {\n app: string;\n data: Record<string, any>;\n}\n\nexport interface TenantInstallationInput {\n tenant: Tenant;\n installationInput: AppInstallationData[];\n}\n\nexport interface IAppInstaller<TData = Record<string, any>> {\n readonly alwaysRun?: boolean;\n readonly appName: string;\n readonly dependsOn: string[];\n\n /**\n * Perform the installation\n * If this succeeds, uninstall() MUST be able to revert it\n */\n install(tenant: Tenant, data: TData): Promise<void>;\n\n /**\n * Revert the installation\n * Called if any subsequent installer fails\n */\n uninstall(tenant: Tenant): Promise<void>;\n}\n\n/** Install an application on a tenant with rollback support. */\nexport const AppInstaller = createAbstraction<IAppInstaller>(\"AppInstaller\");\n\nexport namespace AppInstaller {\n export type Interface<T = any> = IAppInstaller<T>;\n}\n\nexport interface IInstallTenantUseCase {\n execute(\n input: TenantInstallationInput\n ): Promise<Result<void, IInstallTenantErrors[keyof IInstallTenantErrors]>>;\n}\n\n/** Run all app installers for a tenant. */\nexport const InstallTenantUseCase =\n createAbstraction<IInstallTenantUseCase>(\"InstallTenantUseCase\");\n\nexport namespace InstallTenantUseCase {\n export type Interface = IInstallTenantUseCase;\n export type Input = TenantInstallationInput;\n export type Errors = IInstallTenantErrors[keyof IInstallTenantErrors];\n}\n\n/** Hook into tenant lifecycle after a tenant is installed. */\nexport const TenantInstalledEventHandler = createAbstraction<\n IEventHandler<DomainEvent<TenantInstalledPayload>>\n>(\"TenantInstalledEventHandler\");\n\nexport namespace TenantInstalledEventHandler {\n export type Interface = IEventHandler<DomainEvent<TenantInstalledPayload>>;\n export type Event = DomainEvent<TenantInstalledPayload>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAQ/D;AACA;AACA;;AAMA;AACA;AACA;;AA6BA;AACA,OAAO,MAAMC,YAAY,GAAGD,iBAAiB,CAAgB,cAAc,CAAC;AAY5E;AACA,OAAO,MAAME,oBAAoB,GAC7BF,iBAAiB,CAAwB,sBAAsB,CAAC;AAQpE;AACA,OAAO,MAAMG,2BAA2B,GAAGH,iBAAiB,CAE1D,6BAA6B,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/tenancy/InstallTenant/abstractions.js","sources":["../../../../src/features/tenancy/InstallTenant/abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { IEventHandler, DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport type { Tenant } from \"~/types/tenancy.js\";\nimport type { TenantInstalledPayload } from \"./events.js\";\nimport { InstallTenantError, InstallationDependencyError } from \"./errors.js\";\n\nexport type { Tenant };\n\n/**\n * Errors\n */\nexport interface IInstallTenantErrors {\n base: InstallTenantError;\n dependency: InstallationDependencyError;\n}\n\n/**\n * Types\n */\nexport interface AppInstallationData {\n app: string;\n data: Record<string, any>;\n}\n\nexport interface TenantInstallationInput {\n tenant: Tenant;\n installationInput: AppInstallationData[];\n}\n\nexport interface IAppInstaller<TData = Record<string, any>> {\n readonly alwaysRun?: boolean;\n readonly appName: string;\n readonly dependsOn: string[];\n\n /**\n * Perform the installation\n * If this succeeds, uninstall() MUST be able to revert it\n */\n install(tenant: Tenant, data: TData): Promise<void>;\n\n /**\n * Revert the installation\n * Called if any subsequent installer fails\n */\n uninstall(tenant: Tenant): Promise<void>;\n}\n\n/** Install an application on a tenant with rollback support. */\nexport const AppInstaller = createAbstraction<IAppInstaller>(\"AppInstaller\");\n\nexport namespace AppInstaller {\n export type Interface<T = any> = IAppInstaller<T>;\n}\n\nexport interface IInstallTenantUseCase {\n execute(\n input: TenantInstallationInput\n ): Promise<Result<void, IInstallTenantErrors[keyof IInstallTenantErrors]>>;\n}\n\n/** Run all app installers for a tenant. */\nexport const InstallTenantUseCase =\n createAbstraction<IInstallTenantUseCase>(\"InstallTenantUseCase\");\n\nexport namespace InstallTenantUseCase {\n export type Interface = IInstallTenantUseCase;\n export type Input = TenantInstallationInput;\n export type Errors = IInstallTenantErrors[keyof IInstallTenantErrors];\n}\n\n/** Hook into tenant lifecycle after a tenant is installed. */\nexport const TenantInstalledEventHandler = createAbstraction<\n IEventHandler<DomainEvent<TenantInstalledPayload>>\n>(\"TenantInstalledEventHandler\");\n\nexport namespace TenantInstalledEventHandler {\n export type Interface = IEventHandler<DomainEvent<TenantInstalledPayload>>;\n export type Event = DomainEvent<TenantInstalledPayload>;\n}\n"],"names":["AppInstaller","createAbstraction","InstallTenantUseCase","TenantInstalledEventHandler"],"mappings":";AAgDO,MAAMA,eAAeC,kBAAiC;AAatD,MAAMC,uBACTD,kBAAyC;AAStC,MAAME,8BAA8BF,kBAEzC"}
@@ -1,21 +1,20 @@
1
1
  import { BaseError } from "@webiny/feature/api";
2
- export class InstallTenantError extends BaseError {
3
- code = "INSTALL_TENANT";
4
- constructor(data) {
5
- super({
6
- message: "Installation failed",
7
- data
8
- });
9
- }
2
+ class InstallTenantError extends BaseError {
3
+ constructor(data){
4
+ super({
5
+ message: "Installation failed",
6
+ data
7
+ }), this.code = "INSTALL_TENANT";
8
+ }
10
9
  }
11
- export class InstallationDependencyError extends BaseError {
12
- code = "INSTALLATION_DEPENDENCY";
13
- constructor(data) {
14
- super({
15
- message: `Installation dependency error: ${data.reason}`,
16
- data
17
- });
18
- }
10
+ class InstallationDependencyError extends BaseError {
11
+ constructor(data){
12
+ super({
13
+ message: `Installation dependency error: ${data.reason}`,
14
+ data
15
+ }), this.code = "INSTALLATION_DEPENDENCY";
16
+ }
19
17
  }
18
+ export { InstallTenantError, InstallationDependencyError };
20
19
 
21
20
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseError","InstallTenantError","code","constructor","data","message","InstallationDependencyError","reason"],"sources":["errors.ts"],"sourcesContent":["import { BaseError } from \"@webiny/feature/api\";\n\ntype InstallTenantErrorData = {\n reason: string;\n failedApp: string;\n installedApps: string[];\n cause?: Error;\n};\n\nexport class InstallTenantError extends BaseError<InstallTenantErrorData> {\n override readonly code = \"INSTALL_TENANT\" as const;\n\n constructor(data: InstallTenantErrorData) {\n super({\n message: \"Installation failed\",\n data\n });\n }\n}\n\ntype InstallationDependencyErrorData = {\n reason: string;\n};\n\nexport class InstallationDependencyError extends BaseError<InstallationDependencyErrorData> {\n override readonly code = \"INSTALLATION_DEPENDENCY\" as const;\n\n constructor(data: InstallationDependencyErrorData) {\n super({\n message: `Installation dependency error: ${data.reason}`,\n data\n });\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,qBAAqB;AAS/C,OAAO,MAAMC,kBAAkB,SAASD,SAAS,CAAyB;EACpDE,IAAI,GAAG,gBAAgB;EAEzCC,WAAWA,CAACC,IAA4B,EAAE;IACtC,KAAK,CAAC;MACFC,OAAO,EAAE,qBAAqB;MAC9BD;IACJ,CAAC,CAAC;EACN;AACJ;AAMA,OAAO,MAAME,2BAA2B,SAASN,SAAS,CAAkC;EACtEE,IAAI,GAAG,yBAAyB;EAElDC,WAAWA,CAACC,IAAqC,EAAE;IAC/C,KAAK,CAAC;MACFC,OAAO,EAAE,kCAAkCD,IAAI,CAACG,MAAM,EAAE;MACxDH;IACJ,CAAC,CAAC;EACN;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"features/tenancy/InstallTenant/errors.js","sources":["../../../../src/features/tenancy/InstallTenant/errors.ts"],"sourcesContent":["import { BaseError } from \"@webiny/feature/api\";\n\ntype InstallTenantErrorData = {\n reason: string;\n failedApp: string;\n installedApps: string[];\n cause?: Error;\n};\n\nexport class InstallTenantError extends BaseError<InstallTenantErrorData> {\n override readonly code = \"INSTALL_TENANT\" as const;\n\n constructor(data: InstallTenantErrorData) {\n super({\n message: \"Installation failed\",\n data\n });\n }\n}\n\ntype InstallationDependencyErrorData = {\n reason: string;\n};\n\nexport class InstallationDependencyError extends BaseError<InstallationDependencyErrorData> {\n override readonly code = \"INSTALLATION_DEPENDENCY\" as const;\n\n constructor(data: InstallationDependencyErrorData) {\n super({\n message: `Installation dependency error: ${data.reason}`,\n data\n });\n }\n}\n"],"names":["InstallTenantError","BaseError","data","InstallationDependencyError"],"mappings":";AASO,MAAMA,2BAA2BC;IAGpC,YAAYC,IAA4B,CAAE;QACtC,KAAK,CAAC;YACF,SAAS;YACTA;QACJ,SANc,IAAI,GAAG;IAOzB;AACJ;AAMO,MAAMC,oCAAoCF;IAG7C,YAAYC,IAAqC,CAAE;QAC/C,KAAK,CAAC;YACF,SAAS,CAAC,+BAA+B,EAAEA,KAAK,MAAM,EAAE;YACxDA;QACJ,SANc,IAAI,GAAG;IAOzB;AACJ"}
@@ -1,10 +1,13 @@
1
1
  import { DomainEvent } from "../../eventPublisher/index.js";
2
2
  import { TenantInstalledEventHandler } from "./abstractions.js";
3
- export class TenantInstalledEvent extends DomainEvent {
4
- eventType = "tenant.installed";
5
- getHandlerAbstraction() {
6
- return TenantInstalledEventHandler;
7
- }
3
+ class TenantInstalledEvent extends DomainEvent {
4
+ getHandlerAbstraction() {
5
+ return TenantInstalledEventHandler;
6
+ }
7
+ constructor(...args){
8
+ super(...args), this.eventType = "tenant.installed";
9
+ }
8
10
  }
11
+ export { TenantInstalledEvent };
9
12
 
10
13
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DomainEvent","TenantInstalledEventHandler","TenantInstalledEvent","eventType","getHandlerAbstraction"],"sources":["events.ts"],"sourcesContent":["import { DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport type { Tenant } from \"~/types/tenancy.js\";\nimport { TenantInstalledEventHandler } from \"./abstractions.js\";\n\nexport interface TenantInstalledPayload {\n tenant: Tenant;\n installedApps: string[];\n}\n\nexport class TenantInstalledEvent extends DomainEvent<TenantInstalledPayload> {\n eventType = \"tenant.installed\" as const;\n\n getHandlerAbstraction() {\n return TenantInstalledEventHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW;AAEpB,SAASC,2BAA2B;AAOpC,OAAO,MAAMC,oBAAoB,SAASF,WAAW,CAAyB;EAC1EG,SAAS,GAAG,kBAAkB;EAE9BC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,2BAA2B;EACtC;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"features/tenancy/InstallTenant/events.js","sources":["../../../../src/features/tenancy/InstallTenant/events.ts"],"sourcesContent":["import { DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport type { Tenant } from \"~/types/tenancy.js\";\nimport { TenantInstalledEventHandler } from \"./abstractions.js\";\n\nexport interface TenantInstalledPayload {\n tenant: Tenant;\n installedApps: string[];\n}\n\nexport class TenantInstalledEvent extends DomainEvent<TenantInstalledPayload> {\n eventType = \"tenant.installed\" as const;\n\n getHandlerAbstraction() {\n return TenantInstalledEventHandler;\n }\n}\n"],"names":["TenantInstalledEvent","DomainEvent","TenantInstalledEventHandler"],"mappings":";;AASO,MAAMA,6BAA6BC;IAGtC,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB"}
@@ -1 +1,5 @@
1
- export declare const InstallTenantFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
1
+ import type { Container } from "@webiny/di";
2
+ export declare const InstallTenantFeature: {
3
+ name: string;
4
+ register(container: Container): void;
5
+ };
@@ -1,10 +1,11 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { InstallTenantUseCase } from "./InstallTenantUseCase.js";
3
- export const InstallTenantFeature = createFeature({
4
- name: "InstallTenant",
5
- register(container) {
6
- container.register(InstallTenantUseCase);
7
- }
3
+ const InstallTenantFeature = createFeature({
4
+ name: "InstallTenant",
5
+ register (container) {
6
+ container.register(InstallTenantUseCase);
7
+ }
8
8
  });
9
+ export { InstallTenantFeature };
9
10
 
10
11
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","InstallTenantUseCase","InstallTenantFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport type { Container } from \"@webiny/di\";\nimport { InstallTenantUseCase } from \"./InstallTenantUseCase.js\";\n\nexport const InstallTenantFeature = createFeature({\n name: \"InstallTenant\",\n register(container: Container) {\n container.register(InstallTenantUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AAEnD,SAASC,oBAAoB;AAE7B,OAAO,MAAMC,oBAAoB,GAAGF,aAAa,CAAC;EAC9CG,IAAI,EAAE,eAAe;EACrBC,QAAQA,CAACC,SAAoB,EAAE;IAC3BA,SAAS,CAACD,QAAQ,CAACH,oBAAoB,CAAC;EAC5C;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/tenancy/InstallTenant/feature.js","sources":["../../../../src/features/tenancy/InstallTenant/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport type { Container } from \"@webiny/di\";\nimport { InstallTenantUseCase } from \"./InstallTenantUseCase.js\";\n\nexport const InstallTenantFeature = createFeature({\n name: \"InstallTenant\",\n register(container: Container) {\n container.register(InstallTenantUseCase);\n }\n});\n"],"names":["InstallTenantFeature","createFeature","container","InstallTenantUseCase"],"mappings":";;AAIO,MAAMA,uBAAuBC,cAAc;IAC9C,MAAM;IACN,UAASC,SAAoB;QACzBA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
@@ -1,7 +1,5 @@
1
1
  export { InstallTenantFeature } from "./feature.js";
2
- export { InstallTenantUseCase, AppInstaller, TenantInstalledEventHandler } from "./abstractions.js";
2
+ export { AppInstaller, InstallTenantUseCase, TenantInstalledEventHandler } from "./abstractions.js";
3
3
  export { DependencyResolver } from "./DependencyResolver.js";
4
4
  export { InstallTenantError, InstallationDependencyError } from "./errors.js";
5
5
  export { TenantInstalledEvent } from "./events.js";
6
-
7
- //# sourceMappingURL=index.js.map
@@ -1,18 +1,21 @@
1
1
  import { createImplementation } from "@webiny/feature/api";
2
- import { ListTenantsGateway as GatewayAbstraction } from "./abstractions.js";
2
+ import { ListTenantsGateway } from "./abstractions.js";
3
3
  import { TenancyStorageOperations } from "../shared/storageOperations.js";
4
4
  class ListTenantsGatewayImpl {
5
- constructor(storageOperations) {
6
- this.storageOperations = storageOperations;
7
- }
8
- async listTenants(params) {
9
- return await this.storageOperations.listTenants(params);
10
- }
5
+ constructor(storageOperations){
6
+ this.storageOperations = storageOperations;
7
+ }
8
+ async listTenants(params) {
9
+ return await this.storageOperations.listTenants(params);
10
+ }
11
11
  }
12
- export const ListTenantsGateway = createImplementation({
13
- abstraction: GatewayAbstraction,
14
- implementation: ListTenantsGatewayImpl,
15
- dependencies: [TenancyStorageOperations]
12
+ const ListTenantsGateway_ListTenantsGateway = createImplementation({
13
+ abstraction: ListTenantsGateway,
14
+ implementation: ListTenantsGatewayImpl,
15
+ dependencies: [
16
+ TenancyStorageOperations
17
+ ]
16
18
  });
19
+ export { ListTenantsGateway_ListTenantsGateway as ListTenantsGateway };
17
20
 
18
21
  //# sourceMappingURL=ListTenantsGateway.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createImplementation","ListTenantsGateway","GatewayAbstraction","TenancyStorageOperations","ListTenantsGatewayImpl","constructor","storageOperations","listTenants","params","abstraction","implementation","dependencies"],"sources":["ListTenantsGateway.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/feature/api\";\nimport { ListTenantsGateway as GatewayAbstraction } from \"./abstractions.js\";\nimport type { ListTenantsParams } from \"~/types/tenancy.js\";\nimport { TenancyStorageOperations } from \"~/features/tenancy/shared/storageOperations.js\";\n\nclass ListTenantsGatewayImpl implements GatewayAbstraction.Interface {\n constructor(private storageOperations: TenancyStorageOperations.Interface) {}\n\n async listTenants(params?: ListTenantsParams) {\n return await this.storageOperations.listTenants(params);\n }\n}\n\nexport const ListTenantsGateway = createImplementation({\n abstraction: GatewayAbstraction,\n implementation: ListTenantsGatewayImpl,\n dependencies: [TenancyStorageOperations]\n});\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,qBAAqB;AAC1D,SAASC,kBAAkB,IAAIC,kBAAkB;AAEjD,SAASC,wBAAwB;AAEjC,MAAMC,sBAAsB,CAAyC;EACjEC,WAAWA,CAASC,iBAAqD,EAAE;IAAA,KAAvDA,iBAAqD,GAArDA,iBAAqD;EAAG;EAE5E,MAAMC,WAAWA,CAACC,MAA0B,EAAE;IAC1C,OAAO,MAAM,IAAI,CAACF,iBAAiB,CAACC,WAAW,CAACC,MAAM,CAAC;EAC3D;AACJ;AAEA,OAAO,MAAMP,kBAAkB,GAAGD,oBAAoB,CAAC;EACnDS,WAAW,EAAEP,kBAAkB;EAC/BQ,cAAc,EAAEN,sBAAsB;EACtCO,YAAY,EAAE,CAACR,wBAAwB;AAC3C,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/tenancy/ListTenants/ListTenantsGateway.js","sources":["../../../../src/features/tenancy/ListTenants/ListTenantsGateway.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/feature/api\";\nimport { ListTenantsGateway as GatewayAbstraction } from \"./abstractions.js\";\nimport type { ListTenantsParams } from \"~/types/tenancy.js\";\nimport { TenancyStorageOperations } from \"~/features/tenancy/shared/storageOperations.js\";\n\nclass ListTenantsGatewayImpl implements GatewayAbstraction.Interface {\n constructor(private storageOperations: TenancyStorageOperations.Interface) {}\n\n async listTenants(params?: ListTenantsParams) {\n return await this.storageOperations.listTenants(params);\n }\n}\n\nexport const ListTenantsGateway = createImplementation({\n abstraction: GatewayAbstraction,\n implementation: ListTenantsGatewayImpl,\n dependencies: [TenancyStorageOperations]\n});\n"],"names":["ListTenantsGatewayImpl","storageOperations","params","ListTenantsGateway","createImplementation","GatewayAbstraction","TenancyStorageOperations"],"mappings":";;;AAKA,MAAMA;IACF,YAAoBC,iBAAqD,CAAE;aAAvDA,iBAAiB,GAAjBA;IAAwD;IAE5E,MAAM,YAAYC,MAA0B,EAAE;QAC1C,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAACA;IACpD;AACJ;AAEO,MAAMC,wCAAqBC,qBAAqB;IACnD,aAAaC;IACb,gBAAgBL;IAChB,cAAc;QAACM;KAAyB;AAC5C"}
@@ -1,18 +1,20 @@
1
1
  import { createImplementation } from "@webiny/feature/api";
2
- import { ListTenantsRepository as RepositoryAbstraction } from "./abstractions.js";
3
- import { ListTenantsGateway } from "./abstractions.js";
2
+ import { ListTenantsGateway, ListTenantsRepository } from "./abstractions.js";
4
3
  class ListTenantsRepositoryImpl {
5
- constructor(gateway) {
6
- this.gateway = gateway;
7
- }
8
- async list(params) {
9
- return await this.gateway.listTenants(params);
10
- }
4
+ constructor(gateway){
5
+ this.gateway = gateway;
6
+ }
7
+ async list(params) {
8
+ return await this.gateway.listTenants(params);
9
+ }
11
10
  }
12
- export const ListTenantsRepository = createImplementation({
13
- abstraction: RepositoryAbstraction,
14
- implementation: ListTenantsRepositoryImpl,
15
- dependencies: [ListTenantsGateway]
11
+ const ListTenantsRepository_ListTenantsRepository = createImplementation({
12
+ abstraction: ListTenantsRepository,
13
+ implementation: ListTenantsRepositoryImpl,
14
+ dependencies: [
15
+ ListTenantsGateway
16
+ ]
16
17
  });
18
+ export { ListTenantsRepository_ListTenantsRepository as ListTenantsRepository };
17
19
 
18
20
  //# sourceMappingURL=ListTenantsRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createImplementation","ListTenantsRepository","RepositoryAbstraction","ListTenantsGateway","ListTenantsRepositoryImpl","constructor","gateway","list","params","listTenants","abstraction","implementation","dependencies"],"sources":["ListTenantsRepository.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/feature/api\";\nimport { ListTenantsRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { ListTenantsGateway } from \"./abstractions.js\";\nimport type { ListTenantsParams } from \"~/types/tenancy.js\";\n\nclass ListTenantsRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(private gateway: ListTenantsGateway.Interface) {}\n\n async list(params?: ListTenantsParams) {\n return await this.gateway.listTenants(params);\n }\n}\n\nexport const ListTenantsRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: ListTenantsRepositoryImpl,\n dependencies: [ListTenantsGateway]\n});\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,qBAAqB;AAC1D,SAASC,qBAAqB,IAAIC,qBAAqB;AACvD,SAASC,kBAAkB;AAG3B,MAAMC,yBAAyB,CAA4C;EACvEC,WAAWA,CAASC,OAAqC,EAAE;IAAA,KAAvCA,OAAqC,GAArCA,OAAqC;EAAG;EAE5D,MAAMC,IAAIA,CAACC,MAA0B,EAAE;IACnC,OAAO,MAAM,IAAI,CAACF,OAAO,CAACG,WAAW,CAACD,MAAM,CAAC;EACjD;AACJ;AAEA,OAAO,MAAMP,qBAAqB,GAAGD,oBAAoB,CAAC;EACtDU,WAAW,EAAER,qBAAqB;EAClCS,cAAc,EAAEP,yBAAyB;EACzCQ,YAAY,EAAE,CAACT,kBAAkB;AACrC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/tenancy/ListTenants/ListTenantsRepository.js","sources":["../../../../src/features/tenancy/ListTenants/ListTenantsRepository.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/feature/api\";\nimport { ListTenantsRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { ListTenantsGateway } from \"./abstractions.js\";\nimport type { ListTenantsParams } from \"~/types/tenancy.js\";\n\nclass ListTenantsRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(private gateway: ListTenantsGateway.Interface) {}\n\n async list(params?: ListTenantsParams) {\n return await this.gateway.listTenants(params);\n }\n}\n\nexport const ListTenantsRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: ListTenantsRepositoryImpl,\n dependencies: [ListTenantsGateway]\n});\n"],"names":["ListTenantsRepositoryImpl","gateway","params","ListTenantsRepository","createImplementation","RepositoryAbstraction","ListTenantsGateway"],"mappings":";;AAKA,MAAMA;IACF,YAAoBC,OAAqC,CAAE;aAAvCA,OAAO,GAAPA;IAAwC;IAE5D,MAAM,KAAKC,MAA0B,EAAE;QACnC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAACA;IAC1C;AACJ;AAEO,MAAMC,8CAAwBC,qBAAqB;IACtD,aAAaC;IACb,gBAAgBL;IAChB,cAAc;QAACM;KAAmB;AACtC"}
@@ -1,19 +1,21 @@
1
- import { createImplementation, Result } from "@webiny/feature/api";
2
- import { ListTenantsUseCase as UseCaseAbstraction } from "./abstractions.js";
3
- import { ListTenantsRepository } from "./abstractions.js";
1
+ import { Result, createImplementation } from "@webiny/feature/api";
2
+ import { ListTenantsRepository, ListTenantsUseCase } from "./abstractions.js";
4
3
  class ListTenantsUseCaseImpl {
5
- constructor(repository) {
6
- this.repository = repository;
7
- }
8
- async execute(params) {
9
- const tenants = await this.repository.list(params);
10
- return Result.ok(tenants);
11
- }
4
+ constructor(repository){
5
+ this.repository = repository;
6
+ }
7
+ async execute(params) {
8
+ const tenants = await this.repository.list(params);
9
+ return Result.ok(tenants);
10
+ }
12
11
  }
13
- export const ListTenantsUseCase = createImplementation({
14
- abstraction: UseCaseAbstraction,
15
- implementation: ListTenantsUseCaseImpl,
16
- dependencies: [ListTenantsRepository]
12
+ const ListTenantsUseCase_ListTenantsUseCase = createImplementation({
13
+ abstraction: ListTenantsUseCase,
14
+ implementation: ListTenantsUseCaseImpl,
15
+ dependencies: [
16
+ ListTenantsRepository
17
+ ]
17
18
  });
19
+ export { ListTenantsUseCase_ListTenantsUseCase as ListTenantsUseCase };
18
20
 
19
21
  //# sourceMappingURL=ListTenantsUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createImplementation","Result","ListTenantsUseCase","UseCaseAbstraction","ListTenantsRepository","ListTenantsUseCaseImpl","constructor","repository","execute","params","tenants","list","ok","abstraction","implementation","dependencies"],"sources":["ListTenantsUseCase.ts"],"sourcesContent":["import { createImplementation, Result } from \"@webiny/feature/api\";\nimport { ListTenantsUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { ListTenantsRepository } from \"./abstractions.js\";\nimport type { ListTenantsParams } from \"~/types/tenancy.js\";\n\nclass ListTenantsUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(private repository: ListTenantsRepository.Interface) {}\n\n async execute(params?: ListTenantsParams) {\n const tenants = await this.repository.list(params);\n\n return Result.ok(tenants);\n }\n}\n\nexport const ListTenantsUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: ListTenantsUseCaseImpl,\n dependencies: [ListTenantsRepository]\n});\n"],"mappings":"AAAA,SAASA,oBAAoB,EAAEC,MAAM,QAAQ,qBAAqB;AAClE,SAASC,kBAAkB,IAAIC,kBAAkB;AACjD,SAASC,qBAAqB;AAG9B,MAAMC,sBAAsB,CAAyC;EACjEC,WAAWA,CAASC,UAA2C,EAAE;IAAA,KAA7CA,UAA2C,GAA3CA,UAA2C;EAAG;EAElE,MAAMC,OAAOA,CAACC,MAA0B,EAAE;IACtC,MAAMC,OAAO,GAAG,MAAM,IAAI,CAACH,UAAU,CAACI,IAAI,CAACF,MAAM,CAAC;IAElD,OAAOR,MAAM,CAACW,EAAE,CAACF,OAAO,CAAC;EAC7B;AACJ;AAEA,OAAO,MAAMR,kBAAkB,GAAGF,oBAAoB,CAAC;EACnDa,WAAW,EAAEV,kBAAkB;EAC/BW,cAAc,EAAET,sBAAsB;EACtCU,YAAY,EAAE,CAACX,qBAAqB;AACxC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/tenancy/ListTenants/ListTenantsUseCase.js","sources":["../../../../src/features/tenancy/ListTenants/ListTenantsUseCase.ts"],"sourcesContent":["import { createImplementation, Result } from \"@webiny/feature/api\";\nimport { ListTenantsUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { ListTenantsRepository } from \"./abstractions.js\";\nimport type { ListTenantsParams } from \"~/types/tenancy.js\";\n\nclass ListTenantsUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(private repository: ListTenantsRepository.Interface) {}\n\n async execute(params?: ListTenantsParams) {\n const tenants = await this.repository.list(params);\n\n return Result.ok(tenants);\n }\n}\n\nexport const ListTenantsUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: ListTenantsUseCaseImpl,\n dependencies: [ListTenantsRepository]\n});\n"],"names":["ListTenantsUseCaseImpl","repository","params","tenants","Result","ListTenantsUseCase","createImplementation","UseCaseAbstraction","ListTenantsRepository"],"mappings":";;AAKA,MAAMA;IACF,YAAoBC,UAA2C,CAAE;aAA7CA,UAAU,GAAVA;IAA8C;IAElE,MAAM,QAAQC,MAA0B,EAAE;QACtC,MAAMC,UAAU,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAACD;QAE3C,OAAOE,OAAO,EAAE,CAACD;IACrB;AACJ;AAEO,MAAME,wCAAqBC,qBAAqB;IACnD,aAAaC;IACb,gBAAgBP;IAChB,cAAc;QAACQ;KAAsB;AACzC"}
@@ -1,15 +1,7 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
-
3
- // Use Case Abstraction
4
-
5
- export const ListTenantsUseCase = createAbstraction("ListTenantsUseCase");
6
-
7
- // Repository Abstraction
8
-
9
- export const ListTenantsRepository = createAbstraction("ListTenantsRepository");
10
-
11
- // Gateway Abstraction
12
-
13
- export const ListTenantsGateway = createAbstraction("ListTenantsGateway");
2
+ const ListTenantsUseCase = createAbstraction("ListTenantsUseCase");
3
+ const ListTenantsRepository = createAbstraction("ListTenantsRepository");
4
+ const ListTenantsGateway = createAbstraction("ListTenantsGateway");
5
+ export { ListTenantsGateway, ListTenantsRepository, ListTenantsUseCase };
14
6
 
15
7
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","ListTenantsUseCase","ListTenantsRepository","ListTenantsGateway"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { Tenant, ListTenantsParams } from \"~/types/tenancy.js\";\n\n// Use Case Abstraction\nexport interface IListTenantsUseCase {\n execute(params?: ListTenantsParams): Promise<Result<Tenant[]>>;\n}\n\nexport const ListTenantsUseCase = createAbstraction<IListTenantsUseCase>(\"ListTenantsUseCase\");\n\nexport namespace ListTenantsUseCase {\n export type Interface = IListTenantsUseCase;\n}\n\n// Repository Abstraction\nexport interface IListTenantsRepository {\n list(params?: ListTenantsParams): Promise<Tenant[]>;\n}\n\nexport const ListTenantsRepository =\n createAbstraction<IListTenantsRepository>(\"ListTenantsRepository\");\n\nexport namespace ListTenantsRepository {\n export type Interface = IListTenantsRepository;\n}\n\n// Gateway Abstraction\nexport interface IListTenantsGateway {\n listTenants(params?: ListTenantsParams): Promise<Tenant[]>;\n}\n\nexport const ListTenantsGateway = createAbstraction<IListTenantsGateway>(\"ListTenantsGateway\");\n\nexport namespace ListTenantsGateway {\n export type Interface = IListTenantsGateway;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAG/D;;AAKA,OAAO,MAAMC,kBAAkB,GAAGD,iBAAiB,CAAsB,oBAAoB,CAAC;;AAM9F;;AAKA,OAAO,MAAME,qBAAqB,GAC9BF,iBAAiB,CAAyB,uBAAuB,CAAC;;AAMtE;;AAKA,OAAO,MAAMG,kBAAkB,GAAGH,iBAAiB,CAAsB,oBAAoB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/tenancy/ListTenants/abstractions.js","sources":["../../../../src/features/tenancy/ListTenants/abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { Tenant, ListTenantsParams } from \"~/types/tenancy.js\";\n\n// Use Case Abstraction\nexport interface IListTenantsUseCase {\n execute(params?: ListTenantsParams): Promise<Result<Tenant[]>>;\n}\n\nexport const ListTenantsUseCase = createAbstraction<IListTenantsUseCase>(\"ListTenantsUseCase\");\n\nexport namespace ListTenantsUseCase {\n export type Interface = IListTenantsUseCase;\n}\n\n// Repository Abstraction\nexport interface IListTenantsRepository {\n list(params?: ListTenantsParams): Promise<Tenant[]>;\n}\n\nexport const ListTenantsRepository =\n createAbstraction<IListTenantsRepository>(\"ListTenantsRepository\");\n\nexport namespace ListTenantsRepository {\n export type Interface = IListTenantsRepository;\n}\n\n// Gateway Abstraction\nexport interface IListTenantsGateway {\n listTenants(params?: ListTenantsParams): Promise<Tenant[]>;\n}\n\nexport const ListTenantsGateway = createAbstraction<IListTenantsGateway>(\"ListTenantsGateway\");\n\nexport namespace ListTenantsGateway {\n export type Interface = IListTenantsGateway;\n}\n"],"names":["ListTenantsUseCase","createAbstraction","ListTenantsRepository","ListTenantsGateway"],"mappings":";AAQO,MAAMA,qBAAqBC,kBAAuC;AAWlE,MAAMC,wBACTD,kBAA0C;AAWvC,MAAME,qBAAqBF,kBAAuC"}