@webiny/api-core 6.3.0 → 6.4.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (786) hide show
  1. package/ApiCoreFeature.js +18 -18
  2. package/ApiCoreFeature.js.map +1 -1
  3. package/createApiCore.d.ts +1 -1
  4. package/createApiCore.js +14 -9
  5. package/createApiCore.js.map +1 -1
  6. package/domain/identity/SystemIdentityValue.js +9 -8
  7. package/domain/identity/SystemIdentityValue.js.map +1 -1
  8. package/domain/security/ApiToken.js +5 -11
  9. package/domain/security/ApiToken.js.map +1 -1
  10. package/domain/tenancy/RootTenantValue.js +9 -8
  11. package/domain/tenancy/RootTenantValue.js.map +1 -1
  12. package/domain/tenancy/errors.js +0 -3
  13. package/exports/api/build-params.js +0 -3
  14. package/exports/api/event-publisher.js +0 -3
  15. package/exports/api/graphql.js +0 -2
  16. package/exports/api/key-value-store.js +0 -3
  17. package/exports/api/logger.js +0 -3
  18. package/exports/api/security/api-key.js +0 -2
  19. package/exports/api/security/authentication.js +0 -2
  20. package/exports/api/security/role.js +1 -3
  21. package/exports/api/security/user.js +0 -2
  22. package/exports/api/security.js +3 -7
  23. package/exports/api/system.js +0 -2
  24. package/exports/api/tasks.js +0 -2
  25. package/exports/api/tenancy.js +4 -6
  26. package/exports/api.js +1 -3
  27. package/features/ai/Ai.js +100 -117
  28. package/features/ai/Ai.js.map +1 -1
  29. package/features/ai/AiSdkTools.js +23 -19
  30. package/features/ai/AiSdkTools.js.map +1 -1
  31. package/features/ai/AnthropicSdkFactory.js +82 -65
  32. package/features/ai/AnthropicSdkFactory.js.map +1 -1
  33. package/features/ai/OpenAiSdkFactory.js +234 -181
  34. package/features/ai/OpenAiSdkFactory.js.map +1 -1
  35. package/features/ai/abstractions.js +7 -32
  36. package/features/ai/abstractions.js.map +1 -1
  37. package/features/ai/feature.js +9 -8
  38. package/features/ai/feature.js.map +1 -1
  39. package/features/ai/index.js +1 -3
  40. package/features/buildParams/BuildParams.js +20 -14
  41. package/features/buildParams/BuildParams.js.map +1 -1
  42. package/features/buildParams/abstractions.js +3 -4
  43. package/features/buildParams/abstractions.js.map +1 -1
  44. package/features/buildParams/feature.js +6 -5
  45. package/features/buildParams/feature.js.map +1 -1
  46. package/features/buildParams/index.js +0 -2
  47. package/features/encryption/EncryptionService.js +50 -46
  48. package/features/encryption/EncryptionService.js.map +1 -1
  49. package/features/encryption/abstractions.js +2 -2
  50. package/features/encryption/abstractions.js.map +1 -1
  51. package/features/encryption/feature.js +6 -5
  52. package/features/encryption/feature.js.map +1 -1
  53. package/features/encryption/index.js +0 -2
  54. package/features/eventPublisher/EventPublisher.js +9 -15
  55. package/features/eventPublisher/EventPublisher.js.map +1 -1
  56. package/features/eventPublisher/__tests__/EventPublisher.test.js +385 -419
  57. package/features/eventPublisher/__tests__/EventPublisher.test.js.map +1 -1
  58. package/features/eventPublisher/abstractions.js +7 -12
  59. package/features/eventPublisher/abstractions.js.map +1 -1
  60. package/features/eventPublisher/feature.js +8 -7
  61. package/features/eventPublisher/feature.js.map +1 -1
  62. package/features/eventPublisher/index.js +0 -2
  63. package/features/featureFlags/FeatureFlags.js +15 -12
  64. package/features/featureFlags/FeatureFlags.js.map +1 -1
  65. package/features/featureFlags/abstractions.js +2 -1
  66. package/features/featureFlags/abstractions.js.map +1 -1
  67. package/features/featureFlags/feature.js +6 -5
  68. package/features/featureFlags/feature.js.map +1 -1
  69. package/features/keyValueStore/GlobalKeyValueStore.js +28 -23
  70. package/features/keyValueStore/GlobalKeyValueStore.js.map +1 -1
  71. package/features/keyValueStore/KeyValueStore.js +30 -27
  72. package/features/keyValueStore/KeyValueStore.js.map +1 -1
  73. package/features/keyValueStore/KeyValueStoreRepository.d.ts +2 -2
  74. package/features/keyValueStore/KeyValueStoreRepository.js +34 -41
  75. package/features/keyValueStore/KeyValueStoreRepository.js.map +1 -1
  76. package/features/keyValueStore/abstractions.d.ts +6 -2
  77. package/features/keyValueStore/abstractions.js +5 -20
  78. package/features/keyValueStore/abstractions.js.map +1 -1
  79. package/features/keyValueStore/errors.js +16 -17
  80. package/features/keyValueStore/errors.js.map +1 -1
  81. package/features/keyValueStore/feature.js +9 -9
  82. package/features/keyValueStore/feature.js.map +1 -1
  83. package/features/keyValueStore/index.js +1 -3
  84. package/features/logger/LoggerService.js +41 -45
  85. package/features/logger/LoggerService.js.map +1 -1
  86. package/features/logger/abstractions.js +2 -2
  87. package/features/logger/abstractions.js.map +1 -1
  88. package/features/logger/feature.js +6 -5
  89. package/features/logger/feature.js.map +1 -1
  90. package/features/logger/index.js +0 -2
  91. package/features/masker/Masker.js +11 -14
  92. package/features/masker/Masker.js.map +1 -1
  93. package/features/masker/abstractions.js +2 -1
  94. package/features/masker/abstractions.js.map +1 -1
  95. package/features/masker/feature.js +7 -6
  96. package/features/masker/feature.js.map +1 -1
  97. package/features/masker/index.js +0 -2
  98. package/features/security/IdentityContext/AnonymousIdentity.js +12 -16
  99. package/features/security/IdentityContext/AnonymousIdentity.js.map +1 -1
  100. package/features/security/IdentityContext/AuthenticatedIdentity.js +5 -8
  101. package/features/security/IdentityContext/AuthenticatedIdentity.js.map +1 -1
  102. package/features/security/IdentityContext/Identity.js +63 -71
  103. package/features/security/IdentityContext/Identity.js.map +1 -1
  104. package/features/security/IdentityContext/IdentityContext.js +69 -106
  105. package/features/security/IdentityContext/IdentityContext.js.map +1 -1
  106. package/features/security/IdentityContext/abstractions.js +2 -2
  107. package/features/security/IdentityContext/abstractions.js.map +1 -1
  108. package/features/security/IdentityContext/feature.js +6 -5
  109. package/features/security/IdentityContext/feature.js.map +1 -1
  110. package/features/security/IdentityContext/index.js +0 -3
  111. package/features/security/SecurityFeature.js +13 -21
  112. package/features/security/SecurityFeature.js.map +1 -1
  113. package/features/security/apiKeys/CreateApiKey/CreateApiKeyUseCase.js +48 -49
  114. package/features/security/apiKeys/CreateApiKey/CreateApiKeyUseCase.js.map +1 -1
  115. package/features/security/apiKeys/CreateApiKey/abstractions.js +2 -2
  116. package/features/security/apiKeys/CreateApiKey/abstractions.js.map +1 -1
  117. package/features/security/apiKeys/CreateApiKey/events.js +17 -16
  118. package/features/security/apiKeys/CreateApiKey/events.js.map +1 -1
  119. package/features/security/apiKeys/CreateApiKey/feature.js +6 -5
  120. package/features/security/apiKeys/CreateApiKey/feature.js.map +1 -1
  121. package/features/security/apiKeys/CreateApiKey/index.js +0 -2
  122. package/features/security/apiKeys/DeleteApiKey/DeleteApiKeyUseCase.js +29 -30
  123. package/features/security/apiKeys/DeleteApiKey/DeleteApiKeyUseCase.js.map +1 -1
  124. package/features/security/apiKeys/DeleteApiKey/abstractions.js +2 -2
  125. package/features/security/apiKeys/DeleteApiKey/abstractions.js.map +1 -1
  126. package/features/security/apiKeys/DeleteApiKey/events.js +17 -16
  127. package/features/security/apiKeys/DeleteApiKey/events.js.map +1 -1
  128. package/features/security/apiKeys/DeleteApiKey/feature.js +6 -5
  129. package/features/security/apiKeys/DeleteApiKey/feature.js.map +1 -1
  130. package/features/security/apiKeys/DeleteApiKey/index.js +0 -2
  131. package/features/security/apiKeys/GetApiKey/GetApiKeyUseCase.js +16 -14
  132. package/features/security/apiKeys/GetApiKey/GetApiKeyUseCase.js.map +1 -1
  133. package/features/security/apiKeys/GetApiKey/abstractions.js +2 -2
  134. package/features/security/apiKeys/GetApiKey/abstractions.js.map +1 -1
  135. package/features/security/apiKeys/GetApiKey/feature.js +6 -5
  136. package/features/security/apiKeys/GetApiKey/feature.js.map +1 -1
  137. package/features/security/apiKeys/GetApiKey/index.js +0 -2
  138. package/features/security/apiKeys/GetApiKeyBySlug/GetApiKeyBySlugUseCase.js +13 -10
  139. package/features/security/apiKeys/GetApiKeyBySlug/GetApiKeyBySlugUseCase.js.map +1 -1
  140. package/features/security/apiKeys/GetApiKeyBySlug/abstractions.js +2 -2
  141. package/features/security/apiKeys/GetApiKeyBySlug/abstractions.js.map +1 -1
  142. package/features/security/apiKeys/GetApiKeyBySlug/feature.js +6 -5
  143. package/features/security/apiKeys/GetApiKeyBySlug/feature.js.map +1 -1
  144. package/features/security/apiKeys/GetApiKeyBySlug/index.js +0 -2
  145. package/features/security/apiKeys/GetApiKeyByToken/GetApiKeyByTokenUseCase.js +13 -10
  146. package/features/security/apiKeys/GetApiKeyByToken/GetApiKeyByTokenUseCase.js.map +1 -1
  147. package/features/security/apiKeys/GetApiKeyByToken/abstractions.js +2 -2
  148. package/features/security/apiKeys/GetApiKeyByToken/abstractions.js.map +1 -1
  149. package/features/security/apiKeys/GetApiKeyByToken/feature.js +6 -5
  150. package/features/security/apiKeys/GetApiKeyByToken/feature.js.map +1 -1
  151. package/features/security/apiKeys/GetApiKeyByToken/index.js +0 -2
  152. package/features/security/apiKeys/ListApiKeys/ListApiKeysUseCase.js +17 -17
  153. package/features/security/apiKeys/ListApiKeys/ListApiKeysUseCase.js.map +1 -1
  154. package/features/security/apiKeys/ListApiKeys/abstractions.js +2 -2
  155. package/features/security/apiKeys/ListApiKeys/abstractions.js.map +1 -1
  156. package/features/security/apiKeys/ListApiKeys/feature.js +6 -5
  157. package/features/security/apiKeys/ListApiKeys/feature.js.map +1 -1
  158. package/features/security/apiKeys/ListApiKeys/index.js +0 -2
  159. package/features/security/apiKeys/UpdateApiKey/UpdateApiKeyUseCase.js +39 -42
  160. package/features/security/apiKeys/UpdateApiKey/UpdateApiKeyUseCase.js.map +1 -1
  161. package/features/security/apiKeys/UpdateApiKey/abstractions.js +2 -2
  162. package/features/security/apiKeys/UpdateApiKey/abstractions.js.map +1 -1
  163. package/features/security/apiKeys/UpdateApiKey/events.js +17 -16
  164. package/features/security/apiKeys/UpdateApiKey/events.js.map +1 -1
  165. package/features/security/apiKeys/UpdateApiKey/feature.js +6 -5
  166. package/features/security/apiKeys/UpdateApiKey/feature.js.map +1 -1
  167. package/features/security/apiKeys/UpdateApiKey/index.js +0 -2
  168. package/features/security/apiKeys/feature.js +14 -16
  169. package/features/security/apiKeys/feature.js.map +1 -1
  170. package/features/security/apiKeys/shared/ApiKeyProvider.js +42 -42
  171. package/features/security/apiKeys/shared/ApiKeyProvider.js.map +1 -1
  172. package/features/security/apiKeys/shared/ApiKeysRepository.js +108 -135
  173. package/features/security/apiKeys/shared/ApiKeysRepository.js.map +1 -1
  174. package/features/security/apiKeys/shared/abstractions.js +4 -6
  175. package/features/security/apiKeys/shared/abstractions.js.map +1 -1
  176. package/features/security/apiKeys/shared/errors.js +29 -32
  177. package/features/security/apiKeys/shared/errors.js.map +1 -1
  178. package/features/security/apiKeys/shared/generateToken.js +6 -16
  179. package/features/security/apiKeys/shared/generateToken.js.map +1 -1
  180. package/features/security/apiKeys/shared/schemas.js +27 -23
  181. package/features/security/apiKeys/shared/schemas.js.map +1 -1
  182. package/features/security/apiKeys/shared/types.js +0 -3
  183. package/features/security/authentication/AuthenticationContext/AuthenticationContext.js +44 -38
  184. package/features/security/authentication/AuthenticationContext/AuthenticationContext.js.map +1 -1
  185. package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.js +33 -43
  186. package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.js.map +1 -1
  187. package/features/security/authentication/AuthenticationContext/abstractions.js +2 -2
  188. package/features/security/authentication/AuthenticationContext/abstractions.js.map +1 -1
  189. package/features/security/authentication/AuthenticationContext/errors.js +51 -116
  190. package/features/security/authentication/AuthenticationContext/errors.js.map +1 -1
  191. package/features/security/authentication/AuthenticationContext/events.js +17 -16
  192. package/features/security/authentication/AuthenticationContext/events.js.map +1 -1
  193. package/features/security/authentication/AuthenticationContext/feature.js +6 -5
  194. package/features/security/authentication/AuthenticationContext/feature.js.map +1 -1
  195. package/features/security/authentication/AuthenticationContext/index.js +2 -4
  196. package/features/security/authentication/Authenticator/abstractions.js +2 -2
  197. package/features/security/authentication/Authenticator/abstractions.js.map +1 -1
  198. package/features/security/authentication/Authenticator/index.js +0 -2
  199. package/features/security/authorization/AuthorizationContext/AuthorizationContext.js +46 -59
  200. package/features/security/authorization/AuthorizationContext/AuthorizationContext.js.map +1 -1
  201. package/features/security/authorization/AuthorizationContext/abstractions.js +3 -4
  202. package/features/security/authorization/AuthorizationContext/abstractions.js.map +1 -1
  203. package/features/security/authorization/AuthorizationContext/feature.js +10 -9
  204. package/features/security/authorization/AuthorizationContext/feature.js.map +1 -1
  205. package/features/security/authorization/AuthorizationContext/index.js +1 -4
  206. package/features/security/authorization/Authorizer/abstractions.js +2 -2
  207. package/features/security/authorization/Authorizer/abstractions.js.map +1 -1
  208. package/features/security/authorization/Authorizer/index.js +0 -2
  209. package/features/security/authorization/GroupsTeamsAuthorizer/GetPermissionsFromIdentity.js +60 -64
  210. package/features/security/authorization/GroupsTeamsAuthorizer/GetPermissionsFromIdentity.js.map +1 -1
  211. package/features/security/authorization/GroupsTeamsAuthorizer/RolesTeamsAuthorizer.js +26 -40
  212. package/features/security/authorization/GroupsTeamsAuthorizer/RolesTeamsAuthorizer.js.map +1 -1
  213. package/features/security/authorization/GroupsTeamsAuthorizer/abstractions.js +2 -1
  214. package/features/security/authorization/GroupsTeamsAuthorizer/abstractions.js.map +1 -1
  215. package/features/security/authorization/GroupsTeamsAuthorizer/feature.js +7 -6
  216. package/features/security/authorization/GroupsTeamsAuthorizer/feature.js.map +1 -1
  217. package/features/security/login/abstractions.js +9 -8
  218. package/features/security/login/abstractions.js.map +1 -1
  219. package/features/security/login/index.js +0 -2
  220. package/features/security/permissions/createPermissionSchema.js +6 -5
  221. package/features/security/permissions/createPermissionSchema.js.map +1 -1
  222. package/features/security/permissions/createPermissions.js +148 -236
  223. package/features/security/permissions/createPermissions.js.map +1 -1
  224. package/features/security/permissions/index.js +0 -2
  225. package/features/security/permissions/types.js +0 -3
  226. package/features/security/roles/CreateRole/CreateRoleUseCase.js +53 -59
  227. package/features/security/roles/CreateRole/CreateRoleUseCase.js.map +1 -1
  228. package/features/security/roles/CreateRole/abstractions.js +2 -2
  229. package/features/security/roles/CreateRole/abstractions.js.map +1 -1
  230. package/features/security/roles/CreateRole/events.js +17 -16
  231. package/features/security/roles/CreateRole/events.js.map +1 -1
  232. package/features/security/roles/CreateRole/feature.js +6 -5
  233. package/features/security/roles/CreateRole/feature.js.map +1 -1
  234. package/features/security/roles/CreateRole/index.js +0 -2
  235. package/features/security/roles/CreateRole/schema.js +8 -7
  236. package/features/security/roles/CreateRole/schema.js.map +1 -1
  237. package/features/security/roles/DeleteRole/DeleteRoleUseCase.js +35 -41
  238. package/features/security/roles/DeleteRole/DeleteRoleUseCase.js.map +1 -1
  239. package/features/security/roles/DeleteRole/abstractions.js +2 -2
  240. package/features/security/roles/DeleteRole/abstractions.js.map +1 -1
  241. package/features/security/roles/DeleteRole/events.js +17 -16
  242. package/features/security/roles/DeleteRole/events.js.map +1 -1
  243. package/features/security/roles/DeleteRole/feature.js +6 -5
  244. package/features/security/roles/DeleteRole/feature.js.map +1 -1
  245. package/features/security/roles/DeleteRole/index.js +0 -2
  246. package/features/security/roles/GetRole/GetRoleUseCase.js +19 -18
  247. package/features/security/roles/GetRole/GetRoleUseCase.js.map +1 -1
  248. package/features/security/roles/GetRole/abstractions.js +2 -2
  249. package/features/security/roles/GetRole/abstractions.js.map +1 -1
  250. package/features/security/roles/GetRole/feature.js +6 -5
  251. package/features/security/roles/GetRole/feature.js.map +1 -1
  252. package/features/security/roles/GetRole/index.js +0 -2
  253. package/features/security/roles/Installer/RolesInstaller.js +38 -35
  254. package/features/security/roles/Installer/RolesInstaller.js.map +1 -1
  255. package/features/security/roles/ListRoles/ListRolesUseCase.js +18 -17
  256. package/features/security/roles/ListRoles/ListRolesUseCase.js.map +1 -1
  257. package/features/security/roles/ListRoles/abstractions.js +2 -2
  258. package/features/security/roles/ListRoles/abstractions.js.map +1 -1
  259. package/features/security/roles/ListRoles/feature.js +6 -5
  260. package/features/security/roles/ListRoles/feature.js.map +1 -1
  261. package/features/security/roles/ListRoles/index.js +0 -2
  262. package/features/security/roles/UpdateRole/UpdateRoleUseCase.js +43 -50
  263. package/features/security/roles/UpdateRole/UpdateRoleUseCase.js.map +1 -1
  264. package/features/security/roles/UpdateRole/abstractions.js +2 -2
  265. package/features/security/roles/UpdateRole/abstractions.js.map +1 -1
  266. package/features/security/roles/UpdateRole/events.js +17 -16
  267. package/features/security/roles/UpdateRole/events.js.map +1 -1
  268. package/features/security/roles/UpdateRole/feature.js +6 -5
  269. package/features/security/roles/UpdateRole/feature.js.map +1 -1
  270. package/features/security/roles/UpdateRole/index.js +0 -2
  271. package/features/security/roles/UpdateRole/schema.js +7 -6
  272. package/features/security/roles/UpdateRole/schema.js.map +1 -1
  273. package/features/security/roles/feature.js +14 -18
  274. package/features/security/roles/feature.js.map +1 -1
  275. package/features/security/roles/shared/RoleProvider.js +27 -21
  276. package/features/security/roles/shared/RoleProvider.js.map +1 -1
  277. package/features/security/roles/shared/RolesRepository.js +96 -113
  278. package/features/security/roles/shared/RolesRepository.js.map +1 -1
  279. package/features/security/roles/shared/abstractions.js +3 -4
  280. package/features/security/roles/shared/abstractions.js.map +1 -1
  281. package/features/security/roles/shared/decorators/ListCache.js +23 -22
  282. package/features/security/roles/shared/decorators/ListCache.js.map +1 -1
  283. package/features/security/roles/shared/decorators/RolesRepositoryCachingDecorator.js +40 -62
  284. package/features/security/roles/shared/decorators/RolesRepositoryCachingDecorator.js.map +1 -1
  285. package/features/security/roles/shared/errors.js +50 -56
  286. package/features/security/roles/shared/errors.js.map +1 -1
  287. package/features/security/roles/shared/types.js +0 -3
  288. package/features/security/shared/abstractions.js +4 -6
  289. package/features/security/shared/abstractions.js.map +1 -1
  290. package/features/security/shared/errors.js +8 -8
  291. package/features/security/shared/errors.js.map +1 -1
  292. package/features/security/shared/index.js +0 -2
  293. package/features/security/teams/CreateTeam/CreateTeamUseCase.js +53 -59
  294. package/features/security/teams/CreateTeam/CreateTeamUseCase.js.map +1 -1
  295. package/features/security/teams/CreateTeam/abstractions.js +2 -2
  296. package/features/security/teams/CreateTeam/abstractions.js.map +1 -1
  297. package/features/security/teams/CreateTeam/events.js +17 -16
  298. package/features/security/teams/CreateTeam/events.js.map +1 -1
  299. package/features/security/teams/CreateTeam/feature.js +6 -5
  300. package/features/security/teams/CreateTeam/feature.js.map +1 -1
  301. package/features/security/teams/CreateTeam/index.js +0 -2
  302. package/features/security/teams/CreateTeam/schema.js +6 -5
  303. package/features/security/teams/CreateTeam/schema.js.map +1 -1
  304. package/features/security/teams/DeleteTeam/DeleteTeamUseCase.js +36 -46
  305. package/features/security/teams/DeleteTeam/DeleteTeamUseCase.js.map +1 -1
  306. package/features/security/teams/DeleteTeam/abstractions.js +2 -2
  307. package/features/security/teams/DeleteTeam/abstractions.js.map +1 -1
  308. package/features/security/teams/DeleteTeam/events.js +17 -16
  309. package/features/security/teams/DeleteTeam/events.js.map +1 -1
  310. package/features/security/teams/DeleteTeam/feature.js +6 -5
  311. package/features/security/teams/DeleteTeam/feature.js.map +1 -1
  312. package/features/security/teams/DeleteTeam/index.js +0 -2
  313. package/features/security/teams/GetTeam/GetTeamUseCase.js +17 -17
  314. package/features/security/teams/GetTeam/GetTeamUseCase.js.map +1 -1
  315. package/features/security/teams/GetTeam/abstractions.js +2 -2
  316. package/features/security/teams/GetTeam/abstractions.js.map +1 -1
  317. package/features/security/teams/GetTeam/feature.js +6 -5
  318. package/features/security/teams/GetTeam/feature.js.map +1 -1
  319. package/features/security/teams/GetTeam/index.js +0 -2
  320. package/features/security/teams/ListTeams/ListTeamsUseCase.js +20 -21
  321. package/features/security/teams/ListTeams/ListTeamsUseCase.js.map +1 -1
  322. package/features/security/teams/ListTeams/abstractions.js +2 -2
  323. package/features/security/teams/ListTeams/abstractions.js.map +1 -1
  324. package/features/security/teams/ListTeams/feature.js +6 -5
  325. package/features/security/teams/ListTeams/feature.js.map +1 -1
  326. package/features/security/teams/ListTeams/index.js +0 -2
  327. package/features/security/teams/UpdateTeam/UpdateTeamUseCase.js +46 -58
  328. package/features/security/teams/UpdateTeam/UpdateTeamUseCase.js.map +1 -1
  329. package/features/security/teams/UpdateTeam/abstractions.js +2 -2
  330. package/features/security/teams/UpdateTeam/abstractions.js.map +1 -1
  331. package/features/security/teams/UpdateTeam/events.js +17 -16
  332. package/features/security/teams/UpdateTeam/events.js.map +1 -1
  333. package/features/security/teams/UpdateTeam/feature.js +6 -5
  334. package/features/security/teams/UpdateTeam/feature.js.map +1 -1
  335. package/features/security/teams/UpdateTeam/index.js +0 -2
  336. package/features/security/teams/UpdateTeam/schema.js +5 -4
  337. package/features/security/teams/UpdateTeam/schema.js.map +1 -1
  338. package/features/security/teams/feature.js +13 -17
  339. package/features/security/teams/feature.js.map +1 -1
  340. package/features/security/teams/shared/TeamProvider.js +27 -21
  341. package/features/security/teams/shared/TeamProvider.js.map +1 -1
  342. package/features/security/teams/shared/TeamsRepository.js +100 -118
  343. package/features/security/teams/shared/TeamsRepository.js.map +1 -1
  344. package/features/security/teams/shared/abstractions.js +3 -4
  345. package/features/security/teams/shared/abstractions.js.map +1 -1
  346. package/features/security/teams/shared/decorators/TeamsRepositoryCachingDecorator.js +40 -62
  347. package/features/security/teams/shared/decorators/TeamsRepositoryCachingDecorator.js.map +1 -1
  348. package/features/security/teams/shared/errors.js +62 -70
  349. package/features/security/teams/shared/errors.js.map +1 -1
  350. package/features/security/teams/shared/types.js +0 -3
  351. package/features/security/utils/AppPermissions.js +50 -89
  352. package/features/security/utils/AppPermissions.js.map +1 -1
  353. package/features/security/utils/IdentityValue.js +19 -22
  354. package/features/security/utils/IdentityValue.js.map +1 -1
  355. package/features/security/utils/filterOutCustomWbyAppsPermissions.js +24 -27
  356. package/features/security/utils/filterOutCustomWbyAppsPermissions.js.map +1 -1
  357. package/features/security/utils/getPermissionsFromRoles.js +5 -10
  358. package/features/security/utils/getPermissionsFromRoles.js.map +1 -1
  359. package/features/security/utils/isJwt.js +2 -1
  360. package/features/security/utils/isJwt.js.map +1 -1
  361. package/features/security/utils/verifyJwtUsingJwk.js +6 -7
  362. package/features/security/utils/verifyJwtUsingJwk.js.map +1 -1
  363. package/features/system/InstallSystem/InstallSystemUseCase.js +45 -44
  364. package/features/system/InstallSystem/InstallSystemUseCase.js.map +1 -1
  365. package/features/system/InstallSystem/abstractions.js +3 -17
  366. package/features/system/InstallSystem/abstractions.js.map +1 -1
  367. package/features/system/InstallSystem/errors.js +15 -16
  368. package/features/system/InstallSystem/errors.js.map +1 -1
  369. package/features/system/InstallSystem/events.js +8 -5
  370. package/features/system/InstallSystem/events.js.map +1 -1
  371. package/features/system/InstallSystem/feature.js +6 -7
  372. package/features/system/InstallSystem/feature.js.map +1 -1
  373. package/features/system/InstallSystem/index.js +2 -6
  374. package/features/system/SystemFeature.js +6 -5
  375. package/features/system/SystemFeature.js.map +1 -1
  376. package/features/task/TaskController/abstractions.js +2 -10
  377. package/features/task/TaskController/abstractions.js.map +1 -1
  378. package/features/task/TaskController/index.js +0 -2
  379. package/features/task/TaskDefinition/abstractions.js +8 -40
  380. package/features/task/TaskDefinition/abstractions.js.map +1 -1
  381. package/features/task/TaskDefinition/index.js +0 -2
  382. package/features/task/TaskService/abstractions.js +9 -13
  383. package/features/task/TaskService/abstractions.js.map +1 -1
  384. package/features/task/TaskService/index.js +0 -2
  385. package/features/tenancy/CreateTenant/CreateTenantGateway.js +14 -11
  386. package/features/tenancy/CreateTenant/CreateTenantGateway.js.map +1 -1
  387. package/features/tenancy/CreateTenant/CreateTenantRepository.js +18 -15
  388. package/features/tenancy/CreateTenant/CreateTenantRepository.js.map +1 -1
  389. package/features/tenancy/CreateTenant/CreateTenantUseCase.js +44 -41
  390. package/features/tenancy/CreateTenant/CreateTenantUseCase.js.map +1 -1
  391. package/features/tenancy/CreateTenant/abstractions.js +6 -29
  392. package/features/tenancy/CreateTenant/abstractions.js.map +1 -1
  393. package/features/tenancy/CreateTenant/decorators/CreateTenantWithWcpIncrement.js +16 -15
  394. package/features/tenancy/CreateTenant/decorators/CreateTenantWithWcpIncrement.js.map +1 -1
  395. package/features/tenancy/CreateTenant/errors.js +8 -8
  396. package/features/tenancy/CreateTenant/errors.js.map +1 -1
  397. package/features/tenancy/CreateTenant/events.js +16 -11
  398. package/features/tenancy/CreateTenant/events.js.map +1 -1
  399. package/features/tenancy/CreateTenant/feature.js +9 -8
  400. package/features/tenancy/CreateTenant/feature.js.map +1 -1
  401. package/features/tenancy/CreateTenant/index.js +2 -4
  402. package/features/tenancy/DeleteTenant/DeleteTenantGateway.js +15 -12
  403. package/features/tenancy/DeleteTenant/DeleteTenantGateway.js.map +1 -1
  404. package/features/tenancy/DeleteTenant/DeleteTenantRepository.js +22 -19
  405. package/features/tenancy/DeleteTenant/DeleteTenantRepository.js.map +1 -1
  406. package/features/tenancy/DeleteTenant/DeleteTenantUseCase.js +29 -27
  407. package/features/tenancy/DeleteTenant/DeleteTenantUseCase.js.map +1 -1
  408. package/features/tenancy/DeleteTenant/abstractions.js +6 -10
  409. package/features/tenancy/DeleteTenant/abstractions.js.map +1 -1
  410. package/features/tenancy/DeleteTenant/decorators/DeleteTenantWithWcpDecrement.js +16 -13
  411. package/features/tenancy/DeleteTenant/decorators/DeleteTenantWithWcpDecrement.js.map +1 -1
  412. package/features/tenancy/DeleteTenant/events.js +16 -11
  413. package/features/tenancy/DeleteTenant/events.js.map +1 -1
  414. package/features/tenancy/DeleteTenant/feature.js +9 -8
  415. package/features/tenancy/DeleteTenant/feature.js.map +1 -1
  416. package/features/tenancy/DeleteTenant/index.js +2 -4
  417. package/features/tenancy/GetRootTenant/GetRootTenantUseCase.js +15 -12
  418. package/features/tenancy/GetRootTenant/GetRootTenantUseCase.js.map +1 -1
  419. package/features/tenancy/GetRootTenant/abstractions.js +2 -4
  420. package/features/tenancy/GetRootTenant/abstractions.js.map +1 -1
  421. package/features/tenancy/GetRootTenant/feature.js +6 -5
  422. package/features/tenancy/GetRootTenant/feature.js.map +1 -1
  423. package/features/tenancy/GetRootTenant/index.js +0 -2
  424. package/features/tenancy/GetTenantById/GetTenantByIdGateway.js +17 -12
  425. package/features/tenancy/GetTenantById/GetTenantByIdGateway.js.map +1 -1
  426. package/features/tenancy/GetTenantById/GetTenantByIdRepository.js +18 -19
  427. package/features/tenancy/GetTenantById/GetTenantByIdRepository.js.map +1 -1
  428. package/features/tenancy/GetTenantById/GetTenantByIdUseCase.js +17 -17
  429. package/features/tenancy/GetTenantById/GetTenantByIdUseCase.js.map +1 -1
  430. package/features/tenancy/GetTenantById/abstractions.js +4 -6
  431. package/features/tenancy/GetTenantById/abstractions.js.map +1 -1
  432. package/features/tenancy/GetTenantById/feature.js +8 -12
  433. package/features/tenancy/GetTenantById/feature.js.map +1 -1
  434. package/features/tenancy/GetTenantById/index.js +1 -3
  435. package/features/tenancy/InstallTenant/DependencyResolver.js +53 -65
  436. package/features/tenancy/InstallTenant/DependencyResolver.js.map +1 -1
  437. package/features/tenancy/InstallTenant/InstallTenantUseCase.js +95 -113
  438. package/features/tenancy/InstallTenant/InstallTenantUseCase.js.map +1 -1
  439. package/features/tenancy/InstallTenant/abstractions.js +4 -15
  440. package/features/tenancy/InstallTenant/abstractions.js.map +1 -1
  441. package/features/tenancy/InstallTenant/errors.js +15 -16
  442. package/features/tenancy/InstallTenant/errors.js.map +1 -1
  443. package/features/tenancy/InstallTenant/events.js +8 -5
  444. package/features/tenancy/InstallTenant/events.js.map +1 -1
  445. package/features/tenancy/InstallTenant/feature.js +6 -5
  446. package/features/tenancy/InstallTenant/feature.js.map +1 -1
  447. package/features/tenancy/InstallTenant/index.js +1 -3
  448. package/features/tenancy/ListTenants/ListTenantsGateway.js +14 -11
  449. package/features/tenancy/ListTenants/ListTenantsGateway.js.map +1 -1
  450. package/features/tenancy/ListTenants/ListTenantsRepository.js +14 -12
  451. package/features/tenancy/ListTenants/ListTenantsRepository.js.map +1 -1
  452. package/features/tenancy/ListTenants/ListTenantsUseCase.js +16 -14
  453. package/features/tenancy/ListTenants/ListTenantsUseCase.js.map +1 -1
  454. package/features/tenancy/ListTenants/abstractions.js +4 -12
  455. package/features/tenancy/ListTenants/abstractions.js.map +1 -1
  456. package/features/tenancy/ListTenants/feature.js +8 -7
  457. package/features/tenancy/ListTenants/feature.js.map +1 -1
  458. package/features/tenancy/ListTenants/index.js +1 -3
  459. package/features/tenancy/TenancyFeature.js +20 -26
  460. package/features/tenancy/TenancyFeature.js.map +1 -1
  461. package/features/tenancy/TenantContext/TenantContext.js +46 -48
  462. package/features/tenancy/TenantContext/TenantContext.js.map +1 -1
  463. package/features/tenancy/TenantContext/abstractions.js +2 -2
  464. package/features/tenancy/TenantContext/abstractions.js.map +1 -1
  465. package/features/tenancy/TenantContext/errors.js +7 -7
  466. package/features/tenancy/TenantContext/errors.js.map +1 -1
  467. package/features/tenancy/TenantContext/feature.js +6 -5
  468. package/features/tenancy/TenantContext/feature.js.map +1 -1
  469. package/features/tenancy/TenantContext/index.js +0 -2
  470. package/features/tenancy/UpdateTenant/UpdateTenantGateway.js +14 -11
  471. package/features/tenancy/UpdateTenant/UpdateTenantGateway.js.map +1 -1
  472. package/features/tenancy/UpdateTenant/UpdateTenantRepository.js +19 -16
  473. package/features/tenancy/UpdateTenant/UpdateTenantRepository.js.map +1 -1
  474. package/features/tenancy/UpdateTenant/UpdateTenantUseCase.js +37 -36
  475. package/features/tenancy/UpdateTenant/UpdateTenantUseCase.js.map +1 -1
  476. package/features/tenancy/UpdateTenant/abstractions.js +6 -10
  477. package/features/tenancy/UpdateTenant/abstractions.js.map +1 -1
  478. package/features/tenancy/UpdateTenant/events.js +16 -11
  479. package/features/tenancy/UpdateTenant/events.js.map +1 -1
  480. package/features/tenancy/UpdateTenant/feature.js +8 -7
  481. package/features/tenancy/UpdateTenant/feature.js.map +1 -1
  482. package/features/tenancy/UpdateTenant/index.js +2 -4
  483. package/features/tenancy/shared/TenantCache.js +18 -17
  484. package/features/tenancy/shared/TenantCache.js.map +1 -1
  485. package/features/tenancy/shared/abstractions.js +2 -1
  486. package/features/tenancy/shared/abstractions.js.map +1 -1
  487. package/features/tenancy/shared/storageOperations.js +2 -5
  488. package/features/tenancy/shared/storageOperations.js.map +1 -1
  489. package/features/users/AdminUsersFeature.js +15 -19
  490. package/features/users/AdminUsersFeature.js.map +1 -1
  491. package/features/users/CreateUser/CreateUserUseCase.js +65 -100
  492. package/features/users/CreateUser/CreateUserUseCase.js.map +1 -1
  493. package/features/users/CreateUser/abstractions.js +2 -13
  494. package/features/users/CreateUser/abstractions.js.map +1 -1
  495. package/features/users/CreateUser/decorators/CreateUserWithWcpIncrement.js +16 -15
  496. package/features/users/CreateUser/decorators/CreateUserWithWcpIncrement.js.map +1 -1
  497. package/features/users/CreateUser/events.js +17 -18
  498. package/features/users/CreateUser/events.js.map +1 -1
  499. package/features/users/CreateUser/feature.js +7 -6
  500. package/features/users/CreateUser/feature.js.map +1 -1
  501. package/features/users/CreateUser/index.js +0 -2
  502. package/features/users/CreateUser/schema.js +14 -18
  503. package/features/users/CreateUser/schema.js.map +1 -1
  504. package/features/users/DeleteUser/DeleteUserUseCase.js +35 -50
  505. package/features/users/DeleteUser/DeleteUserUseCase.js.map +1 -1
  506. package/features/users/DeleteUser/abstractions.js +2 -13
  507. package/features/users/DeleteUser/abstractions.js.map +1 -1
  508. package/features/users/DeleteUser/decorators/DeleteUserWithWcpDecrement.js +15 -16
  509. package/features/users/DeleteUser/decorators/DeleteUserWithWcpDecrement.js.map +1 -1
  510. package/features/users/DeleteUser/errors.js +7 -7
  511. package/features/users/DeleteUser/errors.js.map +1 -1
  512. package/features/users/DeleteUser/events.js +17 -18
  513. package/features/users/DeleteUser/events.js.map +1 -1
  514. package/features/users/DeleteUser/feature.js +7 -6
  515. package/features/users/DeleteUser/feature.js.map +1 -1
  516. package/features/users/DeleteUser/index.js +0 -2
  517. package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.js +60 -74
  518. package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.js.map +1 -1
  519. package/features/users/ExternalIdpUserSync/feature.js +6 -5
  520. package/features/users/ExternalIdpUserSync/feature.js.map +1 -1
  521. package/features/users/ExternalIdpUserSync/index.js +0 -2
  522. package/features/users/GetIdentityProfile/GetIdentityProfileUseCase.js +29 -39
  523. package/features/users/GetIdentityProfile/GetIdentityProfileUseCase.js.map +1 -1
  524. package/features/users/GetIdentityProfile/abstractions.js +2 -11
  525. package/features/users/GetIdentityProfile/abstractions.js.map +1 -1
  526. package/features/users/GetIdentityProfile/feature.js +6 -5
  527. package/features/users/GetIdentityProfile/feature.js.map +1 -1
  528. package/features/users/GetIdentityProfile/index.js +0 -2
  529. package/features/users/GetIdentityProfile/types.js +0 -3
  530. package/features/users/GetUser/GetUserUseCase.js +19 -23
  531. package/features/users/GetUser/GetUserUseCase.js.map +1 -1
  532. package/features/users/GetUser/abstractions.js +2 -11
  533. package/features/users/GetUser/abstractions.js.map +1 -1
  534. package/features/users/GetUser/feature.js +6 -5
  535. package/features/users/GetUser/feature.js.map +1 -1
  536. package/features/users/GetUser/index.js +0 -2
  537. package/features/users/ListUserTeams/ListUserTeamsUseCase.js +33 -42
  538. package/features/users/ListUserTeams/ListUserTeamsUseCase.js.map +1 -1
  539. package/features/users/ListUserTeams/abstractions.js +2 -11
  540. package/features/users/ListUserTeams/abstractions.js.map +1 -1
  541. package/features/users/ListUserTeams/feature.js +6 -5
  542. package/features/users/ListUserTeams/feature.js.map +1 -1
  543. package/features/users/ListUserTeams/index.js +0 -2
  544. package/features/users/ListUsers/ListUsersUseCase.js +19 -23
  545. package/features/users/ListUsers/ListUsersUseCase.js.map +1 -1
  546. package/features/users/ListUsers/abstractions.js +2 -11
  547. package/features/users/ListUsers/abstractions.js.map +1 -1
  548. package/features/users/ListUsers/feature.js +6 -5
  549. package/features/users/ListUsers/feature.js.map +1 -1
  550. package/features/users/ListUsers/index.js +0 -2
  551. package/features/users/UpdateUser/UpdateUserUseCase.js +52 -74
  552. package/features/users/UpdateUser/UpdateUserUseCase.js.map +1 -1
  553. package/features/users/UpdateUser/abstractions.js +2 -13
  554. package/features/users/UpdateUser/abstractions.js.map +1 -1
  555. package/features/users/UpdateUser/events.js +17 -18
  556. package/features/users/UpdateUser/events.js.map +1 -1
  557. package/features/users/UpdateUser/feature.js +6 -5
  558. package/features/users/UpdateUser/feature.js.map +1 -1
  559. package/features/users/UpdateUser/index.js +0 -2
  560. package/features/users/UpdateUser/schema.js +11 -10
  561. package/features/users/UpdateUser/schema.js.map +1 -1
  562. package/features/users/shared/AdminUsersRepository.js +104 -112
  563. package/features/users/shared/AdminUsersRepository.js.map +1 -1
  564. package/features/users/shared/abstractions.js +2 -9
  565. package/features/users/shared/abstractions.js.map +1 -1
  566. package/features/users/shared/errors.js +40 -46
  567. package/features/users/shared/errors.js.map +1 -1
  568. package/features/users/shared/loaders.js +52 -66
  569. package/features/users/shared/loaders.js.map +1 -1
  570. package/features/users/shared/storageAbstractions.js +2 -2
  571. package/features/users/shared/storageAbstractions.js.map +1 -1
  572. package/features/users/shared/types.js +0 -3
  573. package/features/wcp/WcpContext/WcpContext.js +138 -142
  574. package/features/wcp/WcpContext/WcpContext.js.map +1 -1
  575. package/features/wcp/WcpContext/abstractions.js +2 -6
  576. package/features/wcp/WcpContext/abstractions.js.map +1 -1
  577. package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.js +135 -134
  578. package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.js.map +1 -1
  579. package/features/wcp/WcpContext/feature.js +6 -5
  580. package/features/wcp/WcpContext/feature.js.map +1 -1
  581. package/features/wcp/WcpContext/index.js +0 -2
  582. package/features/wcp/WcpContext/types.js +0 -3
  583. package/features/wcp/WcpContext/utils.js +35 -53
  584. package/features/wcp/WcpContext/utils.js.map +1 -1
  585. package/features/wcp/WcpFeature.js +7 -6
  586. package/features/wcp/WcpFeature.js.map +1 -1
  587. package/graphql/security/NotAuthorizedResponse.js +11 -14
  588. package/graphql/security/NotAuthorizedResponse.js.map +1 -1
  589. package/graphql/security/ProfileMapper.js +12 -11
  590. package/graphql/security/ProfileMapper.js.map +1 -1
  591. package/graphql/security/apiKey.gql.js +38 -47
  592. package/graphql/security/apiKey.gql.js.map +1 -1
  593. package/graphql/security/base.gql.js +11 -10
  594. package/graphql/security/base.gql.js.map +1 -1
  595. package/graphql/security/identity.gql.js +87 -97
  596. package/graphql/security/identity.gql.js.map +1 -1
  597. package/graphql/security/index.js +13 -8
  598. package/graphql/security/index.js.map +1 -1
  599. package/graphql/security/role.gql.js +49 -57
  600. package/graphql/security/role.gql.js.map +1 -1
  601. package/graphql/security/team.gql.js +61 -69
  602. package/graphql/security/team.gql.js.map +1 -1
  603. package/graphql/system/createSystemGraphQL.js +31 -34
  604. package/graphql/system/createSystemGraphQL.js.map +1 -1
  605. package/graphql/users/user.gql.js +87 -105
  606. package/graphql/users/user.gql.js.map +1 -1
  607. package/graphql/wcp/graphql.js +25 -28
  608. package/graphql/wcp/graphql.js.map +1 -1
  609. package/idp/JwksCache.js +22 -28
  610. package/idp/JwksCache.js.map +1 -1
  611. package/idp/JwtAuthenticator.js +34 -46
  612. package/idp/JwtAuthenticator.js.map +1 -1
  613. package/idp/OidcJwtIdentityProvider.js +55 -82
  614. package/idp/OidcJwtIdentityProvider.js.map +1 -1
  615. package/idp/abstractions.js +5 -14
  616. package/idp/abstractions.js.map +1 -1
  617. package/idp/feature.js +8 -7
  618. package/idp/feature.js.map +1 -1
  619. package/idp/index.js +1 -3
  620. package/idp/types.js +0 -3
  621. package/index.js +0 -2
  622. package/legacy/security/LegacyContext.js +133 -186
  623. package/legacy/security/LegacyContext.js.map +1 -1
  624. package/legacy/security/createSecurityContext.js +5 -9
  625. package/legacy/security/createSecurityContext.js.map +1 -1
  626. package/legacy/security/plugins/apiKeyAuthentication.js +15 -24
  627. package/legacy/security/plugins/apiKeyAuthentication.js.map +1 -1
  628. package/legacy/security/plugins/apiKeyAuthorization.js +9 -18
  629. package/legacy/security/plugins/apiKeyAuthorization.js.map +1 -1
  630. package/legacy/security/plugins/authenticateUsingCookie.js +18 -22
  631. package/legacy/security/plugins/authenticateUsingCookie.js.map +1 -1
  632. package/legacy/security/plugins/authenticateUsingHttpHeader.d.ts +1 -1
  633. package/legacy/security/plugins/authenticateUsingHttpHeader.js +15 -18
  634. package/legacy/security/plugins/authenticateUsingHttpHeader.js.map +1 -1
  635. package/legacy/security/plugins/secureHeaders.js +28 -21
  636. package/legacy/security/plugins/secureHeaders.js.map +1 -1
  637. package/legacy/tenancy/LegacyContext.js +45 -52
  638. package/legacy/tenancy/LegacyContext.js.map +1 -1
  639. package/legacy/tenancy/createTenancyContext.js +22 -42
  640. package/legacy/tenancy/createTenancyContext.js.map +1 -1
  641. package/legacy/users/LegacyContext.js +39 -54
  642. package/legacy/users/LegacyContext.js.map +1 -1
  643. package/legacy/users/createAdminUsersContext.js +7 -7
  644. package/legacy/users/createAdminUsersContext.js.map +1 -1
  645. package/legacy/wcp/LegacyWcpContext.js +80 -79
  646. package/legacy/wcp/LegacyWcpContext.js.map +1 -1
  647. package/legacy/wcp/context.d.ts +1 -3
  648. package/legacy/wcp/context.js +33 -37
  649. package/legacy/wcp/context.js.map +1 -1
  650. package/models/base/BaseModel.js +51 -56
  651. package/models/base/BaseModel.js.map +1 -1
  652. package/models/base/ModelBuilder.js +65 -78
  653. package/models/base/ModelBuilder.js.map +1 -1
  654. package/models/base/ModelFactory.js +0 -3
  655. package/models/base/__tests__/ModelBuilder.test.js +437 -454
  656. package/models/base/__tests__/ModelBuilder.test.js.map +1 -1
  657. package/models/base/abstractions.js +0 -3
  658. package/models/cms/FieldBuilder.js +112 -121
  659. package/models/cms/FieldBuilder.js.map +1 -1
  660. package/models/cms/FieldBuilderRegistry.js +13 -12
  661. package/models/cms/FieldBuilderRegistry.js.map +1 -1
  662. package/models/cms/FieldDefinitionsBuilder.js +37 -54
  663. package/models/cms/FieldDefinitionsBuilder.js.map +1 -1
  664. package/models/cms/PrivateCmsModelBuilder.js +84 -89
  665. package/models/cms/PrivateCmsModelBuilder.js.map +1 -1
  666. package/models/cms/PrivatePage/Page.fields.js +7 -6
  667. package/models/cms/PrivatePage/Page.fields.js.map +1 -1
  668. package/models/cms/PrivatePage/PageModelBuilder.js +18 -15
  669. package/models/cms/PrivatePage/PageModelBuilder.js.map +1 -1
  670. package/models/cms/PrivatePage/PageModelFactory.js +20 -25
  671. package/models/cms/PrivatePage/PageModelFactory.js.map +1 -1
  672. package/models/cms/PrivatePage/__tests__/PageModelFactory.test.js +218 -234
  673. package/models/cms/PrivatePage/__tests__/PageModelFactory.test.js.map +1 -1
  674. package/models/cms/PrivatePage/__tests__/PagePublishingDecorator.js +33 -36
  675. package/models/cms/PrivatePage/__tests__/PagePublishingDecorator.js.map +1 -1
  676. package/models/cms/PrivatePage/__tests__/PageSeoDecorator.js +25 -26
  677. package/models/cms/PrivatePage/__tests__/PageSeoDecorator.js.map +1 -1
  678. package/models/cms/PrivatePage/abstractions.js +3 -9
  679. package/models/cms/PrivatePage/abstractions.js.map +1 -1
  680. package/models/cms/__tests__/PrivateCmsModelBuilder.test.js +173 -185
  681. package/models/cms/__tests__/PrivateCmsModelBuilder.test.js.map +1 -1
  682. package/models/cms/abstractions.js +3 -20
  683. package/models/cms/abstractions.js.map +1 -1
  684. package/models/cms/types.js +0 -3
  685. package/models/simple/Page/PageModelBuilder.js +15 -14
  686. package/models/simple/Page/PageModelBuilder.js.map +1 -1
  687. package/models/simple/Page/PageModelFactory.js +16 -15
  688. package/models/simple/Page/PageModelFactory.js.map +1 -1
  689. package/models/simple/Page/__tests__/PageModelBuilderDecorator.js +21 -20
  690. package/models/simple/Page/__tests__/PageModelBuilderDecorator.js.map +1 -1
  691. package/models/simple/Page/__tests__/PageModelBuilderDecorator2.js +17 -16
  692. package/models/simple/Page/__tests__/PageModelBuilderDecorator2.js.map +1 -1
  693. package/models/simple/Page/__tests__/PageModelFactory.test.js +28 -28
  694. package/models/simple/Page/__tests__/PageModelFactory.test.js.map +1 -1
  695. package/models/simple/Page/abstractions.js +9 -8
  696. package/models/simple/Page/abstractions.js.map +1 -1
  697. package/package.json +21 -21
  698. package/types/core.js +0 -3
  699. package/types/security.js +0 -3
  700. package/types/tenancy.js +0 -3
  701. package/types/users.js +0 -3
  702. package/domain/tenancy/errors.js.map +0 -1
  703. package/exports/api/build-params.js.map +0 -1
  704. package/exports/api/event-publisher.js.map +0 -1
  705. package/exports/api/graphql.js.map +0 -1
  706. package/exports/api/key-value-store.js.map +0 -1
  707. package/exports/api/logger.js.map +0 -1
  708. package/exports/api/security/api-key.js.map +0 -1
  709. package/exports/api/security/authentication.js.map +0 -1
  710. package/exports/api/security/role.js.map +0 -1
  711. package/exports/api/security/user.js.map +0 -1
  712. package/exports/api/security.js.map +0 -1
  713. package/exports/api/system.js.map +0 -1
  714. package/exports/api/tasks.js.map +0 -1
  715. package/exports/api/tenancy.js.map +0 -1
  716. package/exports/api.js.map +0 -1
  717. package/features/ai/index.js.map +0 -1
  718. package/features/buildParams/index.js.map +0 -1
  719. package/features/encryption/index.js.map +0 -1
  720. package/features/eventPublisher/index.js.map +0 -1
  721. package/features/keyValueStore/index.js.map +0 -1
  722. package/features/logger/index.js.map +0 -1
  723. package/features/masker/index.js.map +0 -1
  724. package/features/security/IdentityContext/index.js.map +0 -1
  725. package/features/security/apiKeys/CreateApiKey/index.js.map +0 -1
  726. package/features/security/apiKeys/DeleteApiKey/index.js.map +0 -1
  727. package/features/security/apiKeys/GetApiKey/index.js.map +0 -1
  728. package/features/security/apiKeys/GetApiKeyBySlug/index.js.map +0 -1
  729. package/features/security/apiKeys/GetApiKeyByToken/index.js.map +0 -1
  730. package/features/security/apiKeys/ListApiKeys/index.js.map +0 -1
  731. package/features/security/apiKeys/UpdateApiKey/index.js.map +0 -1
  732. package/features/security/apiKeys/shared/types.js.map +0 -1
  733. package/features/security/authentication/AuthenticationContext/index.js.map +0 -1
  734. package/features/security/authentication/Authenticator/index.js.map +0 -1
  735. package/features/security/authorization/AuthorizationContext/index.js.map +0 -1
  736. package/features/security/authorization/Authorizer/index.js.map +0 -1
  737. package/features/security/login/index.js.map +0 -1
  738. package/features/security/permissions/index.js.map +0 -1
  739. package/features/security/permissions/types.js.map +0 -1
  740. package/features/security/roles/CreateRole/index.js.map +0 -1
  741. package/features/security/roles/DeleteRole/index.js.map +0 -1
  742. package/features/security/roles/GetRole/index.js.map +0 -1
  743. package/features/security/roles/ListRoles/index.js.map +0 -1
  744. package/features/security/roles/UpdateRole/index.js.map +0 -1
  745. package/features/security/roles/shared/types.js.map +0 -1
  746. package/features/security/shared/index.js.map +0 -1
  747. package/features/security/teams/CreateTeam/index.js.map +0 -1
  748. package/features/security/teams/DeleteTeam/index.js.map +0 -1
  749. package/features/security/teams/GetTeam/index.js.map +0 -1
  750. package/features/security/teams/ListTeams/index.js.map +0 -1
  751. package/features/security/teams/UpdateTeam/index.js.map +0 -1
  752. package/features/security/teams/shared/types.js.map +0 -1
  753. package/features/system/InstallSystem/index.js.map +0 -1
  754. package/features/task/TaskController/index.js.map +0 -1
  755. package/features/task/TaskDefinition/index.js.map +0 -1
  756. package/features/task/TaskService/index.js.map +0 -1
  757. package/features/tenancy/CreateTenant/index.js.map +0 -1
  758. package/features/tenancy/DeleteTenant/index.js.map +0 -1
  759. package/features/tenancy/GetRootTenant/index.js.map +0 -1
  760. package/features/tenancy/GetTenantById/index.js.map +0 -1
  761. package/features/tenancy/InstallTenant/index.js.map +0 -1
  762. package/features/tenancy/ListTenants/index.js.map +0 -1
  763. package/features/tenancy/TenantContext/index.js.map +0 -1
  764. package/features/tenancy/UpdateTenant/index.js.map +0 -1
  765. package/features/users/CreateUser/index.js.map +0 -1
  766. package/features/users/DeleteUser/index.js.map +0 -1
  767. package/features/users/ExternalIdpUserSync/index.js.map +0 -1
  768. package/features/users/GetIdentityProfile/index.js.map +0 -1
  769. package/features/users/GetIdentityProfile/types.js.map +0 -1
  770. package/features/users/GetUser/index.js.map +0 -1
  771. package/features/users/ListUserTeams/index.js.map +0 -1
  772. package/features/users/ListUsers/index.js.map +0 -1
  773. package/features/users/UpdateUser/index.js.map +0 -1
  774. package/features/users/shared/types.js.map +0 -1
  775. package/features/wcp/WcpContext/index.js.map +0 -1
  776. package/features/wcp/WcpContext/types.js.map +0 -1
  777. package/idp/index.js.map +0 -1
  778. package/idp/types.js.map +0 -1
  779. package/index.js.map +0 -1
  780. package/models/base/ModelFactory.js.map +0 -1
  781. package/models/base/abstractions.js.map +0 -1
  782. package/models/cms/types.js.map +0 -1
  783. package/types/core.js.map +0 -1
  784. package/types/security.js.map +0 -1
  785. package/types/tenancy.js.map +0 -1
  786. package/types/users.js.map +0 -1
@@ -1,29 +1,26 @@
1
- const WBY_APPS_PERMISSIONS_PREFIXES = ["pb", "fb", "fm", "cms", "security", "adminUsers", "i18n"];
2
- export const filterOutCustomWbyAppsPermissions = permissions => {
3
- return permissions.filter(permission => {
4
- // Just in case, if the `name` property is missing, we don't omit the permission.
5
- if (!permission.name) {
6
- return true;
7
- }
8
- let isWbyAppPermission = false,
9
- wbyAppPermissionPrefix = "";
10
- for (let i = 0; i < WBY_APPS_PERMISSIONS_PREFIXES.length; i++) {
11
- const prefix = WBY_APPS_PERMISSIONS_PREFIXES[i];
12
- if (permission.name.startsWith(`${prefix}.`)) {
13
- isWbyAppPermission = true;
14
- wbyAppPermissionPrefix = prefix;
15
- break;
16
- }
17
- }
18
-
19
- // Not a Webiny app permission? Then don't omit the permission.
20
- if (!isWbyAppPermission) {
21
- return true;
22
- }
23
-
24
- // Only allow full access (`${wbyAppPermissionPrefix}.*`) permissions.
25
- return permission.name === `${wbyAppPermissionPrefix}.*`;
26
- });
27
- };
1
+ const WBY_APPS_PERMISSIONS_PREFIXES = [
2
+ "pb",
3
+ "fb",
4
+ "fm",
5
+ "cms",
6
+ "security",
7
+ "adminUsers",
8
+ "i18n"
9
+ ];
10
+ const filterOutCustomWbyAppsPermissions = (permissions)=>permissions.filter((permission)=>{
11
+ if (!permission.name) return true;
12
+ let isWbyAppPermission = false, wbyAppPermissionPrefix = "";
13
+ for(let i = 0; i < WBY_APPS_PERMISSIONS_PREFIXES.length; i++){
14
+ const prefix = WBY_APPS_PERMISSIONS_PREFIXES[i];
15
+ if (permission.name.startsWith(`${prefix}.`)) {
16
+ isWbyAppPermission = true;
17
+ wbyAppPermissionPrefix = prefix;
18
+ break;
19
+ }
20
+ }
21
+ if (!isWbyAppPermission) return true;
22
+ return permission.name === `${wbyAppPermissionPrefix}.*`;
23
+ });
24
+ export { filterOutCustomWbyAppsPermissions };
28
25
 
29
26
  //# sourceMappingURL=filterOutCustomWbyAppsPermissions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["WBY_APPS_PERMISSIONS_PREFIXES","filterOutCustomWbyAppsPermissions","permissions","filter","permission","name","isWbyAppPermission","wbyAppPermissionPrefix","i","length","prefix","startsWith"],"sources":["filterOutCustomWbyAppsPermissions.ts"],"sourcesContent":["import type { SecurityPermission } from \"~/types/security.js\";\n\nconst WBY_APPS_PERMISSIONS_PREFIXES = [\"pb\", \"fb\", \"fm\", \"cms\", \"security\", \"adminUsers\", \"i18n\"];\n\nexport const filterOutCustomWbyAppsPermissions = (permissions: SecurityPermission[]) => {\n return permissions.filter(permission => {\n // Just in case, if the `name` property is missing, we don't omit the permission.\n if (!permission.name) {\n return true;\n }\n\n let isWbyAppPermission = false,\n wbyAppPermissionPrefix = \"\";\n for (let i = 0; i < WBY_APPS_PERMISSIONS_PREFIXES.length; i++) {\n const prefix = WBY_APPS_PERMISSIONS_PREFIXES[i];\n if (permission.name.startsWith(`${prefix}.`)) {\n isWbyAppPermission = true;\n wbyAppPermissionPrefix = prefix;\n break;\n }\n }\n\n // Not a Webiny app permission? Then don't omit the permission.\n if (!isWbyAppPermission) {\n return true;\n }\n\n // Only allow full access (`${wbyAppPermissionPrefix}.*`) permissions.\n return permission.name === `${wbyAppPermissionPrefix}.*`;\n });\n};\n"],"mappings":"AAEA,MAAMA,6BAA6B,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC;AAEjG,OAAO,MAAMC,iCAAiC,GAAIC,WAAiC,IAAK;EACpF,OAAOA,WAAW,CAACC,MAAM,CAACC,UAAU,IAAI;IACpC;IACA,IAAI,CAACA,UAAU,CAACC,IAAI,EAAE;MAClB,OAAO,IAAI;IACf;IAEA,IAAIC,kBAAkB,GAAG,KAAK;MAC1BC,sBAAsB,GAAG,EAAE;IAC/B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGR,6BAA6B,CAACS,MAAM,EAAED,CAAC,EAAE,EAAE;MAC3D,MAAME,MAAM,GAAGV,6BAA6B,CAACQ,CAAC,CAAC;MAC/C,IAAIJ,UAAU,CAACC,IAAI,CAACM,UAAU,CAAC,GAAGD,MAAM,GAAG,CAAC,EAAE;QAC1CJ,kBAAkB,GAAG,IAAI;QACzBC,sBAAsB,GAAGG,MAAM;QAC/B;MACJ;IACJ;;IAEA;IACA,IAAI,CAACJ,kBAAkB,EAAE;MACrB,OAAO,IAAI;IACf;;IAEA;IACA,OAAOF,UAAU,CAACC,IAAI,KAAK,GAAGE,sBAAsB,IAAI;EAC5D,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/utils/filterOutCustomWbyAppsPermissions.js","sources":["../../../../src/features/security/utils/filterOutCustomWbyAppsPermissions.ts"],"sourcesContent":["import type { SecurityPermission } from \"~/types/security.js\";\n\nconst WBY_APPS_PERMISSIONS_PREFIXES = [\"pb\", \"fb\", \"fm\", \"cms\", \"security\", \"adminUsers\", \"i18n\"];\n\nexport const filterOutCustomWbyAppsPermissions = (permissions: SecurityPermission[]) => {\n return permissions.filter(permission => {\n // Just in case, if the `name` property is missing, we don't omit the permission.\n if (!permission.name) {\n return true;\n }\n\n let isWbyAppPermission = false,\n wbyAppPermissionPrefix = \"\";\n for (let i = 0; i < WBY_APPS_PERMISSIONS_PREFIXES.length; i++) {\n const prefix = WBY_APPS_PERMISSIONS_PREFIXES[i];\n if (permission.name.startsWith(`${prefix}.`)) {\n isWbyAppPermission = true;\n wbyAppPermissionPrefix = prefix;\n break;\n }\n }\n\n // Not a Webiny app permission? Then don't omit the permission.\n if (!isWbyAppPermission) {\n return true;\n }\n\n // Only allow full access (`${wbyAppPermissionPrefix}.*`) permissions.\n return permission.name === `${wbyAppPermissionPrefix}.*`;\n });\n};\n"],"names":["WBY_APPS_PERMISSIONS_PREFIXES","filterOutCustomWbyAppsPermissions","permissions","permission","isWbyAppPermission","wbyAppPermissionPrefix","i","prefix"],"mappings":"AAEA,MAAMA,gCAAgC;IAAC;IAAM;IAAM;IAAM;IAAO;IAAY;IAAc;CAAO;AAE1F,MAAMC,oCAAoC,CAACC,cACvCA,YAAY,MAAM,CAACC,CAAAA;QAEtB,IAAI,CAACA,WAAW,IAAI,EAChB,OAAO;QAGX,IAAIC,qBAAqB,OACrBC,yBAAyB;QAC7B,IAAK,IAAIC,IAAI,GAAGA,IAAIN,8BAA8B,MAAM,EAAEM,IAAK;YAC3D,MAAMC,SAASP,6BAA6B,CAACM,EAAE;YAC/C,IAAIH,WAAW,IAAI,CAAC,UAAU,CAAC,GAAGI,OAAO,CAAC,CAAC,GAAG;gBAC1CH,qBAAqB;gBACrBC,yBAAyBE;gBACzB;YACJ;QACJ;QAGA,IAAI,CAACH,oBACD,OAAO;QAIX,OAAOD,WAAW,IAAI,KAAK,GAAGE,uBAAuB,EAAE,CAAC;IAC5D"}
@@ -1,12 +1,7 @@
1
- // This filter was introduced when we added the `teams` feature and the ability to
2
- // have multiple security roles assigned to a user.
3
- export const getPermissionsFromRoles = securityGroups => {
4
- return securityGroups.flatMap(securityRole => securityRole.permissions.map(permission => {
5
- return {
6
- ...permission,
7
- _src: "role:" + securityRole.id
8
- };
9
- }));
10
- };
1
+ const getPermissionsFromRoles = (securityGroups)=>securityGroups.flatMap((securityRole)=>securityRole.permissions.map((permission)=>({
2
+ ...permission,
3
+ _src: "role:" + securityRole.id
4
+ })));
5
+ export { getPermissionsFromRoles };
11
6
 
12
7
  //# sourceMappingURL=getPermissionsFromRoles.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getPermissionsFromRoles","securityGroups","flatMap","securityRole","permissions","map","permission","_src","id"],"sources":["getPermissionsFromRoles.ts"],"sourcesContent":["import type { SecurityPermission } from \"~/types/security.js\";\n\n// This filter was introduced when we added the `teams` feature and the ability to\n// have multiple security roles assigned to a user.\nexport const getPermissionsFromRoles = (\n securityGroups: Array<{ permissions: SecurityPermission[]; id: string }>\n) => {\n return securityGroups.flatMap(securityRole =>\n securityRole.permissions.map(permission => {\n return {\n ...permission,\n _src: \"role:\" + securityRole.id\n };\n })\n );\n};\n"],"mappings":"AAEA;AACA;AACA,OAAO,MAAMA,uBAAuB,GAChCC,cAAwE,IACvE;EACD,OAAOA,cAAc,CAACC,OAAO,CAACC,YAAY,IACtCA,YAAY,CAACC,WAAW,CAACC,GAAG,CAACC,UAAU,IAAI;IACvC,OAAO;MACH,GAAGA,UAAU;MACbC,IAAI,EAAE,OAAO,GAAGJ,YAAY,CAACK;IACjC,CAAC;EACL,CAAC,CACL,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/utils/getPermissionsFromRoles.js","sources":["../../../../src/features/security/utils/getPermissionsFromRoles.ts"],"sourcesContent":["import type { SecurityPermission } from \"~/types/security.js\";\n\n// This filter was introduced when we added the `teams` feature and the ability to\n// have multiple security roles assigned to a user.\nexport const getPermissionsFromRoles = (\n securityGroups: Array<{ permissions: SecurityPermission[]; id: string }>\n) => {\n return securityGroups.flatMap(securityRole =>\n securityRole.permissions.map(permission => {\n return {\n ...permission,\n _src: \"role:\" + securityRole.id\n };\n })\n );\n};\n"],"names":["getPermissionsFromRoles","securityGroups","securityRole","permission"],"mappings":"AAIO,MAAMA,0BAA0B,CACnCC,iBAEOA,eAAe,OAAO,CAACC,CAAAA,eAC1BA,aAAa,WAAW,CAAC,GAAG,CAACC,CAAAA,aAClB;gBACH,GAAGA,UAAU;gBACb,MAAM,UAAUD,aAAa,EAAE;YACnC"}
@@ -1,3 +1,4 @@
1
- export const isJwt = token => token.split(".").length === 3;
1
+ const isJwt = (token)=>3 === token.split(".").length;
2
+ export { isJwt };
2
3
 
3
4
  //# sourceMappingURL=isJwt.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["isJwt","token","split","length"],"sources":["isJwt.ts"],"sourcesContent":["export const isJwt = (token: string) => token.split(\".\").length === 3;\n"],"mappings":"AAAA,OAAO,MAAMA,KAAK,GAAIC,KAAa,IAAKA,KAAK,CAACC,KAAK,CAAC,GAAG,CAAC,CAACC,MAAM,KAAK,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/utils/isJwt.js","sources":["../../../../src/features/security/utils/isJwt.ts"],"sourcesContent":["export const isJwt = (token: string) => token.split(\".\").length === 3;\n"],"names":["isJwt","token"],"mappings":"AAAO,MAAMA,QAAQ,CAACC,QAAkBA,AAA4B,MAA5BA,MAAM,KAAK,CAAC,KAAK,MAAM"}
@@ -1,11 +1,10 @@
1
- import jwt from "jsonwebtoken";
1
+ import jsonwebtoken from "jsonwebtoken";
2
2
  import { exportSPKI, importJWK } from "jose";
3
- export const verifyJwtUsingJwk = async (token, jwk) => {
4
- // Casting to `any` because `jose` v5 has some incompatibilities with types.
5
- // v6 works as expected, but we can't have v6 because it's ESM-only.
6
- const key = await importJWK(jwk);
7
- const pemKey = await exportSPKI(key);
8
- return jwt.verify(token, pemKey);
3
+ const verifyJwtUsingJwk = async (token, jwk)=>{
4
+ const key = await importJWK(jwk);
5
+ const pemKey = await exportSPKI(key);
6
+ return jsonwebtoken.verify(token, pemKey);
9
7
  };
8
+ export { verifyJwtUsingJwk };
10
9
 
11
10
  //# sourceMappingURL=verifyJwtUsingJwk.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["jwt","exportSPKI","importJWK","verifyJwtUsingJwk","token","jwk","key","pemKey","verify"],"sources":["verifyJwtUsingJwk.ts"],"sourcesContent":["import jwt from \"jsonwebtoken\";\nimport { exportSPKI, importJWK, type JWK } from \"jose\";\n\nexport type Jwk = JWK;\n\nexport type Jwt = {\n header: jwt.JwtHeader;\n payload: jwt.JwtPayload;\n};\n\nexport const verifyJwtUsingJwk = async (token: string, jwk: Jwk) => {\n // Casting to `any` because `jose` v5 has some incompatibilities with types.\n // v6 works as expected, but we can't have v6 because it's ESM-only.\n const key = (await importJWK(jwk)) as CryptoKey;\n const pemKey = await exportSPKI(key);\n\n return jwt.verify(token, pemKey) as jwt.JwtPayload;\n};\n"],"mappings":"AAAA,OAAOA,GAAG,MAAM,cAAc;AAC9B,SAASC,UAAU,EAAEC,SAAS,QAAkB,MAAM;AAStD,OAAO,MAAMC,iBAAiB,GAAG,MAAAA,CAAOC,KAAa,EAAEC,GAAQ,KAAK;EAChE;EACA;EACA,MAAMC,GAAG,GAAI,MAAMJ,SAAS,CAACG,GAAG,CAAe;EAC/C,MAAME,MAAM,GAAG,MAAMN,UAAU,CAACK,GAAG,CAAC;EAEpC,OAAON,GAAG,CAACQ,MAAM,CAACJ,KAAK,EAAEG,MAAM,CAAC;AACpC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/utils/verifyJwtUsingJwk.js","sources":["../../../../src/features/security/utils/verifyJwtUsingJwk.ts"],"sourcesContent":["import jwt from \"jsonwebtoken\";\nimport { exportSPKI, importJWK, type JWK } from \"jose\";\n\nexport type Jwk = JWK;\n\nexport type Jwt = {\n header: jwt.JwtHeader;\n payload: jwt.JwtPayload;\n};\n\nexport const verifyJwtUsingJwk = async (token: string, jwk: Jwk) => {\n // Casting to `any` because `jose` v5 has some incompatibilities with types.\n // v6 works as expected, but we can't have v6 because it's ESM-only.\n const key = (await importJWK(jwk)) as CryptoKey;\n const pemKey = await exportSPKI(key);\n\n return jwt.verify(token, pemKey) as jwt.JwtPayload;\n};\n"],"names":["verifyJwtUsingJwk","token","jwk","key","importJWK","pemKey","exportSPKI","jwt"],"mappings":";;AAUO,MAAMA,oBAAoB,OAAOC,OAAeC;IAGnD,MAAMC,MAAO,MAAMC,UAAUF;IAC7B,MAAMG,SAAS,MAAMC,WAAWH;IAEhC,OAAOI,aAAAA,MAAU,CAACN,OAAOI;AAC7B"}
@@ -1,6 +1,6 @@
1
1
  import { Result, createImplementation } from "@webiny/feature/api";
2
2
  import { EventPublisher } from "../../eventPublisher/index.js";
3
- import { InstallSystemUseCase as UseCaseAbstraction } from "./abstractions.js";
3
+ import { InstallSystemUseCase } from "./abstractions.js";
4
4
  import { InstallTenantUseCase } from "../../tenancy/InstallTenant/index.js";
5
5
  import { GetRootTenantUseCase } from "../../tenancy/GetRootTenant/index.js";
6
6
  import { CreateTenantUseCase } from "../../tenancy/CreateTenant/index.js";
@@ -10,52 +10,53 @@ import { IdentityContext } from "../../security/IdentityContext/index.js";
10
10
  import { SystemAlreadyInstalledError } from "./errors.js";
11
11
  import { SystemInstalledEvent } from "./events.js";
12
12
  class InstallSystemUseCaseImpl {
13
- constructor(identityContext, tenantContext, eventPublisher, installTenantUseCase, getRootTenantUseCase, createTenantUseCase, deleteTenantUseCase) {
14
- this.identityContext = identityContext;
15
- this.tenantContext = tenantContext;
16
- this.eventPublisher = eventPublisher;
17
- this.installTenantUseCase = installTenantUseCase;
18
- this.getRootTenantUseCase = getRootTenantUseCase;
19
- this.createTenantUseCase = createTenantUseCase;
20
- this.deleteTenantUseCase = deleteTenantUseCase;
21
- }
22
- async execute(installationInput) {
23
- const rootTenantResult = await this.getRootTenantUseCase.execute();
24
- if (rootTenantResult.isOk()) {
25
- return Result.fail(new SystemAlreadyInstalledError());
13
+ constructor(identityContext, tenantContext, eventPublisher, installTenantUseCase, getRootTenantUseCase, createTenantUseCase, deleteTenantUseCase){
14
+ this.identityContext = identityContext;
15
+ this.tenantContext = tenantContext;
16
+ this.eventPublisher = eventPublisher;
17
+ this.installTenantUseCase = installTenantUseCase;
18
+ this.getRootTenantUseCase = getRootTenantUseCase;
19
+ this.createTenantUseCase = createTenantUseCase;
20
+ this.deleteTenantUseCase = deleteTenantUseCase;
26
21
  }
27
- const createTenantResult = await this.createTenantUseCase.execute({
28
- id: "root",
29
- name: "Root",
30
- tags: [],
31
- description: "The top-level Webiny tenant.",
32
- parent: ""
33
- });
34
- if (createTenantResult.isFail()) {
35
- return Result.fail(createTenantResult.error);
22
+ async execute(installationInput) {
23
+ const rootTenantResult = await this.getRootTenantUseCase.execute();
24
+ if (rootTenantResult.isOk()) return Result.fail(new SystemAlreadyInstalledError());
25
+ const createTenantResult = await this.createTenantUseCase.execute({
26
+ id: "root",
27
+ name: "Root",
28
+ tags: [],
29
+ description: "The top-level Webiny tenant.",
30
+ parent: ""
31
+ });
32
+ if (createTenantResult.isFail()) return Result.fail(createTenantResult.error);
33
+ const rootTenant = createTenantResult.value;
34
+ this.tenantContext.setTenant(rootTenant);
35
+ const installResult = await this.identityContext.withoutAuthorization(()=>this.installTenantUseCase.execute({
36
+ tenant: rootTenant,
37
+ installationInput
38
+ }));
39
+ if (installResult.isOk()) {
40
+ await this.eventPublisher.publish(new SystemInstalledEvent());
41
+ return Result.ok();
42
+ }
43
+ await this.deleteTenantUseCase.execute("root");
44
+ return Result.fail(installResult.error);
36
45
  }
37
- const rootTenant = createTenantResult.value;
38
- this.tenantContext.setTenant(rootTenant);
39
- const installResult = await this.identityContext.withoutAuthorization(() => {
40
- return this.installTenantUseCase.execute({
41
- tenant: rootTenant,
42
- installationInput
43
- });
44
- });
45
- if (installResult.isOk()) {
46
- await this.eventPublisher.publish(new SystemInstalledEvent());
47
- return Result.ok();
48
- }
49
-
50
- // If tenant installation failed, delete the root tenant
51
- await this.deleteTenantUseCase.execute("root");
52
- return Result.fail(installResult.error);
53
- }
54
46
  }
55
- export const InstallSystemUseCase = createImplementation({
56
- abstraction: UseCaseAbstraction,
57
- implementation: InstallSystemUseCaseImpl,
58
- dependencies: [IdentityContext, TenantContext, EventPublisher, InstallTenantUseCase, GetRootTenantUseCase, CreateTenantUseCase, DeleteTenantUseCase]
47
+ const InstallSystemUseCase_InstallSystemUseCase = createImplementation({
48
+ abstraction: InstallSystemUseCase,
49
+ implementation: InstallSystemUseCaseImpl,
50
+ dependencies: [
51
+ IdentityContext,
52
+ TenantContext,
53
+ EventPublisher,
54
+ InstallTenantUseCase,
55
+ GetRootTenantUseCase,
56
+ CreateTenantUseCase,
57
+ DeleteTenantUseCase
58
+ ]
59
59
  });
60
+ export { InstallSystemUseCase_InstallSystemUseCase as InstallSystemUseCase };
60
61
 
61
62
  //# sourceMappingURL=InstallSystemUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","createImplementation","EventPublisher","InstallSystemUseCase","UseCaseAbstraction","InstallTenantUseCase","GetRootTenantUseCase","CreateTenantUseCase","DeleteTenantUseCase","TenantContext","IdentityContext","SystemAlreadyInstalledError","SystemInstalledEvent","InstallSystemUseCaseImpl","constructor","identityContext","tenantContext","eventPublisher","installTenantUseCase","getRootTenantUseCase","createTenantUseCase","deleteTenantUseCase","execute","installationInput","rootTenantResult","isOk","fail","createTenantResult","id","name","tags","description","parent","isFail","error","rootTenant","value","setTenant","installResult","withoutAuthorization","tenant","publish","ok","abstraction","implementation","dependencies"],"sources":["InstallSystemUseCase.ts"],"sourcesContent":["import { Result, createImplementation } from \"@webiny/feature/api\";\nimport { EventPublisher } from \"~/features/eventPublisher/index.js\";\nimport { InstallSystemUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { InstallTenantUseCase } from \"~/features/tenancy/InstallTenant/index.js\";\nimport { GetRootTenantUseCase } from \"~/features/tenancy/GetRootTenant/index.js\";\nimport { CreateTenantUseCase } from \"~/features/tenancy/CreateTenant/index.js\";\nimport { DeleteTenantUseCase } from \"~/features/tenancy/DeleteTenant/index.js\";\nimport { TenantContext } from \"~/features/tenancy/TenantContext/index.js\";\nimport { IdentityContext } from \"~/features/security/IdentityContext/index.js\";\nimport type { InstallSystemInput } from \"./abstractions.js\";\nimport { SystemAlreadyInstalledError } from \"./errors.js\";\nimport { SystemInstalledEvent } from \"./events.js\";\n\nclass InstallSystemUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private tenantContext: TenantContext.Interface,\n private eventPublisher: EventPublisher.Interface,\n private installTenantUseCase: InstallTenantUseCase.Interface,\n private getRootTenantUseCase: GetRootTenantUseCase.Interface,\n private createTenantUseCase: CreateTenantUseCase.Interface,\n private deleteTenantUseCase: DeleteTenantUseCase.Interface\n ) {}\n\n async execute(installationInput: InstallSystemInput) {\n const rootTenantResult = await this.getRootTenantUseCase.execute();\n\n if (rootTenantResult.isOk()) {\n return Result.fail(new SystemAlreadyInstalledError());\n }\n\n const createTenantResult = await this.createTenantUseCase.execute({\n id: \"root\",\n name: \"Root\",\n tags: [],\n description: \"The top-level Webiny tenant.\",\n parent: \"\"\n });\n\n if (createTenantResult.isFail()) {\n return Result.fail(createTenantResult.error);\n }\n\n const rootTenant = createTenantResult.value;\n\n this.tenantContext.setTenant(rootTenant);\n\n const installResult = await this.identityContext.withoutAuthorization(() => {\n return this.installTenantUseCase.execute({\n tenant: rootTenant,\n installationInput\n });\n });\n\n if (installResult.isOk()) {\n await this.eventPublisher.publish(new SystemInstalledEvent());\n return Result.ok();\n }\n\n // If tenant installation failed, delete the root tenant\n await this.deleteTenantUseCase.execute(\"root\");\n\n return Result.fail(installResult.error);\n }\n}\n\nexport const InstallSystemUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: InstallSystemUseCaseImpl,\n dependencies: [\n IdentityContext,\n TenantContext,\n EventPublisher,\n InstallTenantUseCase,\n GetRootTenantUseCase,\n CreateTenantUseCase,\n DeleteTenantUseCase\n ]\n});\n"],"mappings":"AAAA,SAASA,MAAM,EAAEC,oBAAoB,QAAQ,qBAAqB;AAClE,SAASC,cAAc;AACvB,SAASC,oBAAoB,IAAIC,kBAAkB;AACnD,SAASC,oBAAoB;AAC7B,SAASC,oBAAoB;AAC7B,SAASC,mBAAmB;AAC5B,SAASC,mBAAmB;AAC5B,SAASC,aAAa;AACtB,SAASC,eAAe;AAExB,SAASC,2BAA2B;AACpC,SAASC,oBAAoB;AAE7B,MAAMC,wBAAwB,CAAyC;EACnEC,WAAWA,CACCC,eAA0C,EAC1CC,aAAsC,EACtCC,cAAwC,EACxCC,oBAAoD,EACpDC,oBAAoD,EACpDC,mBAAkD,EAClDC,mBAAkD,EAC5D;IAAA,KAPUN,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,aAAsC,GAAtCA,aAAsC;IAAA,KACtCC,cAAwC,GAAxCA,cAAwC;IAAA,KACxCC,oBAAoD,GAApDA,oBAAoD;IAAA,KACpDC,oBAAoD,GAApDA,oBAAoD;IAAA,KACpDC,mBAAkD,GAAlDA,mBAAkD;IAAA,KAClDC,mBAAkD,GAAlDA,mBAAkD;EAC3D;EAEH,MAAMC,OAAOA,CAACC,iBAAqC,EAAE;IACjD,MAAMC,gBAAgB,GAAG,MAAM,IAAI,CAACL,oBAAoB,CAACG,OAAO,CAAC,CAAC;IAElE,IAAIE,gBAAgB,CAACC,IAAI,CAAC,CAAC,EAAE;MACzB,OAAOzB,MAAM,CAAC0B,IAAI,CAAC,IAAIf,2BAA2B,CAAC,CAAC,CAAC;IACzD;IAEA,MAAMgB,kBAAkB,GAAG,MAAM,IAAI,CAACP,mBAAmB,CAACE,OAAO,CAAC;MAC9DM,EAAE,EAAE,MAAM;MACVC,IAAI,EAAE,MAAM;MACZC,IAAI,EAAE,EAAE;MACRC,WAAW,EAAE,8BAA8B;MAC3CC,MAAM,EAAE;IACZ,CAAC,CAAC;IAEF,IAAIL,kBAAkB,CAACM,MAAM,CAAC,CAAC,EAAE;MAC7B,OAAOjC,MAAM,CAAC0B,IAAI,CAACC,kBAAkB,CAACO,KAAK,CAAC;IAChD;IAEA,MAAMC,UAAU,GAAGR,kBAAkB,CAACS,KAAK;IAE3C,IAAI,CAACpB,aAAa,CAACqB,SAAS,CAACF,UAAU,CAAC;IAExC,MAAMG,aAAa,GAAG,MAAM,IAAI,CAACvB,eAAe,CAACwB,oBAAoB,CAAC,MAAM;MACxE,OAAO,IAAI,CAACrB,oBAAoB,CAACI,OAAO,CAAC;QACrCkB,MAAM,EAAEL,UAAU;QAClBZ;MACJ,CAAC,CAAC;IACN,CAAC,CAAC;IAEF,IAAIe,aAAa,CAACb,IAAI,CAAC,CAAC,EAAE;MACtB,MAAM,IAAI,CAACR,cAAc,CAACwB,OAAO,CAAC,IAAI7B,oBAAoB,CAAC,CAAC,CAAC;MAC7D,OAAOZ,MAAM,CAAC0C,EAAE,CAAC,CAAC;IACtB;;IAEA;IACA,MAAM,IAAI,CAACrB,mBAAmB,CAACC,OAAO,CAAC,MAAM,CAAC;IAE9C,OAAOtB,MAAM,CAAC0B,IAAI,CAACY,aAAa,CAACJ,KAAK,CAAC;EAC3C;AACJ;AAEA,OAAO,MAAM/B,oBAAoB,GAAGF,oBAAoB,CAAC;EACrD0C,WAAW,EAAEvC,kBAAkB;EAC/BwC,cAAc,EAAE/B,wBAAwB;EACxCgC,YAAY,EAAE,CACVnC,eAAe,EACfD,aAAa,EACbP,cAAc,EACdG,oBAAoB,EACpBC,oBAAoB,EACpBC,mBAAmB,EACnBC,mBAAmB;AAE3B,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/system/InstallSystem/InstallSystemUseCase.js","sources":["../../../../src/features/system/InstallSystem/InstallSystemUseCase.ts"],"sourcesContent":["import { Result, createImplementation } from \"@webiny/feature/api\";\nimport { EventPublisher } from \"~/features/eventPublisher/index.js\";\nimport { InstallSystemUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { InstallTenantUseCase } from \"~/features/tenancy/InstallTenant/index.js\";\nimport { GetRootTenantUseCase } from \"~/features/tenancy/GetRootTenant/index.js\";\nimport { CreateTenantUseCase } from \"~/features/tenancy/CreateTenant/index.js\";\nimport { DeleteTenantUseCase } from \"~/features/tenancy/DeleteTenant/index.js\";\nimport { TenantContext } from \"~/features/tenancy/TenantContext/index.js\";\nimport { IdentityContext } from \"~/features/security/IdentityContext/index.js\";\nimport type { InstallSystemInput } from \"./abstractions.js\";\nimport { SystemAlreadyInstalledError } from \"./errors.js\";\nimport { SystemInstalledEvent } from \"./events.js\";\n\nclass InstallSystemUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private tenantContext: TenantContext.Interface,\n private eventPublisher: EventPublisher.Interface,\n private installTenantUseCase: InstallTenantUseCase.Interface,\n private getRootTenantUseCase: GetRootTenantUseCase.Interface,\n private createTenantUseCase: CreateTenantUseCase.Interface,\n private deleteTenantUseCase: DeleteTenantUseCase.Interface\n ) {}\n\n async execute(installationInput: InstallSystemInput) {\n const rootTenantResult = await this.getRootTenantUseCase.execute();\n\n if (rootTenantResult.isOk()) {\n return Result.fail(new SystemAlreadyInstalledError());\n }\n\n const createTenantResult = await this.createTenantUseCase.execute({\n id: \"root\",\n name: \"Root\",\n tags: [],\n description: \"The top-level Webiny tenant.\",\n parent: \"\"\n });\n\n if (createTenantResult.isFail()) {\n return Result.fail(createTenantResult.error);\n }\n\n const rootTenant = createTenantResult.value;\n\n this.tenantContext.setTenant(rootTenant);\n\n const installResult = await this.identityContext.withoutAuthorization(() => {\n return this.installTenantUseCase.execute({\n tenant: rootTenant,\n installationInput\n });\n });\n\n if (installResult.isOk()) {\n await this.eventPublisher.publish(new SystemInstalledEvent());\n return Result.ok();\n }\n\n // If tenant installation failed, delete the root tenant\n await this.deleteTenantUseCase.execute(\"root\");\n\n return Result.fail(installResult.error);\n }\n}\n\nexport const InstallSystemUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: InstallSystemUseCaseImpl,\n dependencies: [\n IdentityContext,\n TenantContext,\n EventPublisher,\n InstallTenantUseCase,\n GetRootTenantUseCase,\n CreateTenantUseCase,\n DeleteTenantUseCase\n ]\n});\n"],"names":["InstallSystemUseCaseImpl","identityContext","tenantContext","eventPublisher","installTenantUseCase","getRootTenantUseCase","createTenantUseCase","deleteTenantUseCase","installationInput","rootTenantResult","Result","SystemAlreadyInstalledError","createTenantResult","rootTenant","installResult","SystemInstalledEvent","InstallSystemUseCase","createImplementation","UseCaseAbstraction","IdentityContext","TenantContext","EventPublisher","InstallTenantUseCase","GetRootTenantUseCase","CreateTenantUseCase","DeleteTenantUseCase"],"mappings":";;;;;;;;;;;AAaA,MAAMA;IACF,YACYC,eAA0C,EAC1CC,aAAsC,EACtCC,cAAwC,EACxCC,oBAAoD,EACpDC,oBAAoD,EACpDC,mBAAkD,EAClDC,mBAAkD,CAC5D;aAPUN,eAAe,GAAfA;aACAC,aAAa,GAAbA;aACAC,cAAc,GAAdA;aACAC,oBAAoB,GAApBA;aACAC,oBAAoB,GAApBA;aACAC,mBAAmB,GAAnBA;aACAC,mBAAmB,GAAnBA;IACT;IAEH,MAAM,QAAQC,iBAAqC,EAAE;QACjD,MAAMC,mBAAmB,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO;QAEhE,IAAIA,iBAAiB,IAAI,IACrB,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAG3B,MAAMC,qBAAqB,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;YAC9D,IAAI;YACJ,MAAM;YACN,MAAM,EAAE;YACR,aAAa;YACb,QAAQ;QACZ;QAEA,IAAIA,mBAAmB,MAAM,IACzB,OAAOF,OAAO,IAAI,CAACE,mBAAmB,KAAK;QAG/C,MAAMC,aAAaD,mBAAmB,KAAK;QAE3C,IAAI,CAAC,aAAa,CAAC,SAAS,CAACC;QAE7B,MAAMC,gBAAgB,MAAM,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAC3D,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC;gBACrC,QAAQD;gBACRL;YACJ;QAGJ,IAAIM,cAAc,IAAI,IAAI;YACtB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAIC;YACtC,OAAOL,OAAO,EAAE;QACpB;QAGA,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;QAEvC,OAAOA,OAAO,IAAI,CAACI,cAAc,KAAK;IAC1C;AACJ;AAEO,MAAME,4CAAuBC,qBAAqB;IACrD,aAAaC;IACb,gBAAgBlB;IAChB,cAAc;QACVmB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
@@ -1,20 +1,6 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
-
3
- /**
4
- * Errors
5
- */
6
-
7
- /**
8
- * Types
9
- */
10
-
11
- /**
12
- * Use Case Abstraction
13
- */
14
-
15
- /** Run system-wide installation. */
16
- export const InstallSystemUseCase = createAbstraction("InstallSystemUseCase");
17
- /** Hook into system lifecycle after the system is installed. */
18
- export const SystemInstalledEventHandler = createAbstraction("SystemInstalledEventHandler");
2
+ const InstallSystemUseCase = createAbstraction("InstallSystemUseCase");
3
+ const SystemInstalledEventHandler = createAbstraction("SystemInstalledEventHandler");
4
+ export { InstallSystemUseCase, SystemInstalledEventHandler };
19
5
 
20
6
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","InstallSystemUseCase","SystemInstalledEventHandler"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { IEventHandler, DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport { InstallSystemError, SystemAlreadyInstalledError } from \"./errors.js\";\nimport {\n type AppInstallationData,\n InstallTenantUseCase\n} from \"~/features/tenancy/InstallTenant/index.js\";\nimport { CreateTenantUseCase } from \"~/features/tenancy/CreateTenant/index.js\";\n\n/**\n * Errors\n */\nexport interface IInstallSystemErrors {\n base:\n | InstallSystemError\n | SystemAlreadyInstalledError\n | CreateTenantUseCase.Errors\n | InstallTenantUseCase.Errors;\n}\n\n/**\n * Types\n */\nexport type InstallSystemInput = AppInstallationData[];\n\n/**\n * Use Case Abstraction\n */\nexport interface IInstallSystemUseCase {\n execute(\n input: InstallSystemInput\n ): Promise<Result<void, IInstallSystemErrors[keyof IInstallSystemErrors]>>;\n}\n\n/** Run system-wide installation. */\nexport const InstallSystemUseCase =\n createAbstraction<IInstallSystemUseCase>(\"InstallSystemUseCase\");\n\nexport namespace InstallSystemUseCase {\n export type Interface = IInstallSystemUseCase;\n export type Input = InstallSystemInput;\n}\n\n/** Hook into system lifecycle after the system is installed. */\nexport const SystemInstalledEventHandler = createAbstraction<IEventHandler<DomainEvent>>(\n \"SystemInstalledEventHandler\"\n);\n\nexport namespace SystemInstalledEventHandler {\n export type Interface = IEventHandler<DomainEvent>;\n export type Event = DomainEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAS/D;AACA;AACA;;AASA;AACA;AACA;;AAGA;AACA;AACA;;AAOA;AACA,OAAO,MAAMC,oBAAoB,GAC7BD,iBAAiB,CAAwB,sBAAsB,CAAC;AAOpE;AACA,OAAO,MAAME,2BAA2B,GAAGF,iBAAiB,CACxD,6BACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/system/InstallSystem/abstractions.js","sources":["../../../../src/features/system/InstallSystem/abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { IEventHandler, DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport { InstallSystemError, SystemAlreadyInstalledError } from \"./errors.js\";\nimport {\n type AppInstallationData,\n InstallTenantUseCase\n} from \"~/features/tenancy/InstallTenant/index.js\";\nimport { CreateTenantUseCase } from \"~/features/tenancy/CreateTenant/index.js\";\n\n/**\n * Errors\n */\nexport interface IInstallSystemErrors {\n base:\n | InstallSystemError\n | SystemAlreadyInstalledError\n | CreateTenantUseCase.Errors\n | InstallTenantUseCase.Errors;\n}\n\n/**\n * Types\n */\nexport type InstallSystemInput = AppInstallationData[];\n\n/**\n * Use Case Abstraction\n */\nexport interface IInstallSystemUseCase {\n execute(\n input: InstallSystemInput\n ): Promise<Result<void, IInstallSystemErrors[keyof IInstallSystemErrors]>>;\n}\n\n/** Run system-wide installation. */\nexport const InstallSystemUseCase =\n createAbstraction<IInstallSystemUseCase>(\"InstallSystemUseCase\");\n\nexport namespace InstallSystemUseCase {\n export type Interface = IInstallSystemUseCase;\n export type Input = InstallSystemInput;\n}\n\n/** Hook into system lifecycle after the system is installed. */\nexport const SystemInstalledEventHandler = createAbstraction<IEventHandler<DomainEvent>>(\n \"SystemInstalledEventHandler\"\n);\n\nexport namespace SystemInstalledEventHandler {\n export type Interface = IEventHandler<DomainEvent>;\n export type Event = DomainEvent;\n}\n"],"names":["InstallSystemUseCase","createAbstraction","SystemInstalledEventHandler"],"mappings":";AAmCO,MAAMA,uBACTC,kBAAyC;AAQtC,MAAMC,8BAA8BD,kBACvC"}
@@ -1,21 +1,20 @@
1
1
  import { BaseError } from "@webiny/feature/api";
2
- export class InstallSystemError extends BaseError {
3
- code = "INSTALL_SYSTEM";
4
- constructor(data) {
5
- super({
6
- message: `System installation failed: ${data.reason}`,
7
- data
8
- });
9
- }
2
+ class InstallSystemError extends BaseError {
3
+ constructor(data){
4
+ super({
5
+ message: `System installation failed: ${data.reason}`,
6
+ data
7
+ }), this.code = "INSTALL_SYSTEM";
8
+ }
10
9
  }
11
- export class SystemAlreadyInstalledError extends BaseError {
12
- code = "SYSTEM_ALREADY_INSTALLED";
13
- constructor(data = {}) {
14
- super({
15
- message: "System is already installed!",
16
- data
17
- });
18
- }
10
+ class SystemAlreadyInstalledError extends BaseError {
11
+ constructor(data = {}){
12
+ super({
13
+ message: "System is already installed!",
14
+ data
15
+ }), this.code = "SYSTEM_ALREADY_INSTALLED";
16
+ }
19
17
  }
18
+ export { InstallSystemError, SystemAlreadyInstalledError };
20
19
 
21
20
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseError","InstallSystemError","code","constructor","data","message","reason","SystemAlreadyInstalledError"],"sources":["errors.ts"],"sourcesContent":["import { BaseError } from \"@webiny/feature/api\";\n\ntype InstallSystemErrorData = {\n reason: string;\n};\n\nexport class InstallSystemError extends BaseError<InstallSystemErrorData> {\n override readonly code = \"INSTALL_SYSTEM\" as const;\n\n constructor(data: InstallSystemErrorData) {\n super({\n message: `System installation failed: ${data.reason}`,\n data\n });\n }\n}\n\ntype SystemAlreadyInstalledErrorData = {\n message?: string;\n};\n\nexport class SystemAlreadyInstalledError extends BaseError<SystemAlreadyInstalledErrorData> {\n override readonly code = \"SYSTEM_ALREADY_INSTALLED\" as const;\n\n constructor(data: SystemAlreadyInstalledErrorData = {}) {\n super({\n message: \"System is already installed!\",\n data\n });\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,qBAAqB;AAM/C,OAAO,MAAMC,kBAAkB,SAASD,SAAS,CAAyB;EACpDE,IAAI,GAAG,gBAAgB;EAEzCC,WAAWA,CAACC,IAA4B,EAAE;IACtC,KAAK,CAAC;MACFC,OAAO,EAAE,+BAA+BD,IAAI,CAACE,MAAM,EAAE;MACrDF;IACJ,CAAC,CAAC;EACN;AACJ;AAMA,OAAO,MAAMG,2BAA2B,SAASP,SAAS,CAAkC;EACtEE,IAAI,GAAG,0BAA0B;EAEnDC,WAAWA,CAACC,IAAqC,GAAG,CAAC,CAAC,EAAE;IACpD,KAAK,CAAC;MACFC,OAAO,EAAE,8BAA8B;MACvCD;IACJ,CAAC,CAAC;EACN;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"features/system/InstallSystem/errors.js","sources":["../../../../src/features/system/InstallSystem/errors.ts"],"sourcesContent":["import { BaseError } from \"@webiny/feature/api\";\n\ntype InstallSystemErrorData = {\n reason: string;\n};\n\nexport class InstallSystemError extends BaseError<InstallSystemErrorData> {\n override readonly code = \"INSTALL_SYSTEM\" as const;\n\n constructor(data: InstallSystemErrorData) {\n super({\n message: `System installation failed: ${data.reason}`,\n data\n });\n }\n}\n\ntype SystemAlreadyInstalledErrorData = {\n message?: string;\n};\n\nexport class SystemAlreadyInstalledError extends BaseError<SystemAlreadyInstalledErrorData> {\n override readonly code = \"SYSTEM_ALREADY_INSTALLED\" as const;\n\n constructor(data: SystemAlreadyInstalledErrorData = {}) {\n super({\n message: \"System is already installed!\",\n data\n });\n }\n}\n"],"names":["InstallSystemError","BaseError","data","SystemAlreadyInstalledError"],"mappings":";AAMO,MAAMA,2BAA2BC;IAGpC,YAAYC,IAA4B,CAAE;QACtC,KAAK,CAAC;YACF,SAAS,CAAC,4BAA4B,EAAEA,KAAK,MAAM,EAAE;YACrDA;QACJ,SANc,IAAI,GAAG;IAOzB;AACJ;AAMO,MAAMC,oCAAoCF;IAG7C,YAAYC,OAAwC,CAAC,CAAC,CAAE;QACpD,KAAK,CAAC;YACF,SAAS;YACTA;QACJ,SANc,IAAI,GAAG;IAOzB;AACJ"}
@@ -1,10 +1,13 @@
1
1
  import { DomainEvent } from "../../eventPublisher/index.js";
2
2
  import { SystemInstalledEventHandler } from "./abstractions.js";
3
- export class SystemInstalledEvent extends DomainEvent {
4
- eventType = "system.installed";
5
- getHandlerAbstraction() {
6
- return SystemInstalledEventHandler;
7
- }
3
+ class SystemInstalledEvent extends DomainEvent {
4
+ getHandlerAbstraction() {
5
+ return SystemInstalledEventHandler;
6
+ }
7
+ constructor(...args){
8
+ super(...args), this.eventType = "system.installed";
9
+ }
8
10
  }
11
+ export { SystemInstalledEvent };
9
12
 
10
13
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DomainEvent","SystemInstalledEventHandler","SystemInstalledEvent","eventType","getHandlerAbstraction"],"sources":["events.ts"],"sourcesContent":["import { DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport { SystemInstalledEventHandler } from \"./abstractions.js\";\n\nexport class SystemInstalledEvent extends DomainEvent {\n eventType = \"system.installed\" as const;\n\n getHandlerAbstraction() {\n return SystemInstalledEventHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW;AACpB,SAASC,2BAA2B;AAEpC,OAAO,MAAMC,oBAAoB,SAASF,WAAW,CAAC;EAClDG,SAAS,GAAG,kBAAkB;EAE9BC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,2BAA2B;EACtC;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"features/system/InstallSystem/events.js","sources":["../../../../src/features/system/InstallSystem/events.ts"],"sourcesContent":["import { DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport { SystemInstalledEventHandler } from \"./abstractions.js\";\n\nexport class SystemInstalledEvent extends DomainEvent {\n eventType = \"system.installed\" as const;\n\n getHandlerAbstraction() {\n return SystemInstalledEventHandler;\n }\n}\n"],"names":["SystemInstalledEvent","DomainEvent","SystemInstalledEventHandler"],"mappings":";;AAGO,MAAMA,6BAA6BC;IAGtC,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB"}
@@ -1,12 +1,11 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { InstallSystemUseCase } from "./InstallSystemUseCase.js";
3
- export const InstallSystemFeature = createFeature({
4
- name: "InstallSystem",
5
- register(container) {
6
- // Register use case (transient) - auto-wired with DI
7
- // Depends on EventPublisher, InstallTenantUseCase, GetRootTenantUseCase, and CreateTenantUseCase
8
- container.register(InstallSystemUseCase);
9
- }
3
+ const InstallSystemFeature = createFeature({
4
+ name: "InstallSystem",
5
+ register (container) {
6
+ container.register(InstallSystemUseCase);
7
+ }
10
8
  });
9
+ export { InstallSystemFeature };
11
10
 
12
11
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","InstallSystemUseCase","InstallSystemFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport type { Container } from \"@webiny/di\";\nimport { InstallSystemUseCase } from \"./InstallSystemUseCase.js\";\n\nexport const InstallSystemFeature = createFeature({\n name: \"InstallSystem\",\n register(container: Container) {\n // Register use case (transient) - auto-wired with DI\n // Depends on EventPublisher, InstallTenantUseCase, GetRootTenantUseCase, and CreateTenantUseCase\n container.register(InstallSystemUseCase);\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;IAC3B;IACA;IACAA,SAAS,CAACD,QAAQ,CAACH,oBAAoB,CAAC;EAC5C;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/system/InstallSystem/feature.js","sources":["../../../../src/features/system/InstallSystem/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport type { Container } from \"@webiny/di\";\nimport { InstallSystemUseCase } from \"./InstallSystemUseCase.js\";\n\nexport const InstallSystemFeature = createFeature({\n name: \"InstallSystem\",\n register(container: Container) {\n // Register use case (transient) - auto-wired with DI\n // Depends on EventPublisher, InstallTenantUseCase, GetRootTenantUseCase, and CreateTenantUseCase\n container.register(InstallSystemUseCase);\n }\n});\n"],"names":["InstallSystemFeature","createFeature","container","InstallSystemUseCase"],"mappings":";;AAIO,MAAMA,uBAAuBC,cAAc;IAC9C,MAAM;IACN,UAASC,SAAoB;QAGzBA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
@@ -1,7 +1,3 @@
1
- export { InstallSystemUseCase } from "./abstractions.js";
2
- export { SystemInstalledEventHandler } from "./abstractions.js";
3
- export { InstallSystemError } from "./errors.js";
4
- export { SystemAlreadyInstalledError } from "./errors.js";
1
+ export { InstallSystemUseCase, SystemInstalledEventHandler } from "./abstractions.js";
2
+ export { InstallSystemError, SystemAlreadyInstalledError } from "./errors.js";
5
3
  export { SystemInstalledEvent } from "./events.js";
6
-
7
- //# sourceMappingURL=index.js.map
@@ -1,10 +1,11 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { InstallSystemFeature } from "./InstallSystem/feature.js";
3
- export const SystemFeature = createFeature({
4
- name: "SystemFeature",
5
- register(container) {
6
- InstallSystemFeature.register(container);
7
- }
3
+ const SystemFeature = createFeature({
4
+ name: "SystemFeature",
5
+ register (container) {
6
+ InstallSystemFeature.register(container);
7
+ }
8
8
  });
9
+ export { SystemFeature };
9
10
 
10
11
  //# sourceMappingURL=SystemFeature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","InstallSystemFeature","SystemFeature","name","register","container"],"sources":["SystemFeature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { InstallSystemFeature } from \"./InstallSystem/feature.js\";\n\nexport const SystemFeature = createFeature({\n name: \"SystemFeature\",\n register(container) {\n InstallSystemFeature.register(container);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,oBAAoB;AAE7B,OAAO,MAAMC,aAAa,GAAGF,aAAa,CAAC;EACvCG,IAAI,EAAE,eAAe;EACrBC,QAAQA,CAACC,SAAS,EAAE;IAChBJ,oBAAoB,CAACG,QAAQ,CAACC,SAAS,CAAC;EAC5C;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/system/SystemFeature.js","sources":["../../../src/features/system/SystemFeature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { InstallSystemFeature } from \"./InstallSystem/feature.js\";\n\nexport const SystemFeature = createFeature({\n name: \"SystemFeature\",\n register(container) {\n InstallSystemFeature.register(container);\n }\n});\n"],"names":["SystemFeature","createFeature","container","InstallSystemFeature"],"mappings":";;AAGO,MAAMA,gBAAgBC,cAAc;IACvC,MAAM;IACN,UAASC,SAAS;QACdC,qBAAqB,QAAQ,CAACD;IAClC;AACJ"}
@@ -1,13 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
-
3
- /**
4
- * TaskController provides runtime capabilities to task definitions.
5
- * The actual interface is defined by the tasks package implementation via module augmentation.
6
- *
7
- * Import this from @webiny/api-core, but the full interface comes from @webiny/tasks.
8
- */
9
-
10
- /** Runtime controller providing capabilities to running tasks. */
11
- export const TaskController = createAbstraction("TaskController");
2
+ const TaskController = createAbstraction("TaskController");
3
+ export { TaskController };
12
4
 
13
5
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","TaskController"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { ITaskInput, ITaskOutput } from \"../TaskDefinition/index.js\";\n\n/**\n * TaskController provides runtime capabilities to task definitions.\n * The actual interface is defined by the tasks package implementation via module augmentation.\n *\n * Import this from @webiny/api-core, but the full interface comes from @webiny/tasks.\n */\nexport interface ITaskController<\n // oxlint-disable-next-line typescript/no-unused-vars\n I extends ITaskInput = ITaskInput,\n // oxlint-disable-next-line typescript/no-unused-vars\n O extends ITaskOutput = ITaskOutput\n> {\n // Empty - augmented by tasks package\n}\n\n/** Runtime controller providing capabilities to running tasks. */\nexport const TaskController = createAbstraction<ITaskController>(\"TaskController\");\n\nexport namespace TaskController {\n export type Interface<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n > = ITaskController<I, O>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAGvD;AACA;AACA;AACA;AACA;AACA;;AAUA;AACA,OAAO,MAAMC,cAAc,GAAGD,iBAAiB,CAAkB,gBAAgB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/task/TaskController/abstractions.js","sources":["../../../../src/features/task/TaskController/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { ITaskInput, ITaskOutput } from \"../TaskDefinition/index.js\";\n\n/**\n * TaskController provides runtime capabilities to task definitions.\n * The actual interface is defined by the tasks package implementation via module augmentation.\n *\n * Import this from @webiny/api-core, but the full interface comes from @webiny/tasks.\n */\nexport interface ITaskController<\n // oxlint-disable-next-line typescript/no-unused-vars\n I extends ITaskInput = ITaskInput,\n // oxlint-disable-next-line typescript/no-unused-vars\n O extends ITaskOutput = ITaskOutput\n> {\n // Empty - augmented by tasks package\n}\n\n/** Runtime controller providing capabilities to running tasks. */\nexport const TaskController = createAbstraction<ITaskController>(\"TaskController\");\n\nexport namespace TaskController {\n export type Interface<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n > = ITaskController<I, O>;\n}\n"],"names":["TaskController","createAbstraction"],"mappings":";AAmBO,MAAMA,iBAAiBC,kBAAmC"}
@@ -1,3 +1 @@
1
1
  export * from "./abstractions.js";
2
-
3
- //# sourceMappingURL=index.js.map
@@ -1,44 +1,12 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
-
3
- /**
4
- * Task run params - ONLY the input data
5
- * All runtime dependencies come from TaskController (injected separately)
6
- */
7
-
8
- /**
9
- * Data for creating a new task
10
- */
11
-
12
- /**
13
- * Parameters for onBeforeTrigger lifecycle hook
14
- */
15
-
16
- /**
17
- * Task result status enum
18
- */
19
- export let TaskResultStatus = /*#__PURE__*/function (TaskResultStatus) {
20
- TaskResultStatus["DONE"] = "done";
21
- TaskResultStatus["CONTINUE"] = "continue";
22
- TaskResultStatus["ERROR"] = "error";
23
- TaskResultStatus["ABORTED"] = "aborted";
24
- return TaskResultStatus;
2
+ var abstractions_TaskResultStatus = /*#__PURE__*/ function(TaskResultStatus) {
3
+ TaskResultStatus["DONE"] = "done";
4
+ TaskResultStatus["CONTINUE"] = "continue";
5
+ TaskResultStatus["ERROR"] = "error";
6
+ TaskResultStatus["ABORTED"] = "aborted";
7
+ return TaskResultStatus;
25
8
  }({});
26
-
27
- /**
28
- * Specific result types
29
- */
30
-
31
- /**
32
- * Core TaskDefinition - minimal interface
33
- */
34
-
35
- /** Define a long-running background task with lifecycle hooks. */
36
- export const TaskDefinition = createAbstraction("TaskDefinition");
37
-
38
- /**
39
- * IRunnableTaskDefinition represents a TaskDefinition after decoration/processing.
40
- * All optional runtime properties are guaranteed to have values (with defaults applied).
41
- * Used internally by the task runner to ensure consistent behavior.
42
- */
9
+ const TaskDefinition = createAbstraction("TaskDefinition");
10
+ export { TaskDefinition, abstractions_TaskResultStatus as TaskResultStatus };
43
11
 
44
12
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","TaskResultStatus","TaskDefinition"],"sources":["abstractions.ts"],"sourcesContent":["import zod from \"zod\";\nimport { createAbstraction } from \"@webiny/feature/api\";\nimport type { GenericRecord } from \"@webiny/api/types\";\nimport type { ITask } from \"~/features/task/TaskService/index.js\";\nimport { TaskController } from \"~/features/task/TaskController/index.js\";\n\nexport type ITaskInput = GenericRecord;\n\nexport interface IResponseError {\n message: string;\n code?: string | null;\n data?: GenericRecord | null;\n stack?: string;\n}\n\nexport interface ITaskOutput {\n error?: IResponseError;\n [key: string]: any;\n}\n\n/**\n * Task run params - ONLY the input data\n * All runtime dependencies come from TaskController (injected separately)\n */\nexport interface ITaskRunParams<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n> {\n input: I;\n controller: TaskController.Interface<I, O>;\n}\n\n/**\n * Data for creating a new task\n */\nexport interface ITaskCreateData<I = ITaskInput> {\n definitionId: string;\n name: string;\n input: I;\n parentId?: string;\n}\n\n/**\n * Parameters for onBeforeTrigger lifecycle hook\n */\nexport interface ITaskBeforeTriggerParams<I = ITaskInput> {\n data: ITaskCreateData<I>;\n}\n\n/**\n * Task result status enum\n */\nexport enum TaskResultStatus {\n DONE = \"done\",\n CONTINUE = \"continue\",\n ERROR = \"error\",\n ABORTED = \"aborted\"\n}\n\n/**\n * Specific result types\n */\nexport interface ITaskResultDone<O extends ITaskOutput = ITaskOutput> {\n status: TaskResultStatus.DONE;\n message?: string;\n output?: O;\n}\n\nexport interface ITaskResultContinue<I = ITaskInput> {\n status: TaskResultStatus.CONTINUE;\n input: I;\n wait?: number; // seconds to wait before next iteration\n}\n\nexport interface ITaskResultError {\n status: TaskResultStatus.ERROR;\n error: IResponseError;\n}\n\nexport interface ITaskResultAborted {\n status: TaskResultStatus.ABORTED;\n}\n\nexport type ITaskResult<I = ITaskInput, O extends ITaskOutput = ITaskOutput> =\n | ITaskResultDone<O>\n | ITaskResultContinue<I>\n | ITaskResultError\n | ITaskResultAborted;\n\nexport type ISelfCleanupEvent = \"onSuccess\" | \"onError\" | \"onAbort\";\n\nexport type ISelfCleanup = \"always\" | \"never\" | ISelfCleanupEvent | ISelfCleanupEvent[];\n\nexport type ITaskLifecycleHook<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n> = {\n task: ITask<I, O>;\n};\n\n/**\n * Core TaskDefinition - minimal interface\n */\nexport interface ITaskDefinition<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n> {\n id: string;\n title: string;\n description?: string;\n maxIterations?: number;\n databaseLogs?: boolean;\n isPrivate?: boolean;\n selfCleanup?: ISelfCleanup;\n\n /**\n * Core run method - receives ONLY input params\n * All runtime dependencies (logging, state management, etc.) come from TaskController\n */\n run(params: ITaskRunParams<I, O>): Promise<ITaskResult<I, O>>;\n\n /**\n * Optional lifecycle hooks - receive task data, no context.\n */\n onBeforeTrigger?(params: ITaskBeforeTriggerParams<I>): Promise<void>;\n onDone?(params: ITaskLifecycleHook<I, O>): Promise<void>;\n onError?(params: ITaskLifecycleHook<I, O>): Promise<void>;\n onAbort?(params: ITaskLifecycleHook<I, O>): Promise<void>;\n onMaxIterations?(params: ITaskLifecycleHook<I, O>): Promise<void>;\n /**\n * Create a validation schema for the task input.\n * This will be used to validate the input before the task is triggered.\n */\n createInputValidation?(\n params: ITaskCreateInputValidationParams\n ): GenericRecord<keyof I, zod.Schema> | zod.Schema;\n}\n\nexport interface ITaskCreateInputValidationParams {\n validator: typeof zod;\n}\n\n/** Define a long-running background task with lifecycle hooks. */\nexport const TaskDefinition = createAbstraction<ITaskDefinition>(\"TaskDefinition\");\n\n/**\n * IRunnableTaskDefinition represents a TaskDefinition after decoration/processing.\n * All optional runtime properties are guaranteed to have values (with defaults applied).\n * Used internally by the task runner to ensure consistent behavior.\n */\nexport interface IRunnableTaskDefinition<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n> extends ITaskDefinition<I, O> {\n // Override optional properties to be required with guaranteed values\n isPrivate: boolean;\n databaseLogs: boolean;\n maxIterations: number;\n}\n\nexport namespace TaskDefinition {\n export type Interface<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n > = ITaskDefinition<I, O>;\n\n export type TaskInput = ITaskInput;\n\n export type TaskOutput = ITaskOutput;\n\n export type Runnable<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n > = IRunnableTaskDefinition<I, O>;\n\n export type RunParams<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n > = ITaskRunParams<I, O>;\n\n export type Result<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n > = ITaskResult<I, O>;\n\n export type Task<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n > = ITask<I, O>;\n\n export type ResultDone<O extends ITaskOutput = ITaskOutput> = ITaskResultDone<O>;\n export type ResultContinue<I = ITaskInput> = ITaskResultContinue<I>;\n export type ResultError = ITaskResultError;\n export type ResultAborted = ITaskResultAborted;\n export type CreateInputValidationParams = ITaskCreateInputValidationParams;\n export type TaskCreateData<I = ITaskInput> = ITaskCreateData<I>;\n export type BeforeTriggerParams<I = ITaskInput> = ITaskBeforeTriggerParams<I>;\n export type LifecycleHookParams<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n > = ITaskLifecycleHook<I, O>;\n\n export type SelfCleanupEvent = ISelfCleanupEvent;\n export type SelfCleanup = ISelfCleanup;\n}\n"],"mappings":"AACA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAmBvD;AACA;AACA;AACA;;AASA;AACA;AACA;;AAQA;AACA;AACA;;AAKA;AACA;AACA;AACA,WAAYC,gBAAgB,0BAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAA,OAAhBA,gBAAgB;AAAA;;AAO5B;AACA;AACA;;AAuCA;AACA;AACA;;AAwCA;AACA,OAAO,MAAMC,cAAc,GAAGF,iBAAiB,CAAkB,gBAAgB,CAAC;;AAElF;AACA;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"file":"features/task/TaskDefinition/abstractions.js","sources":["../../../../src/features/task/TaskDefinition/abstractions.ts"],"sourcesContent":["import zod from \"zod\";\nimport { createAbstraction } from \"@webiny/feature/api\";\nimport type { GenericRecord } from \"@webiny/api/types\";\nimport type { ITask } from \"~/features/task/TaskService/index.js\";\nimport { TaskController } from \"~/features/task/TaskController/index.js\";\n\nexport type ITaskInput = GenericRecord;\n\nexport interface IResponseError {\n message: string;\n code?: string | null;\n data?: GenericRecord | null;\n stack?: string;\n}\n\nexport interface ITaskOutput {\n error?: IResponseError;\n [key: string]: any;\n}\n\n/**\n * Task run params - ONLY the input data\n * All runtime dependencies come from TaskController (injected separately)\n */\nexport interface ITaskRunParams<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n> {\n input: I;\n controller: TaskController.Interface<I, O>;\n}\n\n/**\n * Data for creating a new task\n */\nexport interface ITaskCreateData<I = ITaskInput> {\n definitionId: string;\n name: string;\n input: I;\n parentId?: string;\n}\n\n/**\n * Parameters for onBeforeTrigger lifecycle hook\n */\nexport interface ITaskBeforeTriggerParams<I = ITaskInput> {\n data: ITaskCreateData<I>;\n}\n\n/**\n * Task result status enum\n */\nexport enum TaskResultStatus {\n DONE = \"done\",\n CONTINUE = \"continue\",\n ERROR = \"error\",\n ABORTED = \"aborted\"\n}\n\n/**\n * Specific result types\n */\nexport interface ITaskResultDone<O extends ITaskOutput = ITaskOutput> {\n status: TaskResultStatus.DONE;\n message?: string;\n output?: O;\n}\n\nexport interface ITaskResultContinue<I = ITaskInput> {\n status: TaskResultStatus.CONTINUE;\n input: I;\n wait?: number; // seconds to wait before next iteration\n}\n\nexport interface ITaskResultError {\n status: TaskResultStatus.ERROR;\n error: IResponseError;\n}\n\nexport interface ITaskResultAborted {\n status: TaskResultStatus.ABORTED;\n}\n\nexport type ITaskResult<I = ITaskInput, O extends ITaskOutput = ITaskOutput> =\n | ITaskResultDone<O>\n | ITaskResultContinue<I>\n | ITaskResultError\n | ITaskResultAborted;\n\nexport type ISelfCleanupEvent = \"onSuccess\" | \"onError\" | \"onAbort\";\n\nexport type ISelfCleanup = \"always\" | \"never\" | ISelfCleanupEvent | ISelfCleanupEvent[];\n\nexport type ITaskLifecycleHook<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n> = {\n task: ITask<I, O>;\n};\n\n/**\n * Core TaskDefinition - minimal interface\n */\nexport interface ITaskDefinition<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n> {\n id: string;\n title: string;\n description?: string;\n maxIterations?: number;\n databaseLogs?: boolean;\n isPrivate?: boolean;\n selfCleanup?: ISelfCleanup;\n\n /**\n * Core run method - receives ONLY input params\n * All runtime dependencies (logging, state management, etc.) come from TaskController\n */\n run(params: ITaskRunParams<I, O>): Promise<ITaskResult<I, O>>;\n\n /**\n * Optional lifecycle hooks - receive task data, no context.\n */\n onBeforeTrigger?(params: ITaskBeforeTriggerParams<I>): Promise<void>;\n onDone?(params: ITaskLifecycleHook<I, O>): Promise<void>;\n onError?(params: ITaskLifecycleHook<I, O>): Promise<void>;\n onAbort?(params: ITaskLifecycleHook<I, O>): Promise<void>;\n onMaxIterations?(params: ITaskLifecycleHook<I, O>): Promise<void>;\n /**\n * Create a validation schema for the task input.\n * This will be used to validate the input before the task is triggered.\n */\n createInputValidation?(\n params: ITaskCreateInputValidationParams\n ): GenericRecord<keyof I, zod.Schema> | zod.Schema;\n}\n\nexport interface ITaskCreateInputValidationParams {\n validator: typeof zod;\n}\n\n/** Define a long-running background task with lifecycle hooks. */\nexport const TaskDefinition = createAbstraction<ITaskDefinition>(\"TaskDefinition\");\n\n/**\n * IRunnableTaskDefinition represents a TaskDefinition after decoration/processing.\n * All optional runtime properties are guaranteed to have values (with defaults applied).\n * Used internally by the task runner to ensure consistent behavior.\n */\nexport interface IRunnableTaskDefinition<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n> extends ITaskDefinition<I, O> {\n // Override optional properties to be required with guaranteed values\n isPrivate: boolean;\n databaseLogs: boolean;\n maxIterations: number;\n}\n\nexport namespace TaskDefinition {\n export type Interface<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n > = ITaskDefinition<I, O>;\n\n export type TaskInput = ITaskInput;\n\n export type TaskOutput = ITaskOutput;\n\n export type Runnable<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n > = IRunnableTaskDefinition<I, O>;\n\n export type RunParams<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n > = ITaskRunParams<I, O>;\n\n export type Result<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n > = ITaskResult<I, O>;\n\n export type Task<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n > = ITask<I, O>;\n\n export type ResultDone<O extends ITaskOutput = ITaskOutput> = ITaskResultDone<O>;\n export type ResultContinue<I = ITaskInput> = ITaskResultContinue<I>;\n export type ResultError = ITaskResultError;\n export type ResultAborted = ITaskResultAborted;\n export type CreateInputValidationParams = ITaskCreateInputValidationParams;\n export type TaskCreateData<I = ITaskInput> = ITaskCreateData<I>;\n export type BeforeTriggerParams<I = ITaskInput> = ITaskBeforeTriggerParams<I>;\n export type LifecycleHookParams<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n > = ITaskLifecycleHook<I, O>;\n\n export type SelfCleanupEvent = ISelfCleanupEvent;\n export type SelfCleanup = ISelfCleanup;\n}\n"],"names":["TaskResultStatus","TaskDefinition","createAbstraction"],"mappings":";AAoDO,IAAKA,gCAAgBA,WAAAA,GAAAA,SAAhBA,gBAAgB;;;;;WAAhBA;;AA2FL,MAAMC,iBAAiBC,kBAAmC"}
@@ -1,3 +1 @@
1
1
  export * from "./abstractions.js";
2
-
3
- //# sourceMappingURL=index.js.map