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

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 (816) hide show
  1. package/ApiCoreFeature.js +22 -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/webhooks.d.ts +1 -0
  27. package/exports/api/webhooks.js +1 -0
  28. package/exports/api.js +1 -3
  29. package/features/ai/Ai.js +100 -117
  30. package/features/ai/Ai.js.map +1 -1
  31. package/features/ai/AiSdkTools.js +23 -19
  32. package/features/ai/AiSdkTools.js.map +1 -1
  33. package/features/ai/AnthropicSdkFactory.js +82 -65
  34. package/features/ai/AnthropicSdkFactory.js.map +1 -1
  35. package/features/ai/OpenAiSdkFactory.js +234 -181
  36. package/features/ai/OpenAiSdkFactory.js.map +1 -1
  37. package/features/ai/abstractions.js +7 -32
  38. package/features/ai/abstractions.js.map +1 -1
  39. package/features/ai/feature.js +9 -8
  40. package/features/ai/feature.js.map +1 -1
  41. package/features/ai/index.js +1 -3
  42. package/features/buildParams/BuildParams.js +20 -14
  43. package/features/buildParams/BuildParams.js.map +1 -1
  44. package/features/buildParams/abstractions.js +3 -4
  45. package/features/buildParams/abstractions.js.map +1 -1
  46. package/features/buildParams/feature.js +6 -5
  47. package/features/buildParams/feature.js.map +1 -1
  48. package/features/buildParams/index.js +0 -2
  49. package/features/encryption/EncryptionService.js +50 -46
  50. package/features/encryption/EncryptionService.js.map +1 -1
  51. package/features/encryption/abstractions.js +2 -2
  52. package/features/encryption/abstractions.js.map +1 -1
  53. package/features/encryption/feature.js +6 -5
  54. package/features/encryption/feature.js.map +1 -1
  55. package/features/encryption/index.js +0 -2
  56. package/features/eventPublisher/EventPublisher.js +9 -15
  57. package/features/eventPublisher/EventPublisher.js.map +1 -1
  58. package/features/eventPublisher/__tests__/EventPublisher.test.js +385 -419
  59. package/features/eventPublisher/__tests__/EventPublisher.test.js.map +1 -1
  60. package/features/eventPublisher/abstractions.js +7 -12
  61. package/features/eventPublisher/abstractions.js.map +1 -1
  62. package/features/eventPublisher/feature.js +8 -7
  63. package/features/eventPublisher/feature.js.map +1 -1
  64. package/features/eventPublisher/index.js +0 -2
  65. package/features/featureFlags/FeatureFlags.js +15 -12
  66. package/features/featureFlags/FeatureFlags.js.map +1 -1
  67. package/features/featureFlags/abstractions.js +2 -1
  68. package/features/featureFlags/abstractions.js.map +1 -1
  69. package/features/featureFlags/feature.js +6 -5
  70. package/features/featureFlags/feature.js.map +1 -1
  71. package/features/keyValueStore/GlobalKeyValueStore.js +28 -23
  72. package/features/keyValueStore/GlobalKeyValueStore.js.map +1 -1
  73. package/features/keyValueStore/KeyValueStore.js +30 -27
  74. package/features/keyValueStore/KeyValueStore.js.map +1 -1
  75. package/features/keyValueStore/KeyValueStoreRepository.d.ts +2 -2
  76. package/features/keyValueStore/KeyValueStoreRepository.js +34 -41
  77. package/features/keyValueStore/KeyValueStoreRepository.js.map +1 -1
  78. package/features/keyValueStore/abstractions.d.ts +6 -2
  79. package/features/keyValueStore/abstractions.js +5 -20
  80. package/features/keyValueStore/abstractions.js.map +1 -1
  81. package/features/keyValueStore/errors.js +16 -17
  82. package/features/keyValueStore/errors.js.map +1 -1
  83. package/features/keyValueStore/feature.js +9 -9
  84. package/features/keyValueStore/feature.js.map +1 -1
  85. package/features/keyValueStore/index.js +1 -3
  86. package/features/logger/LoggerService.js +41 -45
  87. package/features/logger/LoggerService.js.map +1 -1
  88. package/features/logger/abstractions.js +2 -2
  89. package/features/logger/abstractions.js.map +1 -1
  90. package/features/logger/feature.js +6 -5
  91. package/features/logger/feature.js.map +1 -1
  92. package/features/logger/index.js +0 -2
  93. package/features/masker/Masker.js +11 -14
  94. package/features/masker/Masker.js.map +1 -1
  95. package/features/masker/abstractions.js +2 -1
  96. package/features/masker/abstractions.js.map +1 -1
  97. package/features/masker/feature.js +7 -6
  98. package/features/masker/feature.js.map +1 -1
  99. package/features/masker/index.js +0 -2
  100. package/features/security/IdentityContext/AnonymousIdentity.js +12 -16
  101. package/features/security/IdentityContext/AnonymousIdentity.js.map +1 -1
  102. package/features/security/IdentityContext/AuthenticatedIdentity.js +5 -8
  103. package/features/security/IdentityContext/AuthenticatedIdentity.js.map +1 -1
  104. package/features/security/IdentityContext/Identity.js +63 -71
  105. package/features/security/IdentityContext/Identity.js.map +1 -1
  106. package/features/security/IdentityContext/IdentityContext.js +69 -106
  107. package/features/security/IdentityContext/IdentityContext.js.map +1 -1
  108. package/features/security/IdentityContext/abstractions.js +2 -2
  109. package/features/security/IdentityContext/abstractions.js.map +1 -1
  110. package/features/security/IdentityContext/feature.js +6 -5
  111. package/features/security/IdentityContext/feature.js.map +1 -1
  112. package/features/security/IdentityContext/index.js +0 -3
  113. package/features/security/SecurityFeature.js +13 -21
  114. package/features/security/SecurityFeature.js.map +1 -1
  115. package/features/security/apiKeys/CreateApiKey/CreateApiKeyUseCase.js +48 -49
  116. package/features/security/apiKeys/CreateApiKey/CreateApiKeyUseCase.js.map +1 -1
  117. package/features/security/apiKeys/CreateApiKey/abstractions.js +2 -2
  118. package/features/security/apiKeys/CreateApiKey/abstractions.js.map +1 -1
  119. package/features/security/apiKeys/CreateApiKey/events.js +17 -16
  120. package/features/security/apiKeys/CreateApiKey/events.js.map +1 -1
  121. package/features/security/apiKeys/CreateApiKey/feature.js +6 -5
  122. package/features/security/apiKeys/CreateApiKey/feature.js.map +1 -1
  123. package/features/security/apiKeys/CreateApiKey/index.js +0 -2
  124. package/features/security/apiKeys/DeleteApiKey/DeleteApiKeyUseCase.js +29 -30
  125. package/features/security/apiKeys/DeleteApiKey/DeleteApiKeyUseCase.js.map +1 -1
  126. package/features/security/apiKeys/DeleteApiKey/abstractions.js +2 -2
  127. package/features/security/apiKeys/DeleteApiKey/abstractions.js.map +1 -1
  128. package/features/security/apiKeys/DeleteApiKey/events.js +17 -16
  129. package/features/security/apiKeys/DeleteApiKey/events.js.map +1 -1
  130. package/features/security/apiKeys/DeleteApiKey/feature.js +6 -5
  131. package/features/security/apiKeys/DeleteApiKey/feature.js.map +1 -1
  132. package/features/security/apiKeys/DeleteApiKey/index.js +0 -2
  133. package/features/security/apiKeys/GetApiKey/GetApiKeyUseCase.js +16 -14
  134. package/features/security/apiKeys/GetApiKey/GetApiKeyUseCase.js.map +1 -1
  135. package/features/security/apiKeys/GetApiKey/abstractions.js +2 -2
  136. package/features/security/apiKeys/GetApiKey/abstractions.js.map +1 -1
  137. package/features/security/apiKeys/GetApiKey/feature.js +6 -5
  138. package/features/security/apiKeys/GetApiKey/feature.js.map +1 -1
  139. package/features/security/apiKeys/GetApiKey/index.js +0 -2
  140. package/features/security/apiKeys/GetApiKeyBySlug/GetApiKeyBySlugUseCase.js +13 -10
  141. package/features/security/apiKeys/GetApiKeyBySlug/GetApiKeyBySlugUseCase.js.map +1 -1
  142. package/features/security/apiKeys/GetApiKeyBySlug/abstractions.js +2 -2
  143. package/features/security/apiKeys/GetApiKeyBySlug/abstractions.js.map +1 -1
  144. package/features/security/apiKeys/GetApiKeyBySlug/feature.js +6 -5
  145. package/features/security/apiKeys/GetApiKeyBySlug/feature.js.map +1 -1
  146. package/features/security/apiKeys/GetApiKeyBySlug/index.js +0 -2
  147. package/features/security/apiKeys/GetApiKeyByToken/GetApiKeyByTokenUseCase.js +13 -10
  148. package/features/security/apiKeys/GetApiKeyByToken/GetApiKeyByTokenUseCase.js.map +1 -1
  149. package/features/security/apiKeys/GetApiKeyByToken/abstractions.js +2 -2
  150. package/features/security/apiKeys/GetApiKeyByToken/abstractions.js.map +1 -1
  151. package/features/security/apiKeys/GetApiKeyByToken/feature.js +6 -5
  152. package/features/security/apiKeys/GetApiKeyByToken/feature.js.map +1 -1
  153. package/features/security/apiKeys/GetApiKeyByToken/index.js +0 -2
  154. package/features/security/apiKeys/ListApiKeys/ListApiKeysUseCase.js +17 -17
  155. package/features/security/apiKeys/ListApiKeys/ListApiKeysUseCase.js.map +1 -1
  156. package/features/security/apiKeys/ListApiKeys/abstractions.js +2 -2
  157. package/features/security/apiKeys/ListApiKeys/abstractions.js.map +1 -1
  158. package/features/security/apiKeys/ListApiKeys/feature.js +6 -5
  159. package/features/security/apiKeys/ListApiKeys/feature.js.map +1 -1
  160. package/features/security/apiKeys/ListApiKeys/index.js +0 -2
  161. package/features/security/apiKeys/UpdateApiKey/UpdateApiKeyUseCase.js +39 -42
  162. package/features/security/apiKeys/UpdateApiKey/UpdateApiKeyUseCase.js.map +1 -1
  163. package/features/security/apiKeys/UpdateApiKey/abstractions.js +2 -2
  164. package/features/security/apiKeys/UpdateApiKey/abstractions.js.map +1 -1
  165. package/features/security/apiKeys/UpdateApiKey/events.js +17 -16
  166. package/features/security/apiKeys/UpdateApiKey/events.js.map +1 -1
  167. package/features/security/apiKeys/UpdateApiKey/feature.js +6 -5
  168. package/features/security/apiKeys/UpdateApiKey/feature.js.map +1 -1
  169. package/features/security/apiKeys/UpdateApiKey/index.js +0 -2
  170. package/features/security/apiKeys/feature.js +14 -16
  171. package/features/security/apiKeys/feature.js.map +1 -1
  172. package/features/security/apiKeys/shared/ApiKeyProvider.js +42 -42
  173. package/features/security/apiKeys/shared/ApiKeyProvider.js.map +1 -1
  174. package/features/security/apiKeys/shared/ApiKeysRepository.js +108 -135
  175. package/features/security/apiKeys/shared/ApiKeysRepository.js.map +1 -1
  176. package/features/security/apiKeys/shared/abstractions.js +4 -6
  177. package/features/security/apiKeys/shared/abstractions.js.map +1 -1
  178. package/features/security/apiKeys/shared/errors.js +29 -32
  179. package/features/security/apiKeys/shared/errors.js.map +1 -1
  180. package/features/security/apiKeys/shared/generateToken.js +6 -16
  181. package/features/security/apiKeys/shared/generateToken.js.map +1 -1
  182. package/features/security/apiKeys/shared/schemas.js +27 -23
  183. package/features/security/apiKeys/shared/schemas.js.map +1 -1
  184. package/features/security/apiKeys/shared/types.js +0 -3
  185. package/features/security/authentication/AuthenticationContext/AuthenticationContext.js +44 -38
  186. package/features/security/authentication/AuthenticationContext/AuthenticationContext.js.map +1 -1
  187. package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.js +33 -43
  188. package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.js.map +1 -1
  189. package/features/security/authentication/AuthenticationContext/abstractions.js +2 -2
  190. package/features/security/authentication/AuthenticationContext/abstractions.js.map +1 -1
  191. package/features/security/authentication/AuthenticationContext/errors.js +51 -116
  192. package/features/security/authentication/AuthenticationContext/errors.js.map +1 -1
  193. package/features/security/authentication/AuthenticationContext/events.js +17 -16
  194. package/features/security/authentication/AuthenticationContext/events.js.map +1 -1
  195. package/features/security/authentication/AuthenticationContext/feature.js +6 -5
  196. package/features/security/authentication/AuthenticationContext/feature.js.map +1 -1
  197. package/features/security/authentication/AuthenticationContext/index.js +2 -4
  198. package/features/security/authentication/Authenticator/abstractions.js +2 -2
  199. package/features/security/authentication/Authenticator/abstractions.js.map +1 -1
  200. package/features/security/authentication/Authenticator/index.js +0 -2
  201. package/features/security/authorization/AuthorizationContext/AuthorizationContext.js +46 -59
  202. package/features/security/authorization/AuthorizationContext/AuthorizationContext.js.map +1 -1
  203. package/features/security/authorization/AuthorizationContext/abstractions.js +3 -4
  204. package/features/security/authorization/AuthorizationContext/abstractions.js.map +1 -1
  205. package/features/security/authorization/AuthorizationContext/feature.js +10 -9
  206. package/features/security/authorization/AuthorizationContext/feature.js.map +1 -1
  207. package/features/security/authorization/AuthorizationContext/index.js +1 -4
  208. package/features/security/authorization/Authorizer/abstractions.js +2 -2
  209. package/features/security/authorization/Authorizer/abstractions.js.map +1 -1
  210. package/features/security/authorization/Authorizer/index.js +0 -2
  211. package/features/security/authorization/GroupsTeamsAuthorizer/GetPermissionsFromIdentity.js +60 -64
  212. package/features/security/authorization/GroupsTeamsAuthorizer/GetPermissionsFromIdentity.js.map +1 -1
  213. package/features/security/authorization/GroupsTeamsAuthorizer/RolesTeamsAuthorizer.js +26 -40
  214. package/features/security/authorization/GroupsTeamsAuthorizer/RolesTeamsAuthorizer.js.map +1 -1
  215. package/features/security/authorization/GroupsTeamsAuthorizer/abstractions.js +2 -1
  216. package/features/security/authorization/GroupsTeamsAuthorizer/abstractions.js.map +1 -1
  217. package/features/security/authorization/GroupsTeamsAuthorizer/feature.js +7 -6
  218. package/features/security/authorization/GroupsTeamsAuthorizer/feature.js.map +1 -1
  219. package/features/security/login/abstractions.js +9 -8
  220. package/features/security/login/abstractions.js.map +1 -1
  221. package/features/security/login/index.js +0 -2
  222. package/features/security/permissions/createPermissionSchema.js +6 -5
  223. package/features/security/permissions/createPermissionSchema.js.map +1 -1
  224. package/features/security/permissions/createPermissions.js +148 -236
  225. package/features/security/permissions/createPermissions.js.map +1 -1
  226. package/features/security/permissions/index.js +0 -2
  227. package/features/security/permissions/types.js +0 -3
  228. package/features/security/roles/CreateRole/CreateRoleUseCase.js +53 -59
  229. package/features/security/roles/CreateRole/CreateRoleUseCase.js.map +1 -1
  230. package/features/security/roles/CreateRole/abstractions.js +2 -2
  231. package/features/security/roles/CreateRole/abstractions.js.map +1 -1
  232. package/features/security/roles/CreateRole/events.js +17 -16
  233. package/features/security/roles/CreateRole/events.js.map +1 -1
  234. package/features/security/roles/CreateRole/feature.js +6 -5
  235. package/features/security/roles/CreateRole/feature.js.map +1 -1
  236. package/features/security/roles/CreateRole/index.js +0 -2
  237. package/features/security/roles/CreateRole/schema.js +8 -7
  238. package/features/security/roles/CreateRole/schema.js.map +1 -1
  239. package/features/security/roles/DeleteRole/DeleteRoleUseCase.js +35 -41
  240. package/features/security/roles/DeleteRole/DeleteRoleUseCase.js.map +1 -1
  241. package/features/security/roles/DeleteRole/abstractions.js +2 -2
  242. package/features/security/roles/DeleteRole/abstractions.js.map +1 -1
  243. package/features/security/roles/DeleteRole/events.js +17 -16
  244. package/features/security/roles/DeleteRole/events.js.map +1 -1
  245. package/features/security/roles/DeleteRole/feature.js +6 -5
  246. package/features/security/roles/DeleteRole/feature.js.map +1 -1
  247. package/features/security/roles/DeleteRole/index.js +0 -2
  248. package/features/security/roles/GetRole/GetRoleUseCase.js +19 -18
  249. package/features/security/roles/GetRole/GetRoleUseCase.js.map +1 -1
  250. package/features/security/roles/GetRole/abstractions.js +2 -2
  251. package/features/security/roles/GetRole/abstractions.js.map +1 -1
  252. package/features/security/roles/GetRole/feature.js +6 -5
  253. package/features/security/roles/GetRole/feature.js.map +1 -1
  254. package/features/security/roles/GetRole/index.js +0 -2
  255. package/features/security/roles/Installer/RolesInstaller.js +38 -35
  256. package/features/security/roles/Installer/RolesInstaller.js.map +1 -1
  257. package/features/security/roles/ListRoles/ListRolesUseCase.js +18 -17
  258. package/features/security/roles/ListRoles/ListRolesUseCase.js.map +1 -1
  259. package/features/security/roles/ListRoles/abstractions.js +2 -2
  260. package/features/security/roles/ListRoles/abstractions.js.map +1 -1
  261. package/features/security/roles/ListRoles/feature.js +6 -5
  262. package/features/security/roles/ListRoles/feature.js.map +1 -1
  263. package/features/security/roles/ListRoles/index.js +0 -2
  264. package/features/security/roles/UpdateRole/UpdateRoleUseCase.js +43 -50
  265. package/features/security/roles/UpdateRole/UpdateRoleUseCase.js.map +1 -1
  266. package/features/security/roles/UpdateRole/abstractions.js +2 -2
  267. package/features/security/roles/UpdateRole/abstractions.js.map +1 -1
  268. package/features/security/roles/UpdateRole/events.js +17 -16
  269. package/features/security/roles/UpdateRole/events.js.map +1 -1
  270. package/features/security/roles/UpdateRole/feature.js +6 -5
  271. package/features/security/roles/UpdateRole/feature.js.map +1 -1
  272. package/features/security/roles/UpdateRole/index.js +0 -2
  273. package/features/security/roles/UpdateRole/schema.js +7 -6
  274. package/features/security/roles/UpdateRole/schema.js.map +1 -1
  275. package/features/security/roles/feature.js +14 -18
  276. package/features/security/roles/feature.js.map +1 -1
  277. package/features/security/roles/shared/RoleProvider.js +27 -21
  278. package/features/security/roles/shared/RoleProvider.js.map +1 -1
  279. package/features/security/roles/shared/RolesRepository.js +96 -113
  280. package/features/security/roles/shared/RolesRepository.js.map +1 -1
  281. package/features/security/roles/shared/abstractions.js +3 -4
  282. package/features/security/roles/shared/abstractions.js.map +1 -1
  283. package/features/security/roles/shared/decorators/ListCache.js +23 -22
  284. package/features/security/roles/shared/decorators/ListCache.js.map +1 -1
  285. package/features/security/roles/shared/decorators/RolesRepositoryCachingDecorator.js +40 -62
  286. package/features/security/roles/shared/decorators/RolesRepositoryCachingDecorator.js.map +1 -1
  287. package/features/security/roles/shared/errors.js +50 -56
  288. package/features/security/roles/shared/errors.js.map +1 -1
  289. package/features/security/roles/shared/types.js +0 -3
  290. package/features/security/shared/abstractions.js +4 -6
  291. package/features/security/shared/abstractions.js.map +1 -1
  292. package/features/security/shared/errors.js +8 -8
  293. package/features/security/shared/errors.js.map +1 -1
  294. package/features/security/shared/index.js +0 -2
  295. package/features/security/teams/CreateTeam/CreateTeamUseCase.js +53 -59
  296. package/features/security/teams/CreateTeam/CreateTeamUseCase.js.map +1 -1
  297. package/features/security/teams/CreateTeam/abstractions.js +2 -2
  298. package/features/security/teams/CreateTeam/abstractions.js.map +1 -1
  299. package/features/security/teams/CreateTeam/events.js +17 -16
  300. package/features/security/teams/CreateTeam/events.js.map +1 -1
  301. package/features/security/teams/CreateTeam/feature.js +6 -5
  302. package/features/security/teams/CreateTeam/feature.js.map +1 -1
  303. package/features/security/teams/CreateTeam/index.js +0 -2
  304. package/features/security/teams/CreateTeam/schema.js +6 -5
  305. package/features/security/teams/CreateTeam/schema.js.map +1 -1
  306. package/features/security/teams/DeleteTeam/DeleteTeamUseCase.js +36 -46
  307. package/features/security/teams/DeleteTeam/DeleteTeamUseCase.js.map +1 -1
  308. package/features/security/teams/DeleteTeam/abstractions.js +2 -2
  309. package/features/security/teams/DeleteTeam/abstractions.js.map +1 -1
  310. package/features/security/teams/DeleteTeam/events.js +17 -16
  311. package/features/security/teams/DeleteTeam/events.js.map +1 -1
  312. package/features/security/teams/DeleteTeam/feature.js +6 -5
  313. package/features/security/teams/DeleteTeam/feature.js.map +1 -1
  314. package/features/security/teams/DeleteTeam/index.js +0 -2
  315. package/features/security/teams/GetTeam/GetTeamUseCase.js +17 -17
  316. package/features/security/teams/GetTeam/GetTeamUseCase.js.map +1 -1
  317. package/features/security/teams/GetTeam/abstractions.js +2 -2
  318. package/features/security/teams/GetTeam/abstractions.js.map +1 -1
  319. package/features/security/teams/GetTeam/feature.js +6 -5
  320. package/features/security/teams/GetTeam/feature.js.map +1 -1
  321. package/features/security/teams/GetTeam/index.js +0 -2
  322. package/features/security/teams/ListTeams/ListTeamsUseCase.js +20 -21
  323. package/features/security/teams/ListTeams/ListTeamsUseCase.js.map +1 -1
  324. package/features/security/teams/ListTeams/abstractions.js +2 -2
  325. package/features/security/teams/ListTeams/abstractions.js.map +1 -1
  326. package/features/security/teams/ListTeams/feature.js +6 -5
  327. package/features/security/teams/ListTeams/feature.js.map +1 -1
  328. package/features/security/teams/ListTeams/index.js +0 -2
  329. package/features/security/teams/UpdateTeam/UpdateTeamUseCase.js +46 -58
  330. package/features/security/teams/UpdateTeam/UpdateTeamUseCase.js.map +1 -1
  331. package/features/security/teams/UpdateTeam/abstractions.js +2 -2
  332. package/features/security/teams/UpdateTeam/abstractions.js.map +1 -1
  333. package/features/security/teams/UpdateTeam/events.js +17 -16
  334. package/features/security/teams/UpdateTeam/events.js.map +1 -1
  335. package/features/security/teams/UpdateTeam/feature.js +6 -5
  336. package/features/security/teams/UpdateTeam/feature.js.map +1 -1
  337. package/features/security/teams/UpdateTeam/index.js +0 -2
  338. package/features/security/teams/UpdateTeam/schema.js +5 -4
  339. package/features/security/teams/UpdateTeam/schema.js.map +1 -1
  340. package/features/security/teams/feature.js +13 -17
  341. package/features/security/teams/feature.js.map +1 -1
  342. package/features/security/teams/shared/TeamProvider.js +27 -21
  343. package/features/security/teams/shared/TeamProvider.js.map +1 -1
  344. package/features/security/teams/shared/TeamsRepository.js +100 -118
  345. package/features/security/teams/shared/TeamsRepository.js.map +1 -1
  346. package/features/security/teams/shared/abstractions.js +3 -4
  347. package/features/security/teams/shared/abstractions.js.map +1 -1
  348. package/features/security/teams/shared/decorators/TeamsRepositoryCachingDecorator.js +40 -62
  349. package/features/security/teams/shared/decorators/TeamsRepositoryCachingDecorator.js.map +1 -1
  350. package/features/security/teams/shared/errors.js +62 -70
  351. package/features/security/teams/shared/errors.js.map +1 -1
  352. package/features/security/teams/shared/types.js +0 -3
  353. package/features/security/utils/AppPermissions.js +50 -89
  354. package/features/security/utils/AppPermissions.js.map +1 -1
  355. package/features/security/utils/IdentityValue.js +19 -22
  356. package/features/security/utils/IdentityValue.js.map +1 -1
  357. package/features/security/utils/filterOutCustomWbyAppsPermissions.js +24 -27
  358. package/features/security/utils/filterOutCustomWbyAppsPermissions.js.map +1 -1
  359. package/features/security/utils/getPermissionsFromRoles.js +5 -10
  360. package/features/security/utils/getPermissionsFromRoles.js.map +1 -1
  361. package/features/security/utils/isJwt.js +2 -1
  362. package/features/security/utils/isJwt.js.map +1 -1
  363. package/features/security/utils/verifyJwtUsingJwk.js +6 -7
  364. package/features/security/utils/verifyJwtUsingJwk.js.map +1 -1
  365. package/features/system/InstallSystem/InstallSystemUseCase.js +45 -44
  366. package/features/system/InstallSystem/InstallSystemUseCase.js.map +1 -1
  367. package/features/system/InstallSystem/abstractions.js +3 -17
  368. package/features/system/InstallSystem/abstractions.js.map +1 -1
  369. package/features/system/InstallSystem/errors.js +15 -16
  370. package/features/system/InstallSystem/errors.js.map +1 -1
  371. package/features/system/InstallSystem/events.js +8 -5
  372. package/features/system/InstallSystem/events.js.map +1 -1
  373. package/features/system/InstallSystem/feature.js +6 -7
  374. package/features/system/InstallSystem/feature.js.map +1 -1
  375. package/features/system/InstallSystem/index.js +2 -6
  376. package/features/system/SystemFeature.js +6 -5
  377. package/features/system/SystemFeature.js.map +1 -1
  378. package/features/task/TaskController/abstractions.js +2 -10
  379. package/features/task/TaskController/abstractions.js.map +1 -1
  380. package/features/task/TaskController/index.js +0 -2
  381. package/features/task/TaskDefinition/abstractions.js +8 -40
  382. package/features/task/TaskDefinition/abstractions.js.map +1 -1
  383. package/features/task/TaskDefinition/index.js +0 -2
  384. package/features/task/TaskService/abstractions.js +9 -13
  385. package/features/task/TaskService/abstractions.js.map +1 -1
  386. package/features/task/TaskService/index.js +0 -2
  387. package/features/tenancy/CreateTenant/CreateTenantGateway.js +14 -11
  388. package/features/tenancy/CreateTenant/CreateTenantGateway.js.map +1 -1
  389. package/features/tenancy/CreateTenant/CreateTenantRepository.js +18 -15
  390. package/features/tenancy/CreateTenant/CreateTenantRepository.js.map +1 -1
  391. package/features/tenancy/CreateTenant/CreateTenantUseCase.js +44 -41
  392. package/features/tenancy/CreateTenant/CreateTenantUseCase.js.map +1 -1
  393. package/features/tenancy/CreateTenant/abstractions.js +6 -29
  394. package/features/tenancy/CreateTenant/abstractions.js.map +1 -1
  395. package/features/tenancy/CreateTenant/decorators/CreateTenantWithWcpIncrement.js +16 -15
  396. package/features/tenancy/CreateTenant/decorators/CreateTenantWithWcpIncrement.js.map +1 -1
  397. package/features/tenancy/CreateTenant/errors.js +8 -8
  398. package/features/tenancy/CreateTenant/errors.js.map +1 -1
  399. package/features/tenancy/CreateTenant/events.js +16 -11
  400. package/features/tenancy/CreateTenant/events.js.map +1 -1
  401. package/features/tenancy/CreateTenant/feature.js +9 -8
  402. package/features/tenancy/CreateTenant/feature.js.map +1 -1
  403. package/features/tenancy/CreateTenant/index.js +2 -4
  404. package/features/tenancy/DeleteTenant/DeleteTenantGateway.js +15 -12
  405. package/features/tenancy/DeleteTenant/DeleteTenantGateway.js.map +1 -1
  406. package/features/tenancy/DeleteTenant/DeleteTenantRepository.js +22 -19
  407. package/features/tenancy/DeleteTenant/DeleteTenantRepository.js.map +1 -1
  408. package/features/tenancy/DeleteTenant/DeleteTenantUseCase.js +29 -27
  409. package/features/tenancy/DeleteTenant/DeleteTenantUseCase.js.map +1 -1
  410. package/features/tenancy/DeleteTenant/abstractions.js +6 -10
  411. package/features/tenancy/DeleteTenant/abstractions.js.map +1 -1
  412. package/features/tenancy/DeleteTenant/decorators/DeleteTenantWithWcpDecrement.js +16 -13
  413. package/features/tenancy/DeleteTenant/decorators/DeleteTenantWithWcpDecrement.js.map +1 -1
  414. package/features/tenancy/DeleteTenant/events.js +16 -11
  415. package/features/tenancy/DeleteTenant/events.js.map +1 -1
  416. package/features/tenancy/DeleteTenant/feature.js +9 -8
  417. package/features/tenancy/DeleteTenant/feature.js.map +1 -1
  418. package/features/tenancy/DeleteTenant/index.js +2 -4
  419. package/features/tenancy/GetRootTenant/GetRootTenantUseCase.js +15 -12
  420. package/features/tenancy/GetRootTenant/GetRootTenantUseCase.js.map +1 -1
  421. package/features/tenancy/GetRootTenant/abstractions.js +2 -4
  422. package/features/tenancy/GetRootTenant/abstractions.js.map +1 -1
  423. package/features/tenancy/GetRootTenant/feature.js +6 -5
  424. package/features/tenancy/GetRootTenant/feature.js.map +1 -1
  425. package/features/tenancy/GetRootTenant/index.js +0 -2
  426. package/features/tenancy/GetTenantById/GetTenantByIdGateway.js +17 -12
  427. package/features/tenancy/GetTenantById/GetTenantByIdGateway.js.map +1 -1
  428. package/features/tenancy/GetTenantById/GetTenantByIdRepository.js +18 -19
  429. package/features/tenancy/GetTenantById/GetTenantByIdRepository.js.map +1 -1
  430. package/features/tenancy/GetTenantById/GetTenantByIdUseCase.js +17 -17
  431. package/features/tenancy/GetTenantById/GetTenantByIdUseCase.js.map +1 -1
  432. package/features/tenancy/GetTenantById/abstractions.js +4 -6
  433. package/features/tenancy/GetTenantById/abstractions.js.map +1 -1
  434. package/features/tenancy/GetTenantById/feature.js +8 -12
  435. package/features/tenancy/GetTenantById/feature.js.map +1 -1
  436. package/features/tenancy/GetTenantById/index.js +1 -3
  437. package/features/tenancy/InstallTenant/DependencyResolver.js +53 -65
  438. package/features/tenancy/InstallTenant/DependencyResolver.js.map +1 -1
  439. package/features/tenancy/InstallTenant/InstallTenantUseCase.js +95 -113
  440. package/features/tenancy/InstallTenant/InstallTenantUseCase.js.map +1 -1
  441. package/features/tenancy/InstallTenant/abstractions.js +4 -15
  442. package/features/tenancy/InstallTenant/abstractions.js.map +1 -1
  443. package/features/tenancy/InstallTenant/errors.js +15 -16
  444. package/features/tenancy/InstallTenant/errors.js.map +1 -1
  445. package/features/tenancy/InstallTenant/events.js +8 -5
  446. package/features/tenancy/InstallTenant/events.js.map +1 -1
  447. package/features/tenancy/InstallTenant/feature.js +6 -5
  448. package/features/tenancy/InstallTenant/feature.js.map +1 -1
  449. package/features/tenancy/InstallTenant/index.js +1 -3
  450. package/features/tenancy/ListTenants/ListTenantsGateway.js +14 -11
  451. package/features/tenancy/ListTenants/ListTenantsGateway.js.map +1 -1
  452. package/features/tenancy/ListTenants/ListTenantsRepository.js +14 -12
  453. package/features/tenancy/ListTenants/ListTenantsRepository.js.map +1 -1
  454. package/features/tenancy/ListTenants/ListTenantsUseCase.js +16 -14
  455. package/features/tenancy/ListTenants/ListTenantsUseCase.js.map +1 -1
  456. package/features/tenancy/ListTenants/abstractions.js +4 -12
  457. package/features/tenancy/ListTenants/abstractions.js.map +1 -1
  458. package/features/tenancy/ListTenants/feature.js +8 -7
  459. package/features/tenancy/ListTenants/feature.js.map +1 -1
  460. package/features/tenancy/ListTenants/index.js +1 -3
  461. package/features/tenancy/TenancyFeature.js +20 -26
  462. package/features/tenancy/TenancyFeature.js.map +1 -1
  463. package/features/tenancy/TenantContext/TenantContext.js +46 -48
  464. package/features/tenancy/TenantContext/TenantContext.js.map +1 -1
  465. package/features/tenancy/TenantContext/abstractions.js +2 -2
  466. package/features/tenancy/TenantContext/abstractions.js.map +1 -1
  467. package/features/tenancy/TenantContext/errors.js +7 -7
  468. package/features/tenancy/TenantContext/errors.js.map +1 -1
  469. package/features/tenancy/TenantContext/feature.js +6 -5
  470. package/features/tenancy/TenantContext/feature.js.map +1 -1
  471. package/features/tenancy/TenantContext/index.js +0 -2
  472. package/features/tenancy/UpdateTenant/UpdateTenantGateway.js +14 -11
  473. package/features/tenancy/UpdateTenant/UpdateTenantGateway.js.map +1 -1
  474. package/features/tenancy/UpdateTenant/UpdateTenantRepository.js +19 -16
  475. package/features/tenancy/UpdateTenant/UpdateTenantRepository.js.map +1 -1
  476. package/features/tenancy/UpdateTenant/UpdateTenantUseCase.js +37 -36
  477. package/features/tenancy/UpdateTenant/UpdateTenantUseCase.js.map +1 -1
  478. package/features/tenancy/UpdateTenant/abstractions.js +6 -10
  479. package/features/tenancy/UpdateTenant/abstractions.js.map +1 -1
  480. package/features/tenancy/UpdateTenant/events.js +16 -11
  481. package/features/tenancy/UpdateTenant/events.js.map +1 -1
  482. package/features/tenancy/UpdateTenant/feature.js +8 -7
  483. package/features/tenancy/UpdateTenant/feature.js.map +1 -1
  484. package/features/tenancy/UpdateTenant/index.js +2 -4
  485. package/features/tenancy/shared/TenantCache.js +18 -17
  486. package/features/tenancy/shared/TenantCache.js.map +1 -1
  487. package/features/tenancy/shared/abstractions.js +2 -1
  488. package/features/tenancy/shared/abstractions.js.map +1 -1
  489. package/features/tenancy/shared/storageOperations.js +2 -5
  490. package/features/tenancy/shared/storageOperations.js.map +1 -1
  491. package/features/users/AdminUsersFeature.js +15 -19
  492. package/features/users/AdminUsersFeature.js.map +1 -1
  493. package/features/users/CreateUser/CreateUserUseCase.js +65 -100
  494. package/features/users/CreateUser/CreateUserUseCase.js.map +1 -1
  495. package/features/users/CreateUser/abstractions.js +2 -13
  496. package/features/users/CreateUser/abstractions.js.map +1 -1
  497. package/features/users/CreateUser/decorators/CreateUserWithWcpIncrement.js +16 -15
  498. package/features/users/CreateUser/decorators/CreateUserWithWcpIncrement.js.map +1 -1
  499. package/features/users/CreateUser/events.js +17 -18
  500. package/features/users/CreateUser/events.js.map +1 -1
  501. package/features/users/CreateUser/feature.js +7 -6
  502. package/features/users/CreateUser/feature.js.map +1 -1
  503. package/features/users/CreateUser/index.js +0 -2
  504. package/features/users/CreateUser/schema.js +14 -18
  505. package/features/users/CreateUser/schema.js.map +1 -1
  506. package/features/users/DeleteUser/DeleteUserUseCase.js +35 -50
  507. package/features/users/DeleteUser/DeleteUserUseCase.js.map +1 -1
  508. package/features/users/DeleteUser/abstractions.js +2 -13
  509. package/features/users/DeleteUser/abstractions.js.map +1 -1
  510. package/features/users/DeleteUser/decorators/DeleteUserWithWcpDecrement.js +15 -16
  511. package/features/users/DeleteUser/decorators/DeleteUserWithWcpDecrement.js.map +1 -1
  512. package/features/users/DeleteUser/errors.js +7 -7
  513. package/features/users/DeleteUser/errors.js.map +1 -1
  514. package/features/users/DeleteUser/events.js +17 -18
  515. package/features/users/DeleteUser/events.js.map +1 -1
  516. package/features/users/DeleteUser/feature.js +7 -6
  517. package/features/users/DeleteUser/feature.js.map +1 -1
  518. package/features/users/DeleteUser/index.js +0 -2
  519. package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.js +60 -74
  520. package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.js.map +1 -1
  521. package/features/users/ExternalIdpUserSync/feature.js +6 -5
  522. package/features/users/ExternalIdpUserSync/feature.js.map +1 -1
  523. package/features/users/ExternalIdpUserSync/index.js +0 -2
  524. package/features/users/GetIdentityProfile/GetIdentityProfileUseCase.js +29 -39
  525. package/features/users/GetIdentityProfile/GetIdentityProfileUseCase.js.map +1 -1
  526. package/features/users/GetIdentityProfile/abstractions.js +2 -11
  527. package/features/users/GetIdentityProfile/abstractions.js.map +1 -1
  528. package/features/users/GetIdentityProfile/feature.js +6 -5
  529. package/features/users/GetIdentityProfile/feature.js.map +1 -1
  530. package/features/users/GetIdentityProfile/index.js +0 -2
  531. package/features/users/GetIdentityProfile/types.js +0 -3
  532. package/features/users/GetUser/GetUserUseCase.js +19 -23
  533. package/features/users/GetUser/GetUserUseCase.js.map +1 -1
  534. package/features/users/GetUser/abstractions.js +2 -11
  535. package/features/users/GetUser/abstractions.js.map +1 -1
  536. package/features/users/GetUser/feature.js +6 -5
  537. package/features/users/GetUser/feature.js.map +1 -1
  538. package/features/users/GetUser/index.js +0 -2
  539. package/features/users/ListUserTeams/ListUserTeamsUseCase.js +33 -42
  540. package/features/users/ListUserTeams/ListUserTeamsUseCase.js.map +1 -1
  541. package/features/users/ListUserTeams/abstractions.js +2 -11
  542. package/features/users/ListUserTeams/abstractions.js.map +1 -1
  543. package/features/users/ListUserTeams/feature.js +6 -5
  544. package/features/users/ListUserTeams/feature.js.map +1 -1
  545. package/features/users/ListUserTeams/index.js +0 -2
  546. package/features/users/ListUsers/ListUsersUseCase.js +19 -23
  547. package/features/users/ListUsers/ListUsersUseCase.js.map +1 -1
  548. package/features/users/ListUsers/abstractions.js +2 -11
  549. package/features/users/ListUsers/abstractions.js.map +1 -1
  550. package/features/users/ListUsers/feature.js +6 -5
  551. package/features/users/ListUsers/feature.js.map +1 -1
  552. package/features/users/ListUsers/index.js +0 -2
  553. package/features/users/UpdateUser/UpdateUserUseCase.js +52 -74
  554. package/features/users/UpdateUser/UpdateUserUseCase.js.map +1 -1
  555. package/features/users/UpdateUser/abstractions.js +2 -13
  556. package/features/users/UpdateUser/abstractions.js.map +1 -1
  557. package/features/users/UpdateUser/events.js +17 -18
  558. package/features/users/UpdateUser/events.js.map +1 -1
  559. package/features/users/UpdateUser/feature.js +6 -5
  560. package/features/users/UpdateUser/feature.js.map +1 -1
  561. package/features/users/UpdateUser/index.js +0 -2
  562. package/features/users/UpdateUser/schema.js +11 -10
  563. package/features/users/UpdateUser/schema.js.map +1 -1
  564. package/features/users/shared/AdminUsersRepository.js +104 -112
  565. package/features/users/shared/AdminUsersRepository.js.map +1 -1
  566. package/features/users/shared/abstractions.js +2 -9
  567. package/features/users/shared/abstractions.js.map +1 -1
  568. package/features/users/shared/errors.js +40 -46
  569. package/features/users/shared/errors.js.map +1 -1
  570. package/features/users/shared/loaders.js +52 -66
  571. package/features/users/shared/loaders.js.map +1 -1
  572. package/features/users/shared/storageAbstractions.js +2 -2
  573. package/features/users/shared/storageAbstractions.js.map +1 -1
  574. package/features/users/shared/types.js +0 -3
  575. package/features/wcp/WcpContext/WcpContext.js +138 -142
  576. package/features/wcp/WcpContext/WcpContext.js.map +1 -1
  577. package/features/wcp/WcpContext/abstractions.js +2 -6
  578. package/features/wcp/WcpContext/abstractions.js.map +1 -1
  579. package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.js +135 -134
  580. package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.js.map +1 -1
  581. package/features/wcp/WcpContext/feature.js +6 -5
  582. package/features/wcp/WcpContext/feature.js.map +1 -1
  583. package/features/wcp/WcpContext/index.js +0 -2
  584. package/features/wcp/WcpContext/types.js +0 -3
  585. package/features/wcp/WcpContext/utils.js +35 -53
  586. package/features/wcp/WcpContext/utils.js.map +1 -1
  587. package/features/wcp/WcpFeature.js +7 -6
  588. package/features/wcp/WcpFeature.js.map +1 -1
  589. package/features/webhooks/Webhook/WebhookProvider.d.ts +12 -0
  590. package/features/webhooks/Webhook/WebhookProvider.js +28 -0
  591. package/features/webhooks/Webhook/WebhookProvider.js.map +1 -0
  592. package/features/webhooks/Webhook/abstractions/WebhookFactory.d.ts +14 -0
  593. package/features/webhooks/Webhook/abstractions/WebhookFactory.js +5 -0
  594. package/features/webhooks/Webhook/abstractions/WebhookFactory.js.map +1 -0
  595. package/features/webhooks/Webhook/abstractions/WebhookProvider.d.ts +9 -0
  596. package/features/webhooks/Webhook/abstractions/WebhookProvider.js +5 -0
  597. package/features/webhooks/Webhook/abstractions/WebhookProvider.js.map +1 -0
  598. package/features/webhooks/Webhook/feature.d.ts +4 -0
  599. package/features/webhooks/Webhook/feature.js +11 -0
  600. package/features/webhooks/Webhook/feature.js.map +1 -0
  601. package/features/webhooks/Webhook/index.d.ts +2 -0
  602. package/features/webhooks/Webhook/index.js +2 -0
  603. package/features/webhooks/WebhookDispatcher/NullWebhookDispatcher.d.ts +8 -0
  604. package/features/webhooks/WebhookDispatcher/NullWebhookDispatcher.js +11 -0
  605. package/features/webhooks/WebhookDispatcher/NullWebhookDispatcher.js.map +1 -0
  606. package/features/webhooks/WebhookDispatcher/abstractions.d.ts +12 -0
  607. package/features/webhooks/WebhookDispatcher/abstractions.js +5 -0
  608. package/features/webhooks/WebhookDispatcher/abstractions.js.map +1 -0
  609. package/features/webhooks/WebhookSignPayload/abstractions.d.ts +14 -0
  610. package/features/webhooks/WebhookSignPayload/abstractions.js +5 -0
  611. package/features/webhooks/WebhookSignPayload/abstractions.js.map +1 -0
  612. package/features/webhooks/WebhookVerifyPayload/abstractions.d.ts +11 -0
  613. package/features/webhooks/WebhookVerifyPayload/abstractions.js +5 -0
  614. package/features/webhooks/WebhookVerifyPayload/abstractions.js.map +1 -0
  615. package/features/webhooks/index.d.ts +5 -0
  616. package/features/webhooks/index.js +5 -0
  617. package/graphql/security/NotAuthorizedResponse.js +11 -14
  618. package/graphql/security/NotAuthorizedResponse.js.map +1 -1
  619. package/graphql/security/ProfileMapper.js +12 -11
  620. package/graphql/security/ProfileMapper.js.map +1 -1
  621. package/graphql/security/apiKey.gql.js +38 -47
  622. package/graphql/security/apiKey.gql.js.map +1 -1
  623. package/graphql/security/base.gql.js +11 -10
  624. package/graphql/security/base.gql.js.map +1 -1
  625. package/graphql/security/identity.gql.js +87 -97
  626. package/graphql/security/identity.gql.js.map +1 -1
  627. package/graphql/security/index.js +13 -8
  628. package/graphql/security/index.js.map +1 -1
  629. package/graphql/security/role.gql.js +49 -57
  630. package/graphql/security/role.gql.js.map +1 -1
  631. package/graphql/security/team.gql.js +61 -69
  632. package/graphql/security/team.gql.js.map +1 -1
  633. package/graphql/system/createSystemGraphQL.js +31 -34
  634. package/graphql/system/createSystemGraphQL.js.map +1 -1
  635. package/graphql/users/user.gql.js +87 -105
  636. package/graphql/users/user.gql.js.map +1 -1
  637. package/graphql/wcp/graphql.js +25 -28
  638. package/graphql/wcp/graphql.js.map +1 -1
  639. package/idp/JwksCache.js +22 -28
  640. package/idp/JwksCache.js.map +1 -1
  641. package/idp/JwtAuthenticator.js +34 -46
  642. package/idp/JwtAuthenticator.js.map +1 -1
  643. package/idp/OidcJwtIdentityProvider.js +55 -82
  644. package/idp/OidcJwtIdentityProvider.js.map +1 -1
  645. package/idp/abstractions.js +5 -14
  646. package/idp/abstractions.js.map +1 -1
  647. package/idp/feature.js +8 -7
  648. package/idp/feature.js.map +1 -1
  649. package/idp/index.js +1 -3
  650. package/idp/types.js +0 -3
  651. package/index.js +0 -2
  652. package/legacy/security/LegacyContext.js +133 -186
  653. package/legacy/security/LegacyContext.js.map +1 -1
  654. package/legacy/security/createSecurityContext.js +5 -9
  655. package/legacy/security/createSecurityContext.js.map +1 -1
  656. package/legacy/security/plugins/apiKeyAuthentication.js +15 -24
  657. package/legacy/security/plugins/apiKeyAuthentication.js.map +1 -1
  658. package/legacy/security/plugins/apiKeyAuthorization.js +9 -18
  659. package/legacy/security/plugins/apiKeyAuthorization.js.map +1 -1
  660. package/legacy/security/plugins/authenticateUsingCookie.js +18 -22
  661. package/legacy/security/plugins/authenticateUsingCookie.js.map +1 -1
  662. package/legacy/security/plugins/authenticateUsingHttpHeader.d.ts +1 -1
  663. package/legacy/security/plugins/authenticateUsingHttpHeader.js +15 -18
  664. package/legacy/security/plugins/authenticateUsingHttpHeader.js.map +1 -1
  665. package/legacy/security/plugins/secureHeaders.js +28 -21
  666. package/legacy/security/plugins/secureHeaders.js.map +1 -1
  667. package/legacy/tenancy/LegacyContext.js +45 -52
  668. package/legacy/tenancy/LegacyContext.js.map +1 -1
  669. package/legacy/tenancy/createTenancyContext.js +22 -42
  670. package/legacy/tenancy/createTenancyContext.js.map +1 -1
  671. package/legacy/users/LegacyContext.js +39 -54
  672. package/legacy/users/LegacyContext.js.map +1 -1
  673. package/legacy/users/createAdminUsersContext.js +7 -7
  674. package/legacy/users/createAdminUsersContext.js.map +1 -1
  675. package/legacy/wcp/LegacyWcpContext.js +80 -79
  676. package/legacy/wcp/LegacyWcpContext.js.map +1 -1
  677. package/legacy/wcp/context.d.ts +1 -3
  678. package/legacy/wcp/context.js +33 -37
  679. package/legacy/wcp/context.js.map +1 -1
  680. package/models/base/BaseModel.js +51 -56
  681. package/models/base/BaseModel.js.map +1 -1
  682. package/models/base/ModelBuilder.js +65 -78
  683. package/models/base/ModelBuilder.js.map +1 -1
  684. package/models/base/ModelFactory.js +0 -3
  685. package/models/base/__tests__/ModelBuilder.test.js +437 -454
  686. package/models/base/__tests__/ModelBuilder.test.js.map +1 -1
  687. package/models/base/abstractions.js +0 -3
  688. package/models/cms/FieldBuilder.js +112 -121
  689. package/models/cms/FieldBuilder.js.map +1 -1
  690. package/models/cms/FieldBuilderRegistry.js +13 -12
  691. package/models/cms/FieldBuilderRegistry.js.map +1 -1
  692. package/models/cms/FieldDefinitionsBuilder.js +37 -54
  693. package/models/cms/FieldDefinitionsBuilder.js.map +1 -1
  694. package/models/cms/PrivateCmsModelBuilder.js +84 -89
  695. package/models/cms/PrivateCmsModelBuilder.js.map +1 -1
  696. package/models/cms/PrivatePage/Page.fields.js +7 -6
  697. package/models/cms/PrivatePage/Page.fields.js.map +1 -1
  698. package/models/cms/PrivatePage/PageModelBuilder.js +18 -15
  699. package/models/cms/PrivatePage/PageModelBuilder.js.map +1 -1
  700. package/models/cms/PrivatePage/PageModelFactory.js +20 -25
  701. package/models/cms/PrivatePage/PageModelFactory.js.map +1 -1
  702. package/models/cms/PrivatePage/__tests__/PageModelFactory.test.js +218 -234
  703. package/models/cms/PrivatePage/__tests__/PageModelFactory.test.js.map +1 -1
  704. package/models/cms/PrivatePage/__tests__/PagePublishingDecorator.js +33 -36
  705. package/models/cms/PrivatePage/__tests__/PagePublishingDecorator.js.map +1 -1
  706. package/models/cms/PrivatePage/__tests__/PageSeoDecorator.js +25 -26
  707. package/models/cms/PrivatePage/__tests__/PageSeoDecorator.js.map +1 -1
  708. package/models/cms/PrivatePage/abstractions.js +3 -9
  709. package/models/cms/PrivatePage/abstractions.js.map +1 -1
  710. package/models/cms/__tests__/PrivateCmsModelBuilder.test.js +173 -185
  711. package/models/cms/__tests__/PrivateCmsModelBuilder.test.js.map +1 -1
  712. package/models/cms/abstractions.js +3 -20
  713. package/models/cms/abstractions.js.map +1 -1
  714. package/models/cms/types.js +0 -3
  715. package/models/simple/Page/PageModelBuilder.js +15 -14
  716. package/models/simple/Page/PageModelBuilder.js.map +1 -1
  717. package/models/simple/Page/PageModelFactory.js +16 -15
  718. package/models/simple/Page/PageModelFactory.js.map +1 -1
  719. package/models/simple/Page/__tests__/PageModelBuilderDecorator.js +21 -20
  720. package/models/simple/Page/__tests__/PageModelBuilderDecorator.js.map +1 -1
  721. package/models/simple/Page/__tests__/PageModelBuilderDecorator2.js +17 -16
  722. package/models/simple/Page/__tests__/PageModelBuilderDecorator2.js.map +1 -1
  723. package/models/simple/Page/__tests__/PageModelFactory.test.js +28 -28
  724. package/models/simple/Page/__tests__/PageModelFactory.test.js.map +1 -1
  725. package/models/simple/Page/abstractions.js +9 -8
  726. package/models/simple/Page/abstractions.js.map +1 -1
  727. package/package.json +22 -22
  728. package/types/core.js +0 -3
  729. package/types/security.js +0 -3
  730. package/types/tenancy.js +0 -3
  731. package/types/users.js +0 -3
  732. package/domain/tenancy/errors.js.map +0 -1
  733. package/exports/api/build-params.js.map +0 -1
  734. package/exports/api/event-publisher.js.map +0 -1
  735. package/exports/api/graphql.js.map +0 -1
  736. package/exports/api/key-value-store.js.map +0 -1
  737. package/exports/api/logger.js.map +0 -1
  738. package/exports/api/security/api-key.js.map +0 -1
  739. package/exports/api/security/authentication.js.map +0 -1
  740. package/exports/api/security/role.js.map +0 -1
  741. package/exports/api/security/user.js.map +0 -1
  742. package/exports/api/security.js.map +0 -1
  743. package/exports/api/system.js.map +0 -1
  744. package/exports/api/tasks.js.map +0 -1
  745. package/exports/api/tenancy.js.map +0 -1
  746. package/exports/api.js.map +0 -1
  747. package/features/ai/index.js.map +0 -1
  748. package/features/buildParams/index.js.map +0 -1
  749. package/features/encryption/index.js.map +0 -1
  750. package/features/eventPublisher/index.js.map +0 -1
  751. package/features/keyValueStore/index.js.map +0 -1
  752. package/features/logger/index.js.map +0 -1
  753. package/features/masker/index.js.map +0 -1
  754. package/features/security/IdentityContext/index.js.map +0 -1
  755. package/features/security/apiKeys/CreateApiKey/index.js.map +0 -1
  756. package/features/security/apiKeys/DeleteApiKey/index.js.map +0 -1
  757. package/features/security/apiKeys/GetApiKey/index.js.map +0 -1
  758. package/features/security/apiKeys/GetApiKeyBySlug/index.js.map +0 -1
  759. package/features/security/apiKeys/GetApiKeyByToken/index.js.map +0 -1
  760. package/features/security/apiKeys/ListApiKeys/index.js.map +0 -1
  761. package/features/security/apiKeys/UpdateApiKey/index.js.map +0 -1
  762. package/features/security/apiKeys/shared/types.js.map +0 -1
  763. package/features/security/authentication/AuthenticationContext/index.js.map +0 -1
  764. package/features/security/authentication/Authenticator/index.js.map +0 -1
  765. package/features/security/authorization/AuthorizationContext/index.js.map +0 -1
  766. package/features/security/authorization/Authorizer/index.js.map +0 -1
  767. package/features/security/login/index.js.map +0 -1
  768. package/features/security/permissions/index.js.map +0 -1
  769. package/features/security/permissions/types.js.map +0 -1
  770. package/features/security/roles/CreateRole/index.js.map +0 -1
  771. package/features/security/roles/DeleteRole/index.js.map +0 -1
  772. package/features/security/roles/GetRole/index.js.map +0 -1
  773. package/features/security/roles/ListRoles/index.js.map +0 -1
  774. package/features/security/roles/UpdateRole/index.js.map +0 -1
  775. package/features/security/roles/shared/types.js.map +0 -1
  776. package/features/security/shared/index.js.map +0 -1
  777. package/features/security/teams/CreateTeam/index.js.map +0 -1
  778. package/features/security/teams/DeleteTeam/index.js.map +0 -1
  779. package/features/security/teams/GetTeam/index.js.map +0 -1
  780. package/features/security/teams/ListTeams/index.js.map +0 -1
  781. package/features/security/teams/UpdateTeam/index.js.map +0 -1
  782. package/features/security/teams/shared/types.js.map +0 -1
  783. package/features/system/InstallSystem/index.js.map +0 -1
  784. package/features/task/TaskController/index.js.map +0 -1
  785. package/features/task/TaskDefinition/index.js.map +0 -1
  786. package/features/task/TaskService/index.js.map +0 -1
  787. package/features/tenancy/CreateTenant/index.js.map +0 -1
  788. package/features/tenancy/DeleteTenant/index.js.map +0 -1
  789. package/features/tenancy/GetRootTenant/index.js.map +0 -1
  790. package/features/tenancy/GetTenantById/index.js.map +0 -1
  791. package/features/tenancy/InstallTenant/index.js.map +0 -1
  792. package/features/tenancy/ListTenants/index.js.map +0 -1
  793. package/features/tenancy/TenantContext/index.js.map +0 -1
  794. package/features/tenancy/UpdateTenant/index.js.map +0 -1
  795. package/features/users/CreateUser/index.js.map +0 -1
  796. package/features/users/DeleteUser/index.js.map +0 -1
  797. package/features/users/ExternalIdpUserSync/index.js.map +0 -1
  798. package/features/users/GetIdentityProfile/index.js.map +0 -1
  799. package/features/users/GetIdentityProfile/types.js.map +0 -1
  800. package/features/users/GetUser/index.js.map +0 -1
  801. package/features/users/ListUserTeams/index.js.map +0 -1
  802. package/features/users/ListUsers/index.js.map +0 -1
  803. package/features/users/UpdateUser/index.js.map +0 -1
  804. package/features/users/shared/types.js.map +0 -1
  805. package/features/wcp/WcpContext/index.js.map +0 -1
  806. package/features/wcp/WcpContext/types.js.map +0 -1
  807. package/idp/index.js.map +0 -1
  808. package/idp/types.js.map +0 -1
  809. package/index.js.map +0 -1
  810. package/models/base/ModelFactory.js.map +0 -1
  811. package/models/base/abstractions.js.map +0 -1
  812. package/models/cms/types.js.map +0 -1
  813. package/types/core.js.map +0 -1
  814. package/types/security.js.map +0 -1
  815. package/types/tenancy.js.map +0 -1
  816. package/types/users.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["createImplementation","Result","DeleteTeam","TeamsRepository","IdentityContext","EventPublisher","TeamBeforeDeleteEvent","TeamAfterDeleteEvent","NotAuthorizedError","CannotDeletePluginTeamsError","CannotDeleteSystemTeamsError","DeleteTeamUseCase","constructor","repository","identityContext","eventPublisher","execute","id","hasPermission","getPermission","fail","existingResult","get","isFail","error","existingTeam","value","system","plugin","publish","team","result","delete","ok","DeleteTeamUseCaseImpl","abstraction","implementation","dependencies"],"sources":["DeleteTeamUseCase.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport { DeleteTeam } from \"./abstractions.js\";\nimport { TeamsRepository } from \"../shared/abstractions.js\";\nimport { IdentityContext } from \"../../IdentityContext/abstractions.js\";\nimport { EventPublisher } from \"~/features/eventPublisher/index.js\";\nimport { TeamBeforeDeleteEvent, TeamAfterDeleteEvent } from \"./events.js\";\nimport {\n NotAuthorizedError,\n CannotDeletePluginTeamsError,\n CannotDeleteSystemTeamsError\n} from \"../shared/errors.js\";\n\nexport class DeleteTeamUseCase {\n private repository: TeamsRepository.Interface;\n private identityContext: IdentityContext.Interface;\n private eventPublisher: EventPublisher.Interface;\n\n constructor(\n repository: TeamsRepository.Interface,\n identityContext: IdentityContext.Interface,\n eventPublisher: EventPublisher.Interface\n ) {\n this.repository = repository;\n this.identityContext = identityContext;\n this.eventPublisher = eventPublisher;\n }\n\n async execute(id: string): Promise<Result<void, DeleteTeam.Error>> {\n const hasPermission = await this.identityContext.getPermission(\"security.team\");\n if (!hasPermission) {\n return Result.fail(new NotAuthorizedError());\n }\n\n const existingResult = await this.repository.get({ id });\n if (existingResult.isFail()) {\n return Result.fail(existingResult.error);\n }\n\n const existingTeam = existingResult.value;\n\n // Check if team is system team\n if (existingTeam.system) {\n return Result.fail(new CannotDeleteSystemTeamsError());\n }\n\n // Check if team is created via plugin\n if (existingTeam.plugin) {\n return Result.fail(new CannotDeletePluginTeamsError());\n }\n\n await this.eventPublisher.publish(new TeamBeforeDeleteEvent({ team: existingTeam }));\n\n const result = await this.repository.delete(existingTeam);\n\n if (result.isFail()) {\n return result;\n }\n\n await this.eventPublisher.publish(new TeamAfterDeleteEvent({ team: existingTeam }));\n\n return Result.ok();\n }\n}\n\nexport const DeleteTeamUseCaseImpl = createImplementation({\n abstraction: DeleteTeam,\n implementation: DeleteTeamUseCase,\n dependencies: [TeamsRepository, IdentityContext, EventPublisher]\n});\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,qBAAqB;AAC1D,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,UAAU;AACnB,SAASC,eAAe;AACxB,SAASC,eAAe;AACxB,SAASC,cAAc;AACvB,SAASC,qBAAqB,EAAEC,oBAAoB;AACpD,SACIC,kBAAkB,EAClBC,4BAA4B,EAC5BC,4BAA4B;AAGhC,OAAO,MAAMC,iBAAiB,CAAC;EAK3BC,WAAWA,CACPC,UAAqC,EACrCC,eAA0C,EAC1CC,cAAwC,EAC1C;IACE,IAAI,CAACF,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACC,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACC,cAAc,GAAGA,cAAc;EACxC;EAEA,MAAMC,OAAOA,CAACC,EAAU,EAA2C;IAC/D,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACJ,eAAe,CAACK,aAAa,CAAC,eAAe,CAAC;IAC/E,IAAI,CAACD,aAAa,EAAE;MAChB,OAAOjB,MAAM,CAACmB,IAAI,CAAC,IAAIZ,kBAAkB,CAAC,CAAC,CAAC;IAChD;IAEA,MAAMa,cAAc,GAAG,MAAM,IAAI,CAACR,UAAU,CAACS,GAAG,CAAC;MAAEL;IAAG,CAAC,CAAC;IACxD,IAAII,cAAc,CAACE,MAAM,CAAC,CAAC,EAAE;MACzB,OAAOtB,MAAM,CAACmB,IAAI,CAACC,cAAc,CAACG,KAAK,CAAC;IAC5C;IAEA,MAAMC,YAAY,GAAGJ,cAAc,CAACK,KAAK;;IAEzC;IACA,IAAID,YAAY,CAACE,MAAM,EAAE;MACrB,OAAO1B,MAAM,CAACmB,IAAI,CAAC,IAAIV,4BAA4B,CAAC,CAAC,CAAC;IAC1D;;IAEA;IACA,IAAIe,YAAY,CAACG,MAAM,EAAE;MACrB,OAAO3B,MAAM,CAACmB,IAAI,CAAC,IAAIX,4BAA4B,CAAC,CAAC,CAAC;IAC1D;IAEA,MAAM,IAAI,CAACM,cAAc,CAACc,OAAO,CAAC,IAAIvB,qBAAqB,CAAC;MAAEwB,IAAI,EAAEL;IAAa,CAAC,CAAC,CAAC;IAEpF,MAAMM,MAAM,GAAG,MAAM,IAAI,CAAClB,UAAU,CAACmB,MAAM,CAACP,YAAY,CAAC;IAEzD,IAAIM,MAAM,CAACR,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOQ,MAAM;IACjB;IAEA,MAAM,IAAI,CAAChB,cAAc,CAACc,OAAO,CAAC,IAAItB,oBAAoB,CAAC;MAAEuB,IAAI,EAAEL;IAAa,CAAC,CAAC,CAAC;IAEnF,OAAOxB,MAAM,CAACgC,EAAE,CAAC,CAAC;EACtB;AACJ;AAEA,OAAO,MAAMC,qBAAqB,GAAGlC,oBAAoB,CAAC;EACtDmC,WAAW,EAAEjC,UAAU;EACvBkC,cAAc,EAAEzB,iBAAiB;EACjC0B,YAAY,EAAE,CAAClC,eAAe,EAAEC,eAAe,EAAEC,cAAc;AACnE,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/teams/DeleteTeam/DeleteTeamUseCase.js","sources":["../../../../../src/features/security/teams/DeleteTeam/DeleteTeamUseCase.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport { DeleteTeam } from \"./abstractions.js\";\nimport { TeamsRepository } from \"../shared/abstractions.js\";\nimport { IdentityContext } from \"../../IdentityContext/abstractions.js\";\nimport { EventPublisher } from \"~/features/eventPublisher/index.js\";\nimport { TeamBeforeDeleteEvent, TeamAfterDeleteEvent } from \"./events.js\";\nimport {\n NotAuthorizedError,\n CannotDeletePluginTeamsError,\n CannotDeleteSystemTeamsError\n} from \"../shared/errors.js\";\n\nexport class DeleteTeamUseCase {\n private repository: TeamsRepository.Interface;\n private identityContext: IdentityContext.Interface;\n private eventPublisher: EventPublisher.Interface;\n\n constructor(\n repository: TeamsRepository.Interface,\n identityContext: IdentityContext.Interface,\n eventPublisher: EventPublisher.Interface\n ) {\n this.repository = repository;\n this.identityContext = identityContext;\n this.eventPublisher = eventPublisher;\n }\n\n async execute(id: string): Promise<Result<void, DeleteTeam.Error>> {\n const hasPermission = await this.identityContext.getPermission(\"security.team\");\n if (!hasPermission) {\n return Result.fail(new NotAuthorizedError());\n }\n\n const existingResult = await this.repository.get({ id });\n if (existingResult.isFail()) {\n return Result.fail(existingResult.error);\n }\n\n const existingTeam = existingResult.value;\n\n // Check if team is system team\n if (existingTeam.system) {\n return Result.fail(new CannotDeleteSystemTeamsError());\n }\n\n // Check if team is created via plugin\n if (existingTeam.plugin) {\n return Result.fail(new CannotDeletePluginTeamsError());\n }\n\n await this.eventPublisher.publish(new TeamBeforeDeleteEvent({ team: existingTeam }));\n\n const result = await this.repository.delete(existingTeam);\n\n if (result.isFail()) {\n return result;\n }\n\n await this.eventPublisher.publish(new TeamAfterDeleteEvent({ team: existingTeam }));\n\n return Result.ok();\n }\n}\n\nexport const DeleteTeamUseCaseImpl = createImplementation({\n abstraction: DeleteTeam,\n implementation: DeleteTeamUseCase,\n dependencies: [TeamsRepository, IdentityContext, EventPublisher]\n});\n"],"names":["DeleteTeamUseCase","repository","identityContext","eventPublisher","id","hasPermission","Result","NotAuthorizedError","existingResult","existingTeam","CannotDeleteSystemTeamsError","CannotDeletePluginTeamsError","TeamBeforeDeleteEvent","result","TeamAfterDeleteEvent","DeleteTeamUseCaseImpl","createImplementation","DeleteTeam","TeamsRepository","IdentityContext","EventPublisher"],"mappings":";;;;;;;AAaO,MAAMA;IAKT,YACIC,UAAqC,EACrCC,eAA0C,EAC1CC,cAAwC,CAC1C;QACE,IAAI,CAAC,UAAU,GAAGF;QAClB,IAAI,CAAC,eAAe,GAAGC;QACvB,IAAI,CAAC,cAAc,GAAGC;IAC1B;IAEA,MAAM,QAAQC,EAAU,EAA2C;QAC/D,MAAMC,gBAAgB,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;QAC/D,IAAI,CAACA,eACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAG3B,MAAMC,iBAAiB,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAEJ;QAAG;QACtD,IAAII,eAAe,MAAM,IACrB,OAAOF,OAAO,IAAI,CAACE,eAAe,KAAK;QAG3C,MAAMC,eAAeD,eAAe,KAAK;QAGzC,IAAIC,aAAa,MAAM,EACnB,OAAOH,OAAO,IAAI,CAAC,IAAII;QAI3B,IAAID,aAAa,MAAM,EACnB,OAAOH,OAAO,IAAI,CAAC,IAAIK;QAG3B,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAIC,sBAAsB;YAAE,MAAMH;QAAa;QAEjF,MAAMI,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAACJ;QAE5C,IAAII,OAAO,MAAM,IACb,OAAOA;QAGX,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAIC,qBAAqB;YAAE,MAAML;QAAa;QAEhF,OAAOH,OAAO,EAAE;IACpB;AACJ;AAEO,MAAMS,wBAAwBC,qBAAqB;IACtD,aAAaC;IACb,gBAAgBjB;IAChB,cAAc;QAACkB;QAAiBC;QAAiBC;KAAe;AACpE"}
@@ -1,5 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
- /** Delete a team. */
3
- export const DeleteTeam = createAbstraction("DeleteTeam");
2
+ const DeleteTeam = createAbstraction("DeleteTeam");
3
+ export { DeleteTeam };
4
4
 
5
5
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","DeleteTeam"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport type { Team } from \"../shared/types.js\";\nimport { TeamsRepository } from \"../shared/abstractions.js\";\nimport {\n NotAuthorizedError,\n CannotDeletePluginTeamsError,\n CannotDeleteSystemTeamsError\n} from \"../shared/errors.js\";\n\nexport interface IDeleteTeamErrors {\n notAuthorized: NotAuthorizedError;\n cannotDeletePlugin: CannotDeletePluginTeamsError;\n cannotDeleteSystem: CannotDeleteSystemTeamsError;\n}\n\ntype DeleteTeamError = IDeleteTeamErrors[keyof IDeleteTeamErrors] | TeamsRepository.Error;\n\nexport interface IDeleteTeam {\n execute(id: string): Promise<Result<void, DeleteTeamError>>;\n}\n\n/** Delete a team. */\nexport const DeleteTeam = createAbstraction<IDeleteTeam>(\"DeleteTeam\");\n\nexport namespace DeleteTeam {\n export type Interface = IDeleteTeam;\n export type Error = DeleteTeamError;\n}\n\nexport interface TeamBeforeDeletePayload {\n team: Team;\n}\n\nexport interface TeamAfterDeletePayload {\n team: Team;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAsBvD;AACA,OAAO,MAAMC,UAAU,GAAGD,iBAAiB,CAAc,YAAY,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/teams/DeleteTeam/abstractions.js","sources":["../../../../../src/features/security/teams/DeleteTeam/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport type { Team } from \"../shared/types.js\";\nimport { TeamsRepository } from \"../shared/abstractions.js\";\nimport {\n NotAuthorizedError,\n CannotDeletePluginTeamsError,\n CannotDeleteSystemTeamsError\n} from \"../shared/errors.js\";\n\nexport interface IDeleteTeamErrors {\n notAuthorized: NotAuthorizedError;\n cannotDeletePlugin: CannotDeletePluginTeamsError;\n cannotDeleteSystem: CannotDeleteSystemTeamsError;\n}\n\ntype DeleteTeamError = IDeleteTeamErrors[keyof IDeleteTeamErrors] | TeamsRepository.Error;\n\nexport interface IDeleteTeam {\n execute(id: string): Promise<Result<void, DeleteTeamError>>;\n}\n\n/** Delete a team. */\nexport const DeleteTeam = createAbstraction<IDeleteTeam>(\"DeleteTeam\");\n\nexport namespace DeleteTeam {\n export type Interface = IDeleteTeam;\n export type Error = DeleteTeamError;\n}\n\nexport interface TeamBeforeDeletePayload {\n team: Team;\n}\n\nexport interface TeamAfterDeletePayload {\n team: Team;\n}\n"],"names":["DeleteTeam","createAbstraction"],"mappings":";AAuBO,MAAMA,aAAaC,kBAA+B"}
@@ -1,22 +1,23 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
2
  import { DomainEvent } from "../../../eventPublisher/index.js";
3
- export class TeamBeforeDeleteEvent extends DomainEvent {
4
- eventType = "team.beforeDelete";
5
- getHandlerAbstraction() {
6
- return TeamBeforeDeleteEventHandler;
7
- }
3
+ class TeamBeforeDeleteEvent extends DomainEvent {
4
+ getHandlerAbstraction() {
5
+ return TeamBeforeDeleteEventHandler;
6
+ }
7
+ constructor(...args){
8
+ super(...args), this.eventType = "team.beforeDelete";
9
+ }
8
10
  }
9
-
10
- /** Hook into team lifecycle before a team is deleted. */
11
- export const TeamBeforeDeleteEventHandler = createAbstraction("TeamBeforeDeleteEventHandler");
12
- export class TeamAfterDeleteEvent extends DomainEvent {
13
- eventType = "team.afterDelete";
14
- getHandlerAbstraction() {
15
- return TeamAfterDeleteEventHandler;
16
- }
11
+ const TeamBeforeDeleteEventHandler = createAbstraction("TeamBeforeDeleteEventHandler");
12
+ class TeamAfterDeleteEvent extends DomainEvent {
13
+ getHandlerAbstraction() {
14
+ return TeamAfterDeleteEventHandler;
15
+ }
16
+ constructor(...args){
17
+ super(...args), this.eventType = "team.afterDelete";
18
+ }
17
19
  }
18
-
19
- /** Hook into team lifecycle after a team is deleted. */
20
- export const TeamAfterDeleteEventHandler = createAbstraction("TeamAfterDeleteEventHandler");
20
+ const TeamAfterDeleteEventHandler = createAbstraction("TeamAfterDeleteEventHandler");
21
+ export { TeamAfterDeleteEvent, TeamAfterDeleteEventHandler, TeamBeforeDeleteEvent, TeamBeforeDeleteEventHandler };
21
22
 
22
23
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","DomainEvent","TeamBeforeDeleteEvent","eventType","getHandlerAbstraction","TeamBeforeDeleteEventHandler","TeamAfterDeleteEvent","TeamAfterDeleteEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport type { IEventHandler } from \"~/features/eventPublisher/index.js\";\nimport type { TeamBeforeDeletePayload, TeamAfterDeletePayload } from \"./abstractions.js\";\n\nexport class TeamBeforeDeleteEvent extends DomainEvent<TeamBeforeDeletePayload> {\n eventType = \"team.beforeDelete\" as const;\n\n getHandlerAbstraction() {\n return TeamBeforeDeleteEventHandler;\n }\n}\n\n/** Hook into team lifecycle before a team is deleted. */\nexport const TeamBeforeDeleteEventHandler = createAbstraction<IEventHandler<TeamBeforeDeleteEvent>>(\n \"TeamBeforeDeleteEventHandler\"\n);\n\nexport namespace TeamBeforeDeleteEventHandler {\n export type Interface = IEventHandler<TeamBeforeDeleteEvent>;\n export type Event = TeamBeforeDeleteEvent;\n}\n\nexport class TeamAfterDeleteEvent extends DomainEvent<TeamAfterDeletePayload> {\n eventType = \"team.afterDelete\" as const;\n\n getHandlerAbstraction() {\n return TeamAfterDeleteEventHandler;\n }\n}\n\n/** Hook into team lifecycle after a team is deleted. */\nexport const TeamAfterDeleteEventHandler = createAbstraction<IEventHandler<TeamAfterDeleteEvent>>(\n \"TeamAfterDeleteEventHandler\"\n);\n\nexport namespace TeamAfterDeleteEventHandler {\n export type Interface = IEventHandler<TeamAfterDeleteEvent>;\n export type Event = TeamAfterDeleteEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,WAAW;AAIpB,OAAO,MAAMC,qBAAqB,SAASD,WAAW,CAA0B;EAC5EE,SAAS,GAAG,mBAAmB;EAE/BC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,4BAA4B;EACvC;AACJ;;AAEA;AACA,OAAO,MAAMA,4BAA4B,GAAGL,iBAAiB,CACzD,8BACJ,CAAC;AAOD,OAAO,MAAMM,oBAAoB,SAASL,WAAW,CAAyB;EAC1EE,SAAS,GAAG,kBAAkB;EAE9BC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,2BAA2B;EACtC;AACJ;;AAEA;AACA,OAAO,MAAMA,2BAA2B,GAAGP,iBAAiB,CACxD,6BACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/teams/DeleteTeam/events.js","sources":["../../../../../src/features/security/teams/DeleteTeam/events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport type { IEventHandler } from \"~/features/eventPublisher/index.js\";\nimport type { TeamBeforeDeletePayload, TeamAfterDeletePayload } from \"./abstractions.js\";\n\nexport class TeamBeforeDeleteEvent extends DomainEvent<TeamBeforeDeletePayload> {\n eventType = \"team.beforeDelete\" as const;\n\n getHandlerAbstraction() {\n return TeamBeforeDeleteEventHandler;\n }\n}\n\n/** Hook into team lifecycle before a team is deleted. */\nexport const TeamBeforeDeleteEventHandler = createAbstraction<IEventHandler<TeamBeforeDeleteEvent>>(\n \"TeamBeforeDeleteEventHandler\"\n);\n\nexport namespace TeamBeforeDeleteEventHandler {\n export type Interface = IEventHandler<TeamBeforeDeleteEvent>;\n export type Event = TeamBeforeDeleteEvent;\n}\n\nexport class TeamAfterDeleteEvent extends DomainEvent<TeamAfterDeletePayload> {\n eventType = \"team.afterDelete\" as const;\n\n getHandlerAbstraction() {\n return TeamAfterDeleteEventHandler;\n }\n}\n\n/** Hook into team lifecycle after a team is deleted. */\nexport const TeamAfterDeleteEventHandler = createAbstraction<IEventHandler<TeamAfterDeleteEvent>>(\n \"TeamAfterDeleteEventHandler\"\n);\n\nexport namespace TeamAfterDeleteEventHandler {\n export type Interface = IEventHandler<TeamAfterDeleteEvent>;\n export type Event = TeamAfterDeleteEvent;\n}\n"],"names":["TeamBeforeDeleteEvent","DomainEvent","TeamBeforeDeleteEventHandler","createAbstraction","TeamAfterDeleteEvent","TeamAfterDeleteEventHandler"],"mappings":";;AAKO,MAAMA,8BAA8BC;IAGvC,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMA,+BAA+BC,kBACxC;AAQG,MAAMC,6BAA6BH;IAGtC,wBAAwB;QACpB,OAAOI;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMA,8BAA8BF,kBACvC"}
@@ -1,10 +1,11 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { DeleteTeamUseCaseImpl } from "./DeleteTeamUseCase.js";
3
- export const DeleteTeamFeature = createFeature({
4
- name: "DeleteTeam",
5
- register(container) {
6
- container.register(DeleteTeamUseCaseImpl);
7
- }
3
+ const DeleteTeamFeature = createFeature({
4
+ name: "DeleteTeam",
5
+ register (container) {
6
+ container.register(DeleteTeamUseCaseImpl);
7
+ }
8
8
  });
9
+ export { DeleteTeamFeature };
9
10
 
10
11
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","DeleteTeamUseCaseImpl","DeleteTeamFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { DeleteTeamUseCaseImpl } from \"./DeleteTeamUseCase.js\";\n\nexport const DeleteTeamFeature = createFeature({\n name: \"DeleteTeam\",\n register(container) {\n container.register(DeleteTeamUseCaseImpl);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,qBAAqB;AAE9B,OAAO,MAAMC,iBAAiB,GAAGF,aAAa,CAAC;EAC3CG,IAAI,EAAE,YAAY;EAClBC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,qBAAqB,CAAC;EAC7C;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/teams/DeleteTeam/feature.js","sources":["../../../../../src/features/security/teams/DeleteTeam/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { DeleteTeamUseCaseImpl } from \"./DeleteTeamUseCase.js\";\n\nexport const DeleteTeamFeature = createFeature({\n name: \"DeleteTeam\",\n register(container) {\n container.register(DeleteTeamUseCaseImpl);\n }\n});\n"],"names":["DeleteTeamFeature","createFeature","container","DeleteTeamUseCaseImpl"],"mappings":";;AAGO,MAAMA,oBAAoBC,cAAc;IAC3C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
@@ -1,5 +1,3 @@
1
1
  export * from "./abstractions.js";
2
2
  export * from "./events.js";
3
3
  export * from "./DeleteTeamUseCase.js";
4
-
5
- //# sourceMappingURL=index.js.map
@@ -1,28 +1,28 @@
1
1
  import { Result } from "@webiny/feature/api";
2
- import { GetTeamUseCase as Abstraction } from "./abstractions.js";
2
+ import { GetTeamUseCase } from "./abstractions.js";
3
3
  import { TeamsRepository } from "../shared/abstractions.js";
4
4
  import { IdentityContext } from "../../IdentityContext/abstractions.js";
5
5
  import { NotAuthorizedError } from "../shared/errors.js";
6
6
  class GetTeamUseCaseImpl {
7
- constructor(identityContext, repository) {
8
- this.identityContext = identityContext;
9
- this.repository = repository;
10
- }
11
- async execute(params) {
12
- const hasPermission = await this.identityContext.getPermission("security.team");
13
- if (!hasPermission) {
14
- return Result.fail(new NotAuthorizedError());
7
+ constructor(identityContext, repository){
8
+ this.identityContext = identityContext;
9
+ this.repository = repository;
15
10
  }
16
- const result = await this.repository.get(params);
17
- if (result.isFail()) {
18
- return Result.fail(result.error);
11
+ async execute(params) {
12
+ const hasPermission = await this.identityContext.getPermission("security.team");
13
+ if (!hasPermission) return Result.fail(new NotAuthorizedError());
14
+ const result = await this.repository.get(params);
15
+ if (result.isFail()) return Result.fail(result.error);
16
+ return Result.ok(result.value);
19
17
  }
20
- return Result.ok(result.value);
21
- }
22
18
  }
23
- export const GetTeamUseCase = Abstraction.createImplementation({
24
- implementation: GetTeamUseCaseImpl,
25
- dependencies: [IdentityContext, TeamsRepository]
19
+ const GetTeamUseCase_GetTeamUseCase = GetTeamUseCase.createImplementation({
20
+ implementation: GetTeamUseCaseImpl,
21
+ dependencies: [
22
+ IdentityContext,
23
+ TeamsRepository
24
+ ]
26
25
  });
26
+ export { GetTeamUseCase_GetTeamUseCase as GetTeamUseCase };
27
27
 
28
28
  //# sourceMappingURL=GetTeamUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","GetTeamUseCase","Abstraction","TeamsRepository","IdentityContext","NotAuthorizedError","GetTeamUseCaseImpl","constructor","identityContext","repository","execute","params","hasPermission","getPermission","fail","result","get","isFail","error","ok","value","createImplementation","implementation","dependencies"],"sources":["GetTeamUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetTeamUseCase as Abstraction } from \"./abstractions.js\";\nimport { TeamsRepository } from \"../shared/abstractions.js\";\nimport { IdentityContext } from \"../../IdentityContext/abstractions.js\";\nimport type { Team, GetTeamInput } from \"../shared/types.js\";\nimport { NotAuthorizedError } from \"../shared/errors.js\";\n\nclass GetTeamUseCaseImpl implements Abstraction.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private repository: TeamsRepository.Interface\n ) {}\n\n async execute(params: GetTeamInput): Promise<Result<Team, Abstraction.Error>> {\n const hasPermission = await this.identityContext.getPermission(\"security.team\");\n\n if (!hasPermission) {\n return Result.fail(new NotAuthorizedError());\n }\n\n const result = await this.repository.get(params);\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n return Result.ok(result.value);\n }\n}\n\nexport const GetTeamUseCase = Abstraction.createImplementation({\n implementation: GetTeamUseCaseImpl,\n dependencies: [IdentityContext, TeamsRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,cAAc,IAAIC,WAAW;AACtC,SAASC,eAAe;AACxB,SAASC,eAAe;AAExB,SAASC,kBAAkB;AAE3B,MAAMC,kBAAkB,CAAkC;EACtDC,WAAWA,CACCC,eAA0C,EAC1CC,UAAqC,EAC/C;IAAA,KAFUD,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,UAAqC,GAArCA,UAAqC;EAC9C;EAEH,MAAMC,OAAOA,CAACC,MAAoB,EAA4C;IAC1E,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACJ,eAAe,CAACK,aAAa,CAAC,eAAe,CAAC;IAE/E,IAAI,CAACD,aAAa,EAAE;MAChB,OAAOZ,MAAM,CAACc,IAAI,CAAC,IAAIT,kBAAkB,CAAC,CAAC,CAAC;IAChD;IAEA,MAAMU,MAAM,GAAG,MAAM,IAAI,CAACN,UAAU,CAACO,GAAG,CAACL,MAAM,CAAC;IAEhD,IAAII,MAAM,CAACE,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOjB,MAAM,CAACc,IAAI,CAACC,MAAM,CAACG,KAAK,CAAC;IACpC;IAEA,OAAOlB,MAAM,CAACmB,EAAE,CAACJ,MAAM,CAACK,KAAK,CAAC;EAClC;AACJ;AAEA,OAAO,MAAMnB,cAAc,GAAGC,WAAW,CAACmB,oBAAoB,CAAC;EAC3DC,cAAc,EAAEhB,kBAAkB;EAClCiB,YAAY,EAAE,CAACnB,eAAe,EAAED,eAAe;AACnD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/teams/GetTeam/GetTeamUseCase.js","sources":["../../../../../src/features/security/teams/GetTeam/GetTeamUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetTeamUseCase as Abstraction } from \"./abstractions.js\";\nimport { TeamsRepository } from \"../shared/abstractions.js\";\nimport { IdentityContext } from \"../../IdentityContext/abstractions.js\";\nimport type { Team, GetTeamInput } from \"../shared/types.js\";\nimport { NotAuthorizedError } from \"../shared/errors.js\";\n\nclass GetTeamUseCaseImpl implements Abstraction.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private repository: TeamsRepository.Interface\n ) {}\n\n async execute(params: GetTeamInput): Promise<Result<Team, Abstraction.Error>> {\n const hasPermission = await this.identityContext.getPermission(\"security.team\");\n\n if (!hasPermission) {\n return Result.fail(new NotAuthorizedError());\n }\n\n const result = await this.repository.get(params);\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n return Result.ok(result.value);\n }\n}\n\nexport const GetTeamUseCase = Abstraction.createImplementation({\n implementation: GetTeamUseCaseImpl,\n dependencies: [IdentityContext, TeamsRepository]\n});\n"],"names":["GetTeamUseCaseImpl","identityContext","repository","params","hasPermission","Result","NotAuthorizedError","result","GetTeamUseCase","Abstraction","IdentityContext","TeamsRepository"],"mappings":";;;;;AAOA,MAAMA;IACF,YACYC,eAA0C,EAC1CC,UAAqC,CAC/C;aAFUD,eAAe,GAAfA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAM,QAAQC,MAAoB,EAA4C;QAC1E,MAAMC,gBAAgB,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;QAE/D,IAAI,CAACA,eACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAG3B,MAAMC,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAACJ;QAEzC,IAAII,OAAO,MAAM,IACb,OAAOF,OAAO,IAAI,CAACE,OAAO,KAAK;QAGnC,OAAOF,OAAO,EAAE,CAACE,OAAO,KAAK;IACjC;AACJ;AAEO,MAAMC,gCAAiBC,eAAAA,oBAAgC,CAAC;IAC3D,gBAAgBT;IAChB,cAAc;QAACU;QAAiBC;KAAgB;AACpD"}
@@ -1,5 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
- /** Retrieve a team. */
3
- export const GetTeamUseCase = createAbstraction("GetTeamUseCase");
2
+ const GetTeamUseCase = createAbstraction("GetTeamUseCase");
3
+ export { GetTeamUseCase };
4
4
 
5
5
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","GetTeamUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport type { Team, GetTeamInput } from \"../shared/types.js\";\nimport { TeamsRepository } from \"../shared/abstractions.js\";\nimport { NotAuthorizedError } from \"../shared/errors.js\";\n\nexport interface IGetTeamUseCaseErrors {\n notAuthorized: NotAuthorizedError;\n}\n\ntype GetTeamError = IGetTeamUseCaseErrors[keyof IGetTeamUseCaseErrors] | TeamsRepository.Error;\n\nexport interface IGetTeamUseCase {\n execute(params: GetTeamInput): Promise<Result<Team, GetTeamError>>;\n}\n\n/** Retrieve a team. */\nexport const GetTeamUseCase = createAbstraction<IGetTeamUseCase>(\"GetTeamUseCase\");\n\nexport namespace GetTeamUseCase {\n export type Interface = IGetTeamUseCase;\n export type Error = GetTeamError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAgBvD;AACA,OAAO,MAAMC,cAAc,GAAGD,iBAAiB,CAAkB,gBAAgB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/teams/GetTeam/abstractions.js","sources":["../../../../../src/features/security/teams/GetTeam/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport type { Team, GetTeamInput } from \"../shared/types.js\";\nimport { TeamsRepository } from \"../shared/abstractions.js\";\nimport { NotAuthorizedError } from \"../shared/errors.js\";\n\nexport interface IGetTeamUseCaseErrors {\n notAuthorized: NotAuthorizedError;\n}\n\ntype GetTeamError = IGetTeamUseCaseErrors[keyof IGetTeamUseCaseErrors] | TeamsRepository.Error;\n\nexport interface IGetTeamUseCase {\n execute(params: GetTeamInput): Promise<Result<Team, GetTeamError>>;\n}\n\n/** Retrieve a team. */\nexport const GetTeamUseCase = createAbstraction<IGetTeamUseCase>(\"GetTeamUseCase\");\n\nexport namespace GetTeamUseCase {\n export type Interface = IGetTeamUseCase;\n export type Error = GetTeamError;\n}\n"],"names":["GetTeamUseCase","createAbstraction"],"mappings":";AAiBO,MAAMA,iBAAiBC,kBAAmC"}
@@ -1,10 +1,11 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { GetTeamUseCase } from "./GetTeamUseCase.js";
3
- export const GetTeamFeature = createFeature({
4
- name: "GetTeam",
5
- register(container) {
6
- container.register(GetTeamUseCase);
7
- }
3
+ const GetTeamFeature = createFeature({
4
+ name: "GetTeam",
5
+ register (container) {
6
+ container.register(GetTeamUseCase);
7
+ }
8
8
  });
9
+ export { GetTeamFeature };
9
10
 
10
11
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","GetTeamUseCase","GetTeamFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { GetTeamUseCase } from \"./GetTeamUseCase.js\";\n\nexport const GetTeamFeature = createFeature({\n name: \"GetTeam\",\n register(container) {\n container.register(GetTeamUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,cAAc;AAEvB,OAAO,MAAMC,cAAc,GAAGF,aAAa,CAAC;EACxCG,IAAI,EAAE,SAAS;EACfC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,cAAc,CAAC;EACtC;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/teams/GetTeam/feature.js","sources":["../../../../../src/features/security/teams/GetTeam/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { GetTeamUseCase } from \"./GetTeamUseCase.js\";\n\nexport const GetTeamFeature = createFeature({\n name: \"GetTeam\",\n register(container) {\n container.register(GetTeamUseCase);\n }\n});\n"],"names":["GetTeamFeature","createFeature","container","GetTeamUseCase"],"mappings":";;AAGO,MAAMA,iBAAiBC,cAAc;IACxC,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
@@ -1,3 +1 @@
1
1
  export * from "./abstractions.js";
2
-
3
- //# sourceMappingURL=index.js.map
@@ -1,30 +1,29 @@
1
- import { createImplementation } from "@webiny/feature/api";
2
- import { Result } from "@webiny/feature/api";
3
- import { ListTeamsUseCase as UseCaseAbstraction } from "./abstractions.js";
1
+ import { Result, createImplementation } from "@webiny/feature/api";
2
+ import { ListTeamsUseCase } from "./abstractions.js";
4
3
  import { TeamsRepository } from "../shared/abstractions.js";
5
4
  import { IdentityContext } from "../../IdentityContext/abstractions.js";
6
5
  import { NotAuthorizedError } from "../shared/errors.js";
7
- export class ListTeamsUseCase {
8
- constructor(identityContext, repository) {
9
- this.identityContext = identityContext;
10
- this.repository = repository;
11
- }
12
- async execute(params = {}) {
13
- const hasPermission = await this.identityContext.getPermission("security.team");
14
- if (!hasPermission) {
15
- return Result.fail(new NotAuthorizedError());
6
+ class ListTeamsUseCase_ListTeamsUseCase {
7
+ constructor(identityContext, repository){
8
+ this.identityContext = identityContext;
9
+ this.repository = repository;
16
10
  }
17
- const result = await this.repository.list(params);
18
- if (result.isFail()) {
19
- return Result.fail(result.error);
11
+ async execute(params = {}) {
12
+ const hasPermission = await this.identityContext.getPermission("security.team");
13
+ if (!hasPermission) return Result.fail(new NotAuthorizedError());
14
+ const result = await this.repository.list(params);
15
+ if (result.isFail()) return Result.fail(result.error);
16
+ return Result.ok(result.value);
20
17
  }
21
- return Result.ok(result.value);
22
- }
23
18
  }
24
- export const ListTeamsUseCaseImpl = createImplementation({
25
- abstraction: UseCaseAbstraction,
26
- implementation: ListTeamsUseCase,
27
- dependencies: [IdentityContext, TeamsRepository]
19
+ const ListTeamsUseCaseImpl = createImplementation({
20
+ abstraction: ListTeamsUseCase,
21
+ implementation: ListTeamsUseCase_ListTeamsUseCase,
22
+ dependencies: [
23
+ IdentityContext,
24
+ TeamsRepository
25
+ ]
28
26
  });
27
+ export { ListTeamsUseCaseImpl, ListTeamsUseCase_ListTeamsUseCase as ListTeamsUseCase };
29
28
 
30
29
  //# sourceMappingURL=ListTeamsUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createImplementation","Result","ListTeamsUseCase","UseCaseAbstraction","TeamsRepository","IdentityContext","NotAuthorizedError","constructor","identityContext","repository","execute","params","hasPermission","getPermission","fail","result","list","isFail","error","ok","value","ListTeamsUseCaseImpl","abstraction","implementation","dependencies"],"sources":["ListTeamsUseCase.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport { ListTeamsUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { TeamsRepository } from \"../shared/abstractions.js\";\nimport { IdentityContext } from \"../../IdentityContext/abstractions.js\";\nimport type { Team, ListTeamsInput } from \"../shared/types.js\";\nimport { NotAuthorizedError } from \"../shared/errors.js\";\n\nexport class ListTeamsUseCase implements UseCaseAbstraction.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private repository: TeamsRepository.Interface\n ) {}\n\n async execute(params: ListTeamsInput = {}): Promise<Result<Team[], UseCaseAbstraction.Error>> {\n const hasPermission = await this.identityContext.getPermission(\"security.team\");\n\n if (!hasPermission) {\n return Result.fail(new NotAuthorizedError());\n }\n\n const result = await this.repository.list(params);\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n return Result.ok(result.value);\n }\n}\n\nexport const ListTeamsUseCaseImpl = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: ListTeamsUseCase,\n dependencies: [IdentityContext, TeamsRepository]\n});\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,qBAAqB;AAC1D,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,gBAAgB,IAAIC,kBAAkB;AAC/C,SAASC,eAAe;AACxB,SAASC,eAAe;AAExB,SAASC,kBAAkB;AAE3B,OAAO,MAAMJ,gBAAgB,CAAyC;EAClEK,WAAWA,CACCC,eAA0C,EAC1CC,UAAqC,EAC/C;IAAA,KAFUD,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,UAAqC,GAArCA,UAAqC;EAC9C;EAEH,MAAMC,OAAOA,CAACC,MAAsB,GAAG,CAAC,CAAC,EAAqD;IAC1F,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACJ,eAAe,CAACK,aAAa,CAAC,eAAe,CAAC;IAE/E,IAAI,CAACD,aAAa,EAAE;MAChB,OAAOX,MAAM,CAACa,IAAI,CAAC,IAAIR,kBAAkB,CAAC,CAAC,CAAC;IAChD;IAEA,MAAMS,MAAM,GAAG,MAAM,IAAI,CAACN,UAAU,CAACO,IAAI,CAACL,MAAM,CAAC;IAEjD,IAAII,MAAM,CAACE,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOhB,MAAM,CAACa,IAAI,CAACC,MAAM,CAACG,KAAK,CAAC;IACpC;IAEA,OAAOjB,MAAM,CAACkB,EAAE,CAACJ,MAAM,CAACK,KAAK,CAAC;EAClC;AACJ;AAEA,OAAO,MAAMC,oBAAoB,GAAGrB,oBAAoB,CAAC;EACrDsB,WAAW,EAAEnB,kBAAkB;EAC/BoB,cAAc,EAAErB,gBAAgB;EAChCsB,YAAY,EAAE,CAACnB,eAAe,EAAED,eAAe;AACnD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/teams/ListTeams/ListTeamsUseCase.js","sources":["../../../../../src/features/security/teams/ListTeams/ListTeamsUseCase.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport { ListTeamsUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { TeamsRepository } from \"../shared/abstractions.js\";\nimport { IdentityContext } from \"../../IdentityContext/abstractions.js\";\nimport type { Team, ListTeamsInput } from \"../shared/types.js\";\nimport { NotAuthorizedError } from \"../shared/errors.js\";\n\nexport class ListTeamsUseCase implements UseCaseAbstraction.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private repository: TeamsRepository.Interface\n ) {}\n\n async execute(params: ListTeamsInput = {}): Promise<Result<Team[], UseCaseAbstraction.Error>> {\n const hasPermission = await this.identityContext.getPermission(\"security.team\");\n\n if (!hasPermission) {\n return Result.fail(new NotAuthorizedError());\n }\n\n const result = await this.repository.list(params);\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n return Result.ok(result.value);\n }\n}\n\nexport const ListTeamsUseCaseImpl = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: ListTeamsUseCase,\n dependencies: [IdentityContext, TeamsRepository]\n});\n"],"names":["ListTeamsUseCase","identityContext","repository","params","hasPermission","Result","NotAuthorizedError","result","ListTeamsUseCaseImpl","createImplementation","UseCaseAbstraction","IdentityContext","TeamsRepository"],"mappings":";;;;;AAQO,MAAMA;IACT,YACYC,eAA0C,EAC1CC,UAAqC,CAC/C;aAFUD,eAAe,GAAfA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAM,QAAQC,SAAyB,CAAC,CAAC,EAAqD;QAC1F,MAAMC,gBAAgB,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;QAE/D,IAAI,CAACA,eACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAG3B,MAAMC,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAACJ;QAE1C,IAAII,OAAO,MAAM,IACb,OAAOF,OAAO,IAAI,CAACE,OAAO,KAAK;QAGnC,OAAOF,OAAO,EAAE,CAACE,OAAO,KAAK;IACjC;AACJ;AAEO,MAAMC,uBAAuBC,qBAAqB;IACrD,aAAaC;IACb,gBAAgBV;IAChB,cAAc;QAACW;QAAiBC;KAAgB;AACpD"}
@@ -1,5 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
- /** List all teams. */
3
- export const ListTeamsUseCase = createAbstraction("ListTeamsUseCase");
2
+ const ListTeamsUseCase = createAbstraction("ListTeamsUseCase");
3
+ export { ListTeamsUseCase };
4
4
 
5
5
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","ListTeamsUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport type { Team, ListTeamsInput } from \"../shared/types.js\";\nimport { TeamsRepository } from \"../shared/abstractions.js\";\nimport { NotAuthorizedError } from \"../shared/errors.js\";\n\nexport interface IListTeamsErrors {\n notAuthorized: NotAuthorizedError;\n}\n\ntype ListTeamsError = IListTeamsErrors[keyof IListTeamsErrors] | TeamsRepository.Error;\n\nexport interface IListTeams {\n execute(params?: ListTeamsInput): Promise<Result<Team[], ListTeamsError>>;\n}\n\n/** List all teams. */\nexport const ListTeamsUseCase = createAbstraction<IListTeams>(\"ListTeamsUseCase\");\n\nexport namespace ListTeamsUseCase {\n export type Interface = IListTeams;\n export type Error = ListTeamsError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAgBvD;AACA,OAAO,MAAMC,gBAAgB,GAAGD,iBAAiB,CAAa,kBAAkB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/teams/ListTeams/abstractions.js","sources":["../../../../../src/features/security/teams/ListTeams/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport type { Team, ListTeamsInput } from \"../shared/types.js\";\nimport { TeamsRepository } from \"../shared/abstractions.js\";\nimport { NotAuthorizedError } from \"../shared/errors.js\";\n\nexport interface IListTeamsErrors {\n notAuthorized: NotAuthorizedError;\n}\n\ntype ListTeamsError = IListTeamsErrors[keyof IListTeamsErrors] | TeamsRepository.Error;\n\nexport interface IListTeams {\n execute(params?: ListTeamsInput): Promise<Result<Team[], ListTeamsError>>;\n}\n\n/** List all teams. */\nexport const ListTeamsUseCase = createAbstraction<IListTeams>(\"ListTeamsUseCase\");\n\nexport namespace ListTeamsUseCase {\n export type Interface = IListTeams;\n export type Error = ListTeamsError;\n}\n"],"names":["ListTeamsUseCase","createAbstraction"],"mappings":";AAiBO,MAAMA,mBAAmBC,kBAA8B"}
@@ -1,10 +1,11 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { ListTeamsUseCaseImpl } from "./ListTeamsUseCase.js";
3
- export const ListTeamsFeature = createFeature({
4
- name: "ListTeams",
5
- register(container) {
6
- container.register(ListTeamsUseCaseImpl);
7
- }
3
+ const ListTeamsFeature = createFeature({
4
+ name: "ListTeams",
5
+ register (container) {
6
+ container.register(ListTeamsUseCaseImpl);
7
+ }
8
8
  });
9
+ export { ListTeamsFeature };
9
10
 
10
11
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","ListTeamsUseCaseImpl","ListTeamsFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListTeamsUseCaseImpl } from \"./ListTeamsUseCase.js\";\n\nexport const ListTeamsFeature = createFeature({\n name: \"ListTeams\",\n register(container) {\n container.register(ListTeamsUseCaseImpl);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,oBAAoB;AAE7B,OAAO,MAAMC,gBAAgB,GAAGF,aAAa,CAAC;EAC1CG,IAAI,EAAE,WAAW;EACjBC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,oBAAoB,CAAC;EAC5C;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/teams/ListTeams/feature.js","sources":["../../../../../src/features/security/teams/ListTeams/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListTeamsUseCaseImpl } from \"./ListTeamsUseCase.js\";\n\nexport const ListTeamsFeature = createFeature({\n name: \"ListTeams\",\n register(container) {\n container.register(ListTeamsUseCaseImpl);\n }\n});\n"],"names":["ListTeamsFeature","createFeature","container","ListTeamsUseCaseImpl"],"mappings":";;AAGO,MAAMA,mBAAmBC,cAAc;IAC1C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
@@ -1,3 +1 @@
1
1
  export * from "./abstractions.js";
2
-
3
- //# sourceMappingURL=index.js.map
@@ -1,69 +1,57 @@
1
- import { createImplementation } from "@webiny/feature/api";
2
- import { Result } from "@webiny/feature/api";
1
+ import { Result, createImplementation } from "@webiny/feature/api";
3
2
  import { UpdateTeam } from "./abstractions.js";
4
3
  import { TeamsRepository } from "../shared/abstractions.js";
5
4
  import { IdentityContext } from "../../IdentityContext/abstractions.js";
6
5
  import { EventPublisher } from "../../../eventPublisher/index.js";
7
6
  import { updateTeamValidation } from "./schema.js";
8
- import { TeamBeforeUpdateEvent, TeamAfterUpdateEvent } from "./events.js";
9
- import { NotAuthorizedError, CannotUpdatePluginTeamsError, CannotUpdateSystemTeamsError, TeamValidationError } from "../shared/errors.js";
10
- export class UpdateTeamUseCase {
11
- constructor(repository, identityContext, eventPublisher) {
12
- this.repository = repository;
13
- this.identityContext = identityContext;
14
- this.eventPublisher = eventPublisher;
15
- }
16
- async execute(id, input) {
17
- const hasPermission = await this.identityContext.getPermission("security.team");
18
- if (!hasPermission) {
19
- return Result.fail(new NotAuthorizedError());
7
+ import { TeamAfterUpdateEvent, TeamBeforeUpdateEvent } from "./events.js";
8
+ import { CannotUpdatePluginTeamsError, CannotUpdateSystemTeamsError, NotAuthorizedError, TeamValidationError } from "../shared/errors.js";
9
+ class UpdateTeamUseCase {
10
+ constructor(repository, identityContext, eventPublisher){
11
+ this.repository = repository;
12
+ this.identityContext = identityContext;
13
+ this.eventPublisher = eventPublisher;
20
14
  }
21
- const validation = updateTeamValidation.safeParse(input);
22
- if (!validation.success) {
23
- return Result.fail(new TeamValidationError(validation.error.issues[0].message));
15
+ async execute(id, input) {
16
+ const hasPermission = await this.identityContext.getPermission("security.team");
17
+ if (!hasPermission) return Result.fail(new NotAuthorizedError());
18
+ const validation = updateTeamValidation.safeParse(input);
19
+ if (!validation.success) return Result.fail(new TeamValidationError(validation.error.issues[0].message));
20
+ const existingResult = await this.repository.get({
21
+ id
22
+ });
23
+ if (existingResult.isFail()) return Result.fail(existingResult.error);
24
+ const existingTeam = existingResult.value;
25
+ if (existingTeam.system) return Result.fail(new CannotUpdateSystemTeamsError());
26
+ if (existingTeam.plugin) return Result.fail(new CannotUpdatePluginTeamsError());
27
+ const updatedTeam = {
28
+ ...existingTeam,
29
+ ...validation.data
30
+ };
31
+ await this.eventPublisher.publish(new TeamBeforeUpdateEvent({
32
+ original: existingTeam,
33
+ updated: updatedTeam,
34
+ input: validation.data
35
+ }));
36
+ const result = await this.repository.update(updatedTeam);
37
+ if (result.isFail()) return Result.fail(result.error);
38
+ await this.eventPublisher.publish(new TeamAfterUpdateEvent({
39
+ original: existingTeam,
40
+ updated: updatedTeam,
41
+ input: validation.data
42
+ }));
43
+ return Result.ok(updatedTeam);
24
44
  }
25
- const existingResult = await this.repository.get({
26
- id
27
- });
28
- if (existingResult.isFail()) {
29
- return Result.fail(existingResult.error);
30
- }
31
- const existingTeam = existingResult.value;
32
-
33
- // Check if team is system team
34
- if (existingTeam.system) {
35
- return Result.fail(new CannotUpdateSystemTeamsError());
36
- }
37
-
38
- // Check if team is created via plugin
39
- if (existingTeam.plugin) {
40
- return Result.fail(new CannotUpdatePluginTeamsError());
41
- }
42
- const updatedTeam = {
43
- ...existingTeam,
44
- ...validation.data
45
- };
46
- await this.eventPublisher.publish(new TeamBeforeUpdateEvent({
47
- original: existingTeam,
48
- updated: updatedTeam,
49
- input: validation.data
50
- }));
51
- const result = await this.repository.update(updatedTeam);
52
- if (result.isFail()) {
53
- return Result.fail(result.error);
54
- }
55
- await this.eventPublisher.publish(new TeamAfterUpdateEvent({
56
- original: existingTeam,
57
- updated: updatedTeam,
58
- input: validation.data
59
- }));
60
- return Result.ok(updatedTeam);
61
- }
62
45
  }
63
- export const UpdateTeamUseCaseImpl = createImplementation({
64
- abstraction: UpdateTeam,
65
- implementation: UpdateTeamUseCase,
66
- dependencies: [TeamsRepository, IdentityContext, EventPublisher]
46
+ const UpdateTeamUseCaseImpl = createImplementation({
47
+ abstraction: UpdateTeam,
48
+ implementation: UpdateTeamUseCase,
49
+ dependencies: [
50
+ TeamsRepository,
51
+ IdentityContext,
52
+ EventPublisher
53
+ ]
67
54
  });
55
+ export { UpdateTeamUseCase, UpdateTeamUseCaseImpl };
68
56
 
69
57
  //# sourceMappingURL=UpdateTeamUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createImplementation","Result","UpdateTeam","TeamsRepository","IdentityContext","EventPublisher","updateTeamValidation","TeamBeforeUpdateEvent","TeamAfterUpdateEvent","NotAuthorizedError","CannotUpdatePluginTeamsError","CannotUpdateSystemTeamsError","TeamValidationError","UpdateTeamUseCase","constructor","repository","identityContext","eventPublisher","execute","id","input","hasPermission","getPermission","fail","validation","safeParse","success","error","issues","message","existingResult","get","isFail","existingTeam","value","system","plugin","updatedTeam","data","publish","original","updated","result","update","ok","UpdateTeamUseCaseImpl","abstraction","implementation","dependencies"],"sources":["UpdateTeamUseCase.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport { UpdateTeam } from \"./abstractions.js\";\nimport { TeamsRepository } from \"../shared/abstractions.js\";\nimport { IdentityContext } from \"../../IdentityContext/abstractions.js\";\nimport { EventPublisher } from \"~/features/eventPublisher/index.js\";\nimport { updateTeamValidation } from \"./schema.js\";\nimport { TeamBeforeUpdateEvent, TeamAfterUpdateEvent } from \"./events.js\";\nimport type { Team, UpdateTeamInput } from \"../shared/types.js\";\nimport {\n NotAuthorizedError,\n CannotUpdatePluginTeamsError,\n CannotUpdateSystemTeamsError,\n TeamValidationError\n} from \"../shared/errors.js\";\n\nexport class UpdateTeamUseCase {\n private repository: TeamsRepository.Interface;\n private identityContext: IdentityContext.Interface;\n private eventPublisher: EventPublisher.Interface;\n\n constructor(\n repository: TeamsRepository.Interface,\n identityContext: IdentityContext.Interface,\n eventPublisher: EventPublisher.Interface\n ) {\n this.repository = repository;\n this.identityContext = identityContext;\n this.eventPublisher = eventPublisher;\n }\n\n async execute(id: string, input: UpdateTeamInput): Promise<Result<Team, UpdateTeam.Error>> {\n const hasPermission = await this.identityContext.getPermission(\"security.team\");\n if (!hasPermission) {\n return Result.fail(new NotAuthorizedError());\n }\n\n const validation = updateTeamValidation.safeParse(input);\n if (!validation.success) {\n return Result.fail(new TeamValidationError(validation.error.issues[0].message));\n }\n\n const existingResult = await this.repository.get({ id });\n if (existingResult.isFail()) {\n return Result.fail(existingResult.error);\n }\n\n const existingTeam = existingResult.value;\n\n // Check if team is system team\n if (existingTeam.system) {\n return Result.fail(new CannotUpdateSystemTeamsError());\n }\n\n // Check if team is created via plugin\n if (existingTeam.plugin) {\n return Result.fail(new CannotUpdatePluginTeamsError());\n }\n\n const updatedTeam: Team = {\n ...existingTeam,\n ...validation.data\n };\n\n await this.eventPublisher.publish(\n new TeamBeforeUpdateEvent({\n original: existingTeam,\n updated: updatedTeam,\n input: validation.data\n })\n );\n\n const result = await this.repository.update(updatedTeam);\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n await this.eventPublisher.publish(\n new TeamAfterUpdateEvent({\n original: existingTeam,\n updated: updatedTeam,\n input: validation.data\n })\n );\n\n return Result.ok(updatedTeam);\n }\n}\n\nexport const UpdateTeamUseCaseImpl = createImplementation({\n abstraction: UpdateTeam,\n implementation: UpdateTeamUseCase,\n dependencies: [TeamsRepository, IdentityContext, EventPublisher]\n});\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,qBAAqB;AAC1D,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,UAAU;AACnB,SAASC,eAAe;AACxB,SAASC,eAAe;AACxB,SAASC,cAAc;AACvB,SAASC,oBAAoB;AAC7B,SAASC,qBAAqB,EAAEC,oBAAoB;AAEpD,SACIC,kBAAkB,EAClBC,4BAA4B,EAC5BC,4BAA4B,EAC5BC,mBAAmB;AAGvB,OAAO,MAAMC,iBAAiB,CAAC;EAK3BC,WAAWA,CACPC,UAAqC,EACrCC,eAA0C,EAC1CC,cAAwC,EAC1C;IACE,IAAI,CAACF,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACC,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACC,cAAc,GAAGA,cAAc;EACxC;EAEA,MAAMC,OAAOA,CAACC,EAAU,EAAEC,KAAsB,EAA2C;IACvF,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACL,eAAe,CAACM,aAAa,CAAC,eAAe,CAAC;IAC/E,IAAI,CAACD,aAAa,EAAE;MAChB,OAAOpB,MAAM,CAACsB,IAAI,CAAC,IAAId,kBAAkB,CAAC,CAAC,CAAC;IAChD;IAEA,MAAMe,UAAU,GAAGlB,oBAAoB,CAACmB,SAAS,CAACL,KAAK,CAAC;IACxD,IAAI,CAACI,UAAU,CAACE,OAAO,EAAE;MACrB,OAAOzB,MAAM,CAACsB,IAAI,CAAC,IAAIX,mBAAmB,CAACY,UAAU,CAACG,KAAK,CAACC,MAAM,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;IACnF;IAEA,MAAMC,cAAc,GAAG,MAAM,IAAI,CAACf,UAAU,CAACgB,GAAG,CAAC;MAAEZ;IAAG,CAAC,CAAC;IACxD,IAAIW,cAAc,CAACE,MAAM,CAAC,CAAC,EAAE;MACzB,OAAO/B,MAAM,CAACsB,IAAI,CAACO,cAAc,CAACH,KAAK,CAAC;IAC5C;IAEA,MAAMM,YAAY,GAAGH,cAAc,CAACI,KAAK;;IAEzC;IACA,IAAID,YAAY,CAACE,MAAM,EAAE;MACrB,OAAOlC,MAAM,CAACsB,IAAI,CAAC,IAAIZ,4BAA4B,CAAC,CAAC,CAAC;IAC1D;;IAEA;IACA,IAAIsB,YAAY,CAACG,MAAM,EAAE;MACrB,OAAOnC,MAAM,CAACsB,IAAI,CAAC,IAAIb,4BAA4B,CAAC,CAAC,CAAC;IAC1D;IAEA,MAAM2B,WAAiB,GAAG;MACtB,GAAGJ,YAAY;MACf,GAAGT,UAAU,CAACc;IAClB,CAAC;IAED,MAAM,IAAI,CAACrB,cAAc,CAACsB,OAAO,CAC7B,IAAIhC,qBAAqB,CAAC;MACtBiC,QAAQ,EAAEP,YAAY;MACtBQ,OAAO,EAAEJ,WAAW;MACpBjB,KAAK,EAAEI,UAAU,CAACc;IACtB,CAAC,CACL,CAAC;IAED,MAAMI,MAAM,GAAG,MAAM,IAAI,CAAC3B,UAAU,CAAC4B,MAAM,CAACN,WAAW,CAAC;IAExD,IAAIK,MAAM,CAACV,MAAM,CAAC,CAAC,EAAE;MACjB,OAAO/B,MAAM,CAACsB,IAAI,CAACmB,MAAM,CAACf,KAAK,CAAC;IACpC;IAEA,MAAM,IAAI,CAACV,cAAc,CAACsB,OAAO,CAC7B,IAAI/B,oBAAoB,CAAC;MACrBgC,QAAQ,EAAEP,YAAY;MACtBQ,OAAO,EAAEJ,WAAW;MACpBjB,KAAK,EAAEI,UAAU,CAACc;IACtB,CAAC,CACL,CAAC;IAED,OAAOrC,MAAM,CAAC2C,EAAE,CAACP,WAAW,CAAC;EACjC;AACJ;AAEA,OAAO,MAAMQ,qBAAqB,GAAG7C,oBAAoB,CAAC;EACtD8C,WAAW,EAAE5C,UAAU;EACvB6C,cAAc,EAAElC,iBAAiB;EACjCmC,YAAY,EAAE,CAAC7C,eAAe,EAAEC,eAAe,EAAEC,cAAc;AACnE,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/teams/UpdateTeam/UpdateTeamUseCase.js","sources":["../../../../../src/features/security/teams/UpdateTeam/UpdateTeamUseCase.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport { UpdateTeam } from \"./abstractions.js\";\nimport { TeamsRepository } from \"../shared/abstractions.js\";\nimport { IdentityContext } from \"../../IdentityContext/abstractions.js\";\nimport { EventPublisher } from \"~/features/eventPublisher/index.js\";\nimport { updateTeamValidation } from \"./schema.js\";\nimport { TeamBeforeUpdateEvent, TeamAfterUpdateEvent } from \"./events.js\";\nimport type { Team, UpdateTeamInput } from \"../shared/types.js\";\nimport {\n NotAuthorizedError,\n CannotUpdatePluginTeamsError,\n CannotUpdateSystemTeamsError,\n TeamValidationError\n} from \"../shared/errors.js\";\n\nexport class UpdateTeamUseCase {\n private repository: TeamsRepository.Interface;\n private identityContext: IdentityContext.Interface;\n private eventPublisher: EventPublisher.Interface;\n\n constructor(\n repository: TeamsRepository.Interface,\n identityContext: IdentityContext.Interface,\n eventPublisher: EventPublisher.Interface\n ) {\n this.repository = repository;\n this.identityContext = identityContext;\n this.eventPublisher = eventPublisher;\n }\n\n async execute(id: string, input: UpdateTeamInput): Promise<Result<Team, UpdateTeam.Error>> {\n const hasPermission = await this.identityContext.getPermission(\"security.team\");\n if (!hasPermission) {\n return Result.fail(new NotAuthorizedError());\n }\n\n const validation = updateTeamValidation.safeParse(input);\n if (!validation.success) {\n return Result.fail(new TeamValidationError(validation.error.issues[0].message));\n }\n\n const existingResult = await this.repository.get({ id });\n if (existingResult.isFail()) {\n return Result.fail(existingResult.error);\n }\n\n const existingTeam = existingResult.value;\n\n // Check if team is system team\n if (existingTeam.system) {\n return Result.fail(new CannotUpdateSystemTeamsError());\n }\n\n // Check if team is created via plugin\n if (existingTeam.plugin) {\n return Result.fail(new CannotUpdatePluginTeamsError());\n }\n\n const updatedTeam: Team = {\n ...existingTeam,\n ...validation.data\n };\n\n await this.eventPublisher.publish(\n new TeamBeforeUpdateEvent({\n original: existingTeam,\n updated: updatedTeam,\n input: validation.data\n })\n );\n\n const result = await this.repository.update(updatedTeam);\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n await this.eventPublisher.publish(\n new TeamAfterUpdateEvent({\n original: existingTeam,\n updated: updatedTeam,\n input: validation.data\n })\n );\n\n return Result.ok(updatedTeam);\n }\n}\n\nexport const UpdateTeamUseCaseImpl = createImplementation({\n abstraction: UpdateTeam,\n implementation: UpdateTeamUseCase,\n dependencies: [TeamsRepository, IdentityContext, EventPublisher]\n});\n"],"names":["UpdateTeamUseCase","repository","identityContext","eventPublisher","id","input","hasPermission","Result","NotAuthorizedError","validation","updateTeamValidation","TeamValidationError","existingResult","existingTeam","CannotUpdateSystemTeamsError","CannotUpdatePluginTeamsError","updatedTeam","TeamBeforeUpdateEvent","result","TeamAfterUpdateEvent","UpdateTeamUseCaseImpl","createImplementation","UpdateTeam","TeamsRepository","IdentityContext","EventPublisher"],"mappings":";;;;;;;;AAgBO,MAAMA;IAKT,YACIC,UAAqC,EACrCC,eAA0C,EAC1CC,cAAwC,CAC1C;QACE,IAAI,CAAC,UAAU,GAAGF;QAClB,IAAI,CAAC,eAAe,GAAGC;QACvB,IAAI,CAAC,cAAc,GAAGC;IAC1B;IAEA,MAAM,QAAQC,EAAU,EAAEC,KAAsB,EAA2C;QACvF,MAAMC,gBAAgB,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;QAC/D,IAAI,CAACA,eACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAG3B,MAAMC,aAAaC,qBAAqB,SAAS,CAACL;QAClD,IAAI,CAACI,WAAW,OAAO,EACnB,OAAOF,OAAO,IAAI,CAAC,IAAII,oBAAoBF,WAAW,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO;QAGjF,MAAMG,iBAAiB,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAER;QAAG;QACtD,IAAIQ,eAAe,MAAM,IACrB,OAAOL,OAAO,IAAI,CAACK,eAAe,KAAK;QAG3C,MAAMC,eAAeD,eAAe,KAAK;QAGzC,IAAIC,aAAa,MAAM,EACnB,OAAON,OAAO,IAAI,CAAC,IAAIO;QAI3B,IAAID,aAAa,MAAM,EACnB,OAAON,OAAO,IAAI,CAAC,IAAIQ;QAG3B,MAAMC,cAAoB;YACtB,GAAGH,YAAY;YACf,GAAGJ,WAAW,IAAI;QACtB;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIQ,sBAAsB;YACtB,UAAUJ;YACV,SAASG;YACT,OAAOP,WAAW,IAAI;QAC1B;QAGJ,MAAMS,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAACF;QAE5C,IAAIE,OAAO,MAAM,IACb,OAAOX,OAAO,IAAI,CAACW,OAAO,KAAK;QAGnC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIC,qBAAqB;YACrB,UAAUN;YACV,SAASG;YACT,OAAOP,WAAW,IAAI;QAC1B;QAGJ,OAAOF,OAAO,EAAE,CAACS;IACrB;AACJ;AAEO,MAAMI,wBAAwBC,qBAAqB;IACtD,aAAaC;IACb,gBAAgBtB;IAChB,cAAc;QAACuB;QAAiBC;QAAiBC;KAAe;AACpE"}
@@ -1,5 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
- /** Update an existing team. */
3
- export const UpdateTeam = createAbstraction("UpdateTeam");
2
+ const UpdateTeam = createAbstraction("UpdateTeam");
3
+ export { UpdateTeam };
4
4
 
5
5
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","UpdateTeam"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport type { Team, UpdateTeamInput } from \"../shared/types.js\";\nimport { TeamsRepository } from \"../shared/abstractions.js\";\nimport {\n NotAuthorizedError,\n CannotUpdatePluginTeamsError,\n CannotUpdateSystemTeamsError,\n TeamValidationError\n} from \"../shared/errors.js\";\n\nexport interface IUpdateTeamErrors {\n notAuthorized: NotAuthorizedError;\n cannotUpdatePlugin: CannotUpdatePluginTeamsError;\n cannotUpdateSystem: CannotUpdateSystemTeamsError;\n validation: TeamValidationError;\n}\n\ntype UpdateTeamError = IUpdateTeamErrors[keyof IUpdateTeamErrors] | TeamsRepository.Error;\n\nexport interface IUpdateTeam {\n execute(id: string, input: UpdateTeamInput): Promise<Result<Team, UpdateTeamError>>;\n}\n\n/** Update an existing team. */\nexport const UpdateTeam = createAbstraction<IUpdateTeam>(\"UpdateTeam\");\n\nexport namespace UpdateTeam {\n export type Interface = IUpdateTeam;\n export type Error = UpdateTeamError;\n}\n\nexport interface TeamBeforeUpdatePayload {\n original: Team;\n updated: Team;\n input: UpdateTeamInput;\n}\n\nexport interface TeamAfterUpdatePayload {\n original: Team;\n updated: Team;\n input: UpdateTeamInput;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAwBvD;AACA,OAAO,MAAMC,UAAU,GAAGD,iBAAiB,CAAc,YAAY,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/teams/UpdateTeam/abstractions.js","sources":["../../../../../src/features/security/teams/UpdateTeam/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport type { Team, UpdateTeamInput } from \"../shared/types.js\";\nimport { TeamsRepository } from \"../shared/abstractions.js\";\nimport {\n NotAuthorizedError,\n CannotUpdatePluginTeamsError,\n CannotUpdateSystemTeamsError,\n TeamValidationError\n} from \"../shared/errors.js\";\n\nexport interface IUpdateTeamErrors {\n notAuthorized: NotAuthorizedError;\n cannotUpdatePlugin: CannotUpdatePluginTeamsError;\n cannotUpdateSystem: CannotUpdateSystemTeamsError;\n validation: TeamValidationError;\n}\n\ntype UpdateTeamError = IUpdateTeamErrors[keyof IUpdateTeamErrors] | TeamsRepository.Error;\n\nexport interface IUpdateTeam {\n execute(id: string, input: UpdateTeamInput): Promise<Result<Team, UpdateTeamError>>;\n}\n\n/** Update an existing team. */\nexport const UpdateTeam = createAbstraction<IUpdateTeam>(\"UpdateTeam\");\n\nexport namespace UpdateTeam {\n export type Interface = IUpdateTeam;\n export type Error = UpdateTeamError;\n}\n\nexport interface TeamBeforeUpdatePayload {\n original: Team;\n updated: Team;\n input: UpdateTeamInput;\n}\n\nexport interface TeamAfterUpdatePayload {\n original: Team;\n updated: Team;\n input: UpdateTeamInput;\n}\n"],"names":["UpdateTeam","createAbstraction"],"mappings":";AAyBO,MAAMA,aAAaC,kBAA+B"}
@@ -1,22 +1,23 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
2
  import { DomainEvent } from "../../../eventPublisher/index.js";
3
- export class TeamBeforeUpdateEvent extends DomainEvent {
4
- eventType = "team.beforeUpdate";
5
- getHandlerAbstraction() {
6
- return TeamBeforeUpdateEventHandler;
7
- }
3
+ class TeamBeforeUpdateEvent extends DomainEvent {
4
+ getHandlerAbstraction() {
5
+ return TeamBeforeUpdateEventHandler;
6
+ }
7
+ constructor(...args){
8
+ super(...args), this.eventType = "team.beforeUpdate";
9
+ }
8
10
  }
9
-
10
- /** Hook into team lifecycle before a team is updated. */
11
- export const TeamBeforeUpdateEventHandler = createAbstraction("TeamBeforeUpdateEventHandler");
12
- export class TeamAfterUpdateEvent extends DomainEvent {
13
- eventType = "team.afterUpdate";
14
- getHandlerAbstraction() {
15
- return TeamAfterUpdateEventHandler;
16
- }
11
+ const TeamBeforeUpdateEventHandler = createAbstraction("TeamBeforeUpdateEventHandler");
12
+ class TeamAfterUpdateEvent extends DomainEvent {
13
+ getHandlerAbstraction() {
14
+ return TeamAfterUpdateEventHandler;
15
+ }
16
+ constructor(...args){
17
+ super(...args), this.eventType = "team.afterUpdate";
18
+ }
17
19
  }
18
-
19
- /** Hook into team lifecycle after a team is updated. */
20
- export const TeamAfterUpdateEventHandler = createAbstraction("TeamAfterUpdateEventHandler");
20
+ const TeamAfterUpdateEventHandler = createAbstraction("TeamAfterUpdateEventHandler");
21
+ export { TeamAfterUpdateEvent, TeamAfterUpdateEventHandler, TeamBeforeUpdateEvent, TeamBeforeUpdateEventHandler };
21
22
 
22
23
  //# sourceMappingURL=events.js.map