@webiny/api-core 0.0.0-unstable.6844005670 → 0.0.0-unstable.7be00a75a9

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 (1000) hide show
  1. package/ApiCoreFeature.d.ts +5 -1
  2. package/ApiCoreFeature.js +25 -15
  3. package/ApiCoreFeature.js.map +1 -1
  4. package/createApiCore.d.ts +1 -1
  5. package/createApiCore.js +14 -9
  6. package/createApiCore.js.map +1 -1
  7. package/domain/identity/SystemIdentityValue.js +9 -8
  8. package/domain/identity/SystemIdentityValue.js.map +1 -1
  9. package/domain/security/ApiToken.d.ts +1 -0
  10. package/domain/security/ApiToken.js +5 -10
  11. package/domain/security/ApiToken.js.map +1 -1
  12. package/domain/tenancy/RootTenantValue.js +9 -8
  13. package/domain/tenancy/RootTenantValue.js.map +1 -1
  14. package/domain/tenancy/errors.js +0 -3
  15. package/exports/api/build-params.d.ts +1 -0
  16. package/exports/api/build-params.js +0 -2
  17. package/exports/api/event-publisher.d.ts +1 -0
  18. package/exports/api/event-publisher.js +0 -2
  19. package/exports/api/graphql.js +0 -2
  20. package/exports/api/key-value-store.d.ts +1 -0
  21. package/exports/api/key-value-store.js +0 -2
  22. package/exports/api/logger.d.ts +1 -0
  23. package/exports/api/logger.js +0 -2
  24. package/exports/api/security/api-key.d.ts +3 -3
  25. package/exports/api/security/api-key.js +3 -5
  26. package/exports/api/security/authentication.d.ts +1 -1
  27. package/exports/api/security/authentication.js +1 -3
  28. package/exports/api/security/role.d.ts +3 -3
  29. package/exports/api/security/role.js +3 -5
  30. package/exports/api/security/user.d.ts +3 -3
  31. package/exports/api/security/user.js +3 -5
  32. package/exports/api/security.d.ts +6 -0
  33. package/exports/api/security.js +5 -4
  34. package/exports/api/system.d.ts +1 -1
  35. package/exports/api/system.js +1 -3
  36. package/exports/api/tasks.js +0 -2
  37. package/exports/api/tenancy.d.ts +4 -4
  38. package/exports/api/tenancy.js +4 -6
  39. package/exports/api/webhooks.d.ts +1 -0
  40. package/exports/api/webhooks.js +1 -0
  41. package/exports/api.d.ts +7 -0
  42. package/exports/api.js +6 -0
  43. package/features/ai/Ai.d.ts +26 -0
  44. package/features/ai/Ai.js +116 -0
  45. package/features/ai/Ai.js.map +1 -0
  46. package/features/ai/AiSdkTools.d.ts +11 -0
  47. package/features/ai/AiSdkTools.js +29 -0
  48. package/features/ai/AiSdkTools.js.map +1 -0
  49. package/features/ai/AnthropicSdkFactory.d.ts +10 -0
  50. package/features/ai/AnthropicSdkFactory.js +88 -0
  51. package/features/ai/AnthropicSdkFactory.js.map +1 -0
  52. package/features/ai/OpenAiSdkFactory.d.ts +10 -0
  53. package/features/ai/OpenAiSdkFactory.js +240 -0
  54. package/features/ai/OpenAiSdkFactory.js.map +1 -0
  55. package/features/ai/abstractions.d.ts +92 -0
  56. package/features/ai/abstractions.js +10 -0
  57. package/features/ai/abstractions.js.map +1 -0
  58. package/features/ai/feature.d.ts +4 -0
  59. package/features/ai/feature.js +17 -0
  60. package/features/ai/feature.js.map +1 -0
  61. package/features/ai/index.d.ts +3 -0
  62. package/features/ai/index.js +2 -0
  63. package/features/buildParams/BuildParams.js +20 -14
  64. package/features/buildParams/BuildParams.js.map +1 -1
  65. package/features/buildParams/abstractions.d.ts +2 -0
  66. package/features/buildParams/abstractions.js +3 -2
  67. package/features/buildParams/abstractions.js.map +1 -1
  68. package/features/buildParams/feature.d.ts +5 -1
  69. package/features/buildParams/feature.js +6 -5
  70. package/features/buildParams/feature.js.map +1 -1
  71. package/features/buildParams/index.js +0 -2
  72. package/features/encryption/EncryptionService.d.ts +10 -0
  73. package/features/encryption/EncryptionService.js +62 -0
  74. package/features/encryption/EncryptionService.js.map +1 -0
  75. package/features/encryption/abstractions.d.ts +9 -0
  76. package/features/encryption/abstractions.js +5 -0
  77. package/features/encryption/abstractions.js.map +1 -0
  78. package/features/encryption/feature.d.ts +4 -0
  79. package/features/encryption/feature.js +11 -0
  80. package/features/encryption/feature.js.map +1 -0
  81. package/features/encryption/index.d.ts +1 -0
  82. package/features/encryption/index.js +1 -0
  83. package/features/eventPublisher/EventPublisher.js +9 -15
  84. package/features/eventPublisher/EventPublisher.js.map +1 -1
  85. package/features/eventPublisher/__tests__/EventPublisher.test.js +385 -419
  86. package/features/eventPublisher/__tests__/EventPublisher.test.js.map +1 -1
  87. package/features/eventPublisher/abstractions.d.ts +2 -0
  88. package/features/eventPublisher/abstractions.js +7 -9
  89. package/features/eventPublisher/abstractions.js.map +1 -1
  90. package/features/eventPublisher/feature.d.ts +5 -1
  91. package/features/eventPublisher/feature.js +8 -7
  92. package/features/eventPublisher/feature.js.map +1 -1
  93. package/features/eventPublisher/index.js +0 -2
  94. package/features/featureFlags/FeatureFlags.js +15 -12
  95. package/features/featureFlags/FeatureFlags.js.map +1 -1
  96. package/features/featureFlags/abstractions.js +2 -1
  97. package/features/featureFlags/abstractions.js.map +1 -1
  98. package/features/featureFlags/feature.d.ts +5 -1
  99. package/features/featureFlags/feature.js +6 -5
  100. package/features/featureFlags/feature.js.map +1 -1
  101. package/features/keyValueStore/GlobalKeyValueStore.js +28 -23
  102. package/features/keyValueStore/GlobalKeyValueStore.js.map +1 -1
  103. package/features/keyValueStore/KeyValueStore.js +30 -27
  104. package/features/keyValueStore/KeyValueStore.js.map +1 -1
  105. package/features/keyValueStore/KeyValueStoreRepository.d.ts +2 -2
  106. package/features/keyValueStore/KeyValueStoreRepository.js +34 -41
  107. package/features/keyValueStore/KeyValueStoreRepository.js.map +1 -1
  108. package/features/keyValueStore/abstractions.d.ts +10 -2
  109. package/features/keyValueStore/abstractions.js +5 -16
  110. package/features/keyValueStore/abstractions.js.map +1 -1
  111. package/features/keyValueStore/errors.js +16 -17
  112. package/features/keyValueStore/errors.js.map +1 -1
  113. package/features/keyValueStore/feature.d.ts +4 -1
  114. package/features/keyValueStore/feature.js +9 -9
  115. package/features/keyValueStore/feature.js.map +1 -1
  116. package/features/keyValueStore/index.js +1 -3
  117. package/features/logger/LoggerService.js +41 -45
  118. package/features/logger/LoggerService.js.map +1 -1
  119. package/features/logger/abstractions.d.ts +1 -0
  120. package/features/logger/abstractions.js +2 -1
  121. package/features/logger/abstractions.js.map +1 -1
  122. package/features/logger/feature.d.ts +4 -1
  123. package/features/logger/feature.js +6 -5
  124. package/features/logger/feature.js.map +1 -1
  125. package/features/logger/index.js +0 -2
  126. package/features/masker/Masker.d.ts +8 -0
  127. package/features/masker/Masker.js +18 -0
  128. package/features/masker/Masker.js.map +1 -0
  129. package/features/masker/abstractions.d.ts +11 -0
  130. package/features/masker/abstractions.js +5 -0
  131. package/features/masker/abstractions.js.map +1 -0
  132. package/features/masker/feature.d.ts +4 -0
  133. package/features/masker/feature.js +11 -0
  134. package/features/masker/feature.js.map +1 -0
  135. package/features/masker/index.d.ts +1 -0
  136. package/features/masker/index.js +1 -0
  137. package/features/security/IdentityContext/AnonymousIdentity.js +12 -16
  138. package/features/security/IdentityContext/AnonymousIdentity.js.map +1 -1
  139. package/features/security/IdentityContext/AuthenticatedIdentity.js +5 -8
  140. package/features/security/IdentityContext/AuthenticatedIdentity.js.map +1 -1
  141. package/features/security/IdentityContext/Identity.js +63 -71
  142. package/features/security/IdentityContext/Identity.js.map +1 -1
  143. package/features/security/IdentityContext/IdentityContext.js +69 -106
  144. package/features/security/IdentityContext/IdentityContext.js.map +1 -1
  145. package/features/security/IdentityContext/abstractions.d.ts +1 -0
  146. package/features/security/IdentityContext/abstractions.js +2 -1
  147. package/features/security/IdentityContext/abstractions.js.map +1 -1
  148. package/features/security/IdentityContext/feature.d.ts +4 -1
  149. package/features/security/IdentityContext/feature.js +6 -5
  150. package/features/security/IdentityContext/feature.js.map +1 -1
  151. package/features/security/IdentityContext/index.js +0 -3
  152. package/features/security/SecurityFeature.d.ts +5 -1
  153. package/features/security/SecurityFeature.js +13 -21
  154. package/features/security/SecurityFeature.js.map +1 -1
  155. package/features/security/apiKeys/CreateApiKey/CreateApiKeyUseCase.js +48 -49
  156. package/features/security/apiKeys/CreateApiKey/CreateApiKeyUseCase.js.map +1 -1
  157. package/features/security/apiKeys/CreateApiKey/abstractions.d.ts +1 -0
  158. package/features/security/apiKeys/CreateApiKey/abstractions.js +2 -1
  159. package/features/security/apiKeys/CreateApiKey/abstractions.js.map +1 -1
  160. package/features/security/apiKeys/CreateApiKey/events.d.ts +6 -4
  161. package/features/security/apiKeys/CreateApiKey/events.js +17 -12
  162. package/features/security/apiKeys/CreateApiKey/events.js.map +1 -1
  163. package/features/security/apiKeys/CreateApiKey/feature.d.ts +4 -1
  164. package/features/security/apiKeys/CreateApiKey/feature.js +6 -5
  165. package/features/security/apiKeys/CreateApiKey/feature.js.map +1 -1
  166. package/features/security/apiKeys/CreateApiKey/index.js +0 -2
  167. package/features/security/apiKeys/DeleteApiKey/DeleteApiKeyUseCase.js +29 -30
  168. package/features/security/apiKeys/DeleteApiKey/DeleteApiKeyUseCase.js.map +1 -1
  169. package/features/security/apiKeys/DeleteApiKey/abstractions.d.ts +1 -0
  170. package/features/security/apiKeys/DeleteApiKey/abstractions.js +2 -1
  171. package/features/security/apiKeys/DeleteApiKey/abstractions.js.map +1 -1
  172. package/features/security/apiKeys/DeleteApiKey/events.d.ts +6 -4
  173. package/features/security/apiKeys/DeleteApiKey/events.js +17 -12
  174. package/features/security/apiKeys/DeleteApiKey/events.js.map +1 -1
  175. package/features/security/apiKeys/DeleteApiKey/feature.d.ts +4 -1
  176. package/features/security/apiKeys/DeleteApiKey/feature.js +6 -5
  177. package/features/security/apiKeys/DeleteApiKey/feature.js.map +1 -1
  178. package/features/security/apiKeys/DeleteApiKey/index.js +0 -2
  179. package/features/security/apiKeys/GetApiKey/GetApiKeyUseCase.js +16 -14
  180. package/features/security/apiKeys/GetApiKey/GetApiKeyUseCase.js.map +1 -1
  181. package/features/security/apiKeys/GetApiKey/abstractions.d.ts +1 -0
  182. package/features/security/apiKeys/GetApiKey/abstractions.js +2 -1
  183. package/features/security/apiKeys/GetApiKey/abstractions.js.map +1 -1
  184. package/features/security/apiKeys/GetApiKey/feature.d.ts +4 -1
  185. package/features/security/apiKeys/GetApiKey/feature.js +6 -5
  186. package/features/security/apiKeys/GetApiKey/feature.js.map +1 -1
  187. package/features/security/apiKeys/GetApiKey/index.js +0 -2
  188. package/features/security/apiKeys/GetApiKeyBySlug/GetApiKeyBySlugUseCase.js +13 -10
  189. package/features/security/apiKeys/GetApiKeyBySlug/GetApiKeyBySlugUseCase.js.map +1 -1
  190. package/features/security/apiKeys/GetApiKeyBySlug/abstractions.d.ts +1 -0
  191. package/features/security/apiKeys/GetApiKeyBySlug/abstractions.js +2 -1
  192. package/features/security/apiKeys/GetApiKeyBySlug/abstractions.js.map +1 -1
  193. package/features/security/apiKeys/GetApiKeyBySlug/feature.d.ts +4 -1
  194. package/features/security/apiKeys/GetApiKeyBySlug/feature.js +6 -5
  195. package/features/security/apiKeys/GetApiKeyBySlug/feature.js.map +1 -1
  196. package/features/security/apiKeys/GetApiKeyBySlug/index.js +0 -2
  197. package/features/security/apiKeys/GetApiKeyByToken/GetApiKeyByTokenUseCase.js +13 -10
  198. package/features/security/apiKeys/GetApiKeyByToken/GetApiKeyByTokenUseCase.js.map +1 -1
  199. package/features/security/apiKeys/GetApiKeyByToken/abstractions.d.ts +1 -0
  200. package/features/security/apiKeys/GetApiKeyByToken/abstractions.js +2 -1
  201. package/features/security/apiKeys/GetApiKeyByToken/abstractions.js.map +1 -1
  202. package/features/security/apiKeys/GetApiKeyByToken/feature.d.ts +4 -1
  203. package/features/security/apiKeys/GetApiKeyByToken/feature.js +6 -5
  204. package/features/security/apiKeys/GetApiKeyByToken/feature.js.map +1 -1
  205. package/features/security/apiKeys/GetApiKeyByToken/index.js +0 -2
  206. package/features/security/apiKeys/ListApiKeys/ListApiKeysUseCase.js +17 -17
  207. package/features/security/apiKeys/ListApiKeys/ListApiKeysUseCase.js.map +1 -1
  208. package/features/security/apiKeys/ListApiKeys/abstractions.d.ts +1 -0
  209. package/features/security/apiKeys/ListApiKeys/abstractions.js +2 -1
  210. package/features/security/apiKeys/ListApiKeys/abstractions.js.map +1 -1
  211. package/features/security/apiKeys/ListApiKeys/feature.d.ts +4 -1
  212. package/features/security/apiKeys/ListApiKeys/feature.js +6 -5
  213. package/features/security/apiKeys/ListApiKeys/feature.js.map +1 -1
  214. package/features/security/apiKeys/ListApiKeys/index.js +0 -2
  215. package/features/security/apiKeys/UpdateApiKey/UpdateApiKeyUseCase.js +39 -42
  216. package/features/security/apiKeys/UpdateApiKey/UpdateApiKeyUseCase.js.map +1 -1
  217. package/features/security/apiKeys/UpdateApiKey/abstractions.d.ts +1 -0
  218. package/features/security/apiKeys/UpdateApiKey/abstractions.js +2 -1
  219. package/features/security/apiKeys/UpdateApiKey/abstractions.js.map +1 -1
  220. package/features/security/apiKeys/UpdateApiKey/events.d.ts +6 -4
  221. package/features/security/apiKeys/UpdateApiKey/events.js +17 -12
  222. package/features/security/apiKeys/UpdateApiKey/events.js.map +1 -1
  223. package/features/security/apiKeys/UpdateApiKey/feature.d.ts +4 -1
  224. package/features/security/apiKeys/UpdateApiKey/feature.js +6 -5
  225. package/features/security/apiKeys/UpdateApiKey/feature.js.map +1 -1
  226. package/features/security/apiKeys/UpdateApiKey/index.js +0 -2
  227. package/features/security/apiKeys/feature.d.ts +4 -1
  228. package/features/security/apiKeys/feature.js +14 -16
  229. package/features/security/apiKeys/feature.js.map +1 -1
  230. package/features/security/apiKeys/shared/ApiKeyProvider.js +42 -42
  231. package/features/security/apiKeys/shared/ApiKeyProvider.js.map +1 -1
  232. package/features/security/apiKeys/shared/ApiKeysRepository.js +108 -135
  233. package/features/security/apiKeys/shared/ApiKeysRepository.js.map +1 -1
  234. package/features/security/apiKeys/shared/abstractions.d.ts +5 -2
  235. package/features/security/apiKeys/shared/abstractions.js +4 -3
  236. package/features/security/apiKeys/shared/abstractions.js.map +1 -1
  237. package/features/security/apiKeys/shared/errors.js +29 -32
  238. package/features/security/apiKeys/shared/errors.js.map +1 -1
  239. package/features/security/apiKeys/shared/generateToken.js +6 -16
  240. package/features/security/apiKeys/shared/generateToken.js.map +1 -1
  241. package/features/security/apiKeys/shared/schemas.d.ts +10 -71
  242. package/features/security/apiKeys/shared/schemas.js +27 -23
  243. package/features/security/apiKeys/shared/schemas.js.map +1 -1
  244. package/features/security/apiKeys/shared/types.js +0 -3
  245. package/features/security/authentication/AuthenticationContext/AuthenticationContext.js +44 -38
  246. package/features/security/authentication/AuthenticationContext/AuthenticationContext.js.map +1 -1
  247. package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.d.ts +2 -2
  248. package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.js +33 -43
  249. package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.js.map +1 -1
  250. package/features/security/authentication/AuthenticationContext/abstractions.d.ts +1 -0
  251. package/features/security/authentication/AuthenticationContext/abstractions.js +2 -1
  252. package/features/security/authentication/AuthenticationContext/abstractions.js.map +1 -1
  253. package/features/security/authentication/AuthenticationContext/errors.js +51 -116
  254. package/features/security/authentication/AuthenticationContext/errors.js.map +1 -1
  255. package/features/security/authentication/AuthenticationContext/events.d.ts +6 -4
  256. package/features/security/authentication/AuthenticationContext/events.js +17 -12
  257. package/features/security/authentication/AuthenticationContext/events.js.map +1 -1
  258. package/features/security/authentication/AuthenticationContext/feature.d.ts +4 -1
  259. package/features/security/authentication/AuthenticationContext/feature.js +6 -5
  260. package/features/security/authentication/AuthenticationContext/feature.js.map +1 -1
  261. package/features/security/authentication/AuthenticationContext/index.js +2 -4
  262. package/features/security/authentication/Authenticator/abstractions.d.ts +1 -0
  263. package/features/security/authentication/Authenticator/abstractions.js +2 -1
  264. package/features/security/authentication/Authenticator/abstractions.js.map +1 -1
  265. package/features/security/authentication/Authenticator/index.js +0 -2
  266. package/features/security/authorization/AuthorizationContext/AuthorizationContext.d.ts +1 -0
  267. package/features/security/authorization/AuthorizationContext/AuthorizationContext.js +46 -47
  268. package/features/security/authorization/AuthorizationContext/AuthorizationContext.js.map +1 -1
  269. package/features/security/authorization/AuthorizationContext/abstractions.d.ts +2 -0
  270. package/features/security/authorization/AuthorizationContext/abstractions.js +3 -2
  271. package/features/security/authorization/AuthorizationContext/abstractions.js.map +1 -1
  272. package/features/security/authorization/AuthorizationContext/feature.d.ts +4 -1
  273. package/features/security/authorization/AuthorizationContext/feature.js +10 -9
  274. package/features/security/authorization/AuthorizationContext/feature.js.map +1 -1
  275. package/features/security/authorization/AuthorizationContext/index.js +1 -4
  276. package/features/security/authorization/Authorizer/abstractions.d.ts +1 -0
  277. package/features/security/authorization/Authorizer/abstractions.js +2 -1
  278. package/features/security/authorization/Authorizer/abstractions.js.map +1 -1
  279. package/features/security/authorization/Authorizer/index.js +0 -2
  280. package/features/security/authorization/GroupsTeamsAuthorizer/GetPermissionsFromIdentity.js +60 -64
  281. package/features/security/authorization/GroupsTeamsAuthorizer/GetPermissionsFromIdentity.js.map +1 -1
  282. package/features/security/authorization/GroupsTeamsAuthorizer/RolesTeamsAuthorizer.js +26 -40
  283. package/features/security/authorization/GroupsTeamsAuthorizer/RolesTeamsAuthorizer.js.map +1 -1
  284. package/features/security/authorization/GroupsTeamsAuthorizer/abstractions.js +2 -1
  285. package/features/security/authorization/GroupsTeamsAuthorizer/abstractions.js.map +1 -1
  286. package/features/security/authorization/GroupsTeamsAuthorizer/feature.d.ts +4 -1
  287. package/features/security/authorization/GroupsTeamsAuthorizer/feature.js +7 -6
  288. package/features/security/authorization/GroupsTeamsAuthorizer/feature.js.map +1 -1
  289. package/features/security/login/abstractions.d.ts +3 -2
  290. package/features/security/login/abstractions.js +9 -6
  291. package/features/security/login/abstractions.js.map +1 -1
  292. package/features/security/login/index.js +0 -2
  293. package/features/security/permissions/createPermissionSchema.d.ts +2 -0
  294. package/features/security/permissions/createPermissionSchema.js +9 -0
  295. package/features/security/permissions/createPermissionSchema.js.map +1 -0
  296. package/features/security/permissions/createPermissions.d.ts +5 -5
  297. package/features/security/permissions/createPermissions.js +130 -208
  298. package/features/security/permissions/createPermissions.js.map +1 -1
  299. package/features/security/permissions/index.d.ts +2 -1
  300. package/features/security/permissions/index.js +2 -3
  301. package/features/security/permissions/types.js +0 -3
  302. package/features/security/roles/CreateRole/CreateRoleUseCase.d.ts +1 -3
  303. package/features/security/roles/CreateRole/CreateRoleUseCase.js +53 -63
  304. package/features/security/roles/CreateRole/CreateRoleUseCase.js.map +1 -1
  305. package/features/security/roles/CreateRole/abstractions.d.ts +1 -0
  306. package/features/security/roles/CreateRole/abstractions.js +2 -1
  307. package/features/security/roles/CreateRole/abstractions.js.map +1 -1
  308. package/features/security/roles/CreateRole/events.d.ts +6 -4
  309. package/features/security/roles/CreateRole/events.js +17 -12
  310. package/features/security/roles/CreateRole/events.js.map +1 -1
  311. package/features/security/roles/CreateRole/feature.d.ts +4 -1
  312. package/features/security/roles/CreateRole/feature.js +6 -5
  313. package/features/security/roles/CreateRole/feature.js.map +1 -1
  314. package/features/security/roles/CreateRole/index.js +0 -2
  315. package/features/security/roles/CreateRole/schema.d.ts +2 -20
  316. package/features/security/roles/CreateRole/schema.js +8 -7
  317. package/features/security/roles/CreateRole/schema.js.map +1 -1
  318. package/features/security/roles/DeleteRole/DeleteRoleUseCase.js +35 -41
  319. package/features/security/roles/DeleteRole/DeleteRoleUseCase.js.map +1 -1
  320. package/features/security/roles/DeleteRole/abstractions.d.ts +1 -0
  321. package/features/security/roles/DeleteRole/abstractions.js +2 -1
  322. package/features/security/roles/DeleteRole/abstractions.js.map +1 -1
  323. package/features/security/roles/DeleteRole/events.d.ts +6 -4
  324. package/features/security/roles/DeleteRole/events.js +17 -12
  325. package/features/security/roles/DeleteRole/events.js.map +1 -1
  326. package/features/security/roles/DeleteRole/feature.d.ts +4 -1
  327. package/features/security/roles/DeleteRole/feature.js +6 -5
  328. package/features/security/roles/DeleteRole/feature.js.map +1 -1
  329. package/features/security/roles/DeleteRole/index.js +0 -2
  330. package/features/security/roles/GetRole/GetRoleUseCase.js +19 -18
  331. package/features/security/roles/GetRole/GetRoleUseCase.js.map +1 -1
  332. package/features/security/roles/GetRole/abstractions.d.ts +1 -0
  333. package/features/security/roles/GetRole/abstractions.js +2 -1
  334. package/features/security/roles/GetRole/abstractions.js.map +1 -1
  335. package/features/security/roles/GetRole/feature.d.ts +4 -1
  336. package/features/security/roles/GetRole/feature.js +6 -5
  337. package/features/security/roles/GetRole/feature.js.map +1 -1
  338. package/features/security/roles/GetRole/index.js +0 -2
  339. package/features/security/roles/Installer/RolesInstaller.js +38 -35
  340. package/features/security/roles/Installer/RolesInstaller.js.map +1 -1
  341. package/features/security/roles/ListRoles/ListRolesUseCase.js +18 -17
  342. package/features/security/roles/ListRoles/ListRolesUseCase.js.map +1 -1
  343. package/features/security/roles/ListRoles/abstractions.d.ts +1 -0
  344. package/features/security/roles/ListRoles/abstractions.js +2 -1
  345. package/features/security/roles/ListRoles/abstractions.js.map +1 -1
  346. package/features/security/roles/ListRoles/feature.d.ts +4 -1
  347. package/features/security/roles/ListRoles/feature.js +6 -5
  348. package/features/security/roles/ListRoles/feature.js.map +1 -1
  349. package/features/security/roles/ListRoles/index.js +0 -2
  350. package/features/security/roles/UpdateRole/UpdateRoleUseCase.js +43 -50
  351. package/features/security/roles/UpdateRole/UpdateRoleUseCase.js.map +1 -1
  352. package/features/security/roles/UpdateRole/abstractions.d.ts +1 -0
  353. package/features/security/roles/UpdateRole/abstractions.js +2 -1
  354. package/features/security/roles/UpdateRole/abstractions.js.map +1 -1
  355. package/features/security/roles/UpdateRole/events.d.ts +6 -4
  356. package/features/security/roles/UpdateRole/events.js +17 -12
  357. package/features/security/roles/UpdateRole/events.js.map +1 -1
  358. package/features/security/roles/UpdateRole/feature.d.ts +4 -1
  359. package/features/security/roles/UpdateRole/feature.js +6 -5
  360. package/features/security/roles/UpdateRole/feature.js.map +1 -1
  361. package/features/security/roles/UpdateRole/index.js +0 -2
  362. package/features/security/roles/UpdateRole/schema.d.ts +2 -18
  363. package/features/security/roles/UpdateRole/schema.js +7 -6
  364. package/features/security/roles/UpdateRole/schema.js.map +1 -1
  365. package/features/security/roles/feature.d.ts +4 -1
  366. package/features/security/roles/feature.js +15 -17
  367. package/features/security/roles/feature.js.map +1 -1
  368. package/features/security/roles/shared/RoleProvider.d.ts +13 -0
  369. package/features/security/roles/shared/RoleProvider.js +35 -0
  370. package/features/security/roles/shared/RoleProvider.js.map +1 -0
  371. package/features/security/roles/shared/RolesRepository.d.ts +3 -1
  372. package/features/security/roles/shared/RolesRepository.js +99 -115
  373. package/features/security/roles/shared/RolesRepository.js.map +1 -1
  374. package/features/security/roles/shared/abstractions.d.ts +19 -0
  375. package/features/security/roles/shared/abstractions.js +3 -1
  376. package/features/security/roles/shared/abstractions.js.map +1 -1
  377. package/features/security/roles/shared/decorators/ListCache.js +23 -22
  378. package/features/security/roles/shared/decorators/ListCache.js.map +1 -1
  379. package/features/security/roles/shared/decorators/RolesRepositoryCachingDecorator.js +40 -62
  380. package/features/security/roles/shared/decorators/RolesRepositoryCachingDecorator.js.map +1 -1
  381. package/features/security/roles/shared/errors.js +50 -56
  382. package/features/security/roles/shared/errors.js.map +1 -1
  383. package/features/security/roles/shared/types.js +0 -3
  384. package/features/security/shared/abstractions.d.ts +5 -14
  385. package/features/security/shared/abstractions.js +4 -19
  386. package/features/security/shared/abstractions.js.map +1 -1
  387. package/features/security/shared/errors.js +8 -8
  388. package/features/security/shared/errors.js.map +1 -1
  389. package/features/security/shared/index.js +0 -2
  390. package/features/security/teams/CreateTeam/CreateTeamUseCase.d.ts +1 -3
  391. package/features/security/teams/CreateTeam/CreateTeamUseCase.js +53 -63
  392. package/features/security/teams/CreateTeam/CreateTeamUseCase.js.map +1 -1
  393. package/features/security/teams/CreateTeam/abstractions.d.ts +1 -0
  394. package/features/security/teams/CreateTeam/abstractions.js +2 -1
  395. package/features/security/teams/CreateTeam/abstractions.js.map +1 -1
  396. package/features/security/teams/CreateTeam/events.d.ts +6 -4
  397. package/features/security/teams/CreateTeam/events.js +17 -12
  398. package/features/security/teams/CreateTeam/events.js.map +1 -1
  399. package/features/security/teams/CreateTeam/feature.d.ts +4 -1
  400. package/features/security/teams/CreateTeam/feature.js +6 -5
  401. package/features/security/teams/CreateTeam/feature.js.map +1 -1
  402. package/features/security/teams/CreateTeam/index.d.ts +1 -1
  403. package/features/security/teams/CreateTeam/index.js +1 -3
  404. package/features/security/teams/CreateTeam/schema.d.ts +2 -12
  405. package/features/security/teams/CreateTeam/schema.js +6 -5
  406. package/features/security/teams/CreateTeam/schema.js.map +1 -1
  407. package/features/security/teams/DeleteTeam/DeleteTeamUseCase.js +36 -46
  408. package/features/security/teams/DeleteTeam/DeleteTeamUseCase.js.map +1 -1
  409. package/features/security/teams/DeleteTeam/abstractions.d.ts +1 -0
  410. package/features/security/teams/DeleteTeam/abstractions.js +2 -1
  411. package/features/security/teams/DeleteTeam/abstractions.js.map +1 -1
  412. package/features/security/teams/DeleteTeam/events.d.ts +6 -4
  413. package/features/security/teams/DeleteTeam/events.js +17 -12
  414. package/features/security/teams/DeleteTeam/events.js.map +1 -1
  415. package/features/security/teams/DeleteTeam/feature.d.ts +4 -1
  416. package/features/security/teams/DeleteTeam/feature.js +6 -5
  417. package/features/security/teams/DeleteTeam/feature.js.map +1 -1
  418. package/features/security/teams/DeleteTeam/index.js +0 -2
  419. package/features/security/teams/GetTeam/GetTeamUseCase.js +17 -17
  420. package/features/security/teams/GetTeam/GetTeamUseCase.js.map +1 -1
  421. package/features/security/teams/GetTeam/abstractions.d.ts +1 -0
  422. package/features/security/teams/GetTeam/abstractions.js +2 -1
  423. package/features/security/teams/GetTeam/abstractions.js.map +1 -1
  424. package/features/security/teams/GetTeam/feature.d.ts +4 -1
  425. package/features/security/teams/GetTeam/feature.js +6 -5
  426. package/features/security/teams/GetTeam/feature.js.map +1 -1
  427. package/features/security/teams/GetTeam/index.js +0 -2
  428. package/features/security/teams/ListTeams/ListTeamsUseCase.js +20 -21
  429. package/features/security/teams/ListTeams/ListTeamsUseCase.js.map +1 -1
  430. package/features/security/teams/ListTeams/abstractions.d.ts +1 -0
  431. package/features/security/teams/ListTeams/abstractions.js +2 -1
  432. package/features/security/teams/ListTeams/abstractions.js.map +1 -1
  433. package/features/security/teams/ListTeams/feature.d.ts +4 -1
  434. package/features/security/teams/ListTeams/feature.js +6 -5
  435. package/features/security/teams/ListTeams/feature.js.map +1 -1
  436. package/features/security/teams/ListTeams/index.js +0 -2
  437. package/features/security/teams/UpdateTeam/UpdateTeamUseCase.js +46 -58
  438. package/features/security/teams/UpdateTeam/UpdateTeamUseCase.js.map +1 -1
  439. package/features/security/teams/UpdateTeam/abstractions.d.ts +1 -0
  440. package/features/security/teams/UpdateTeam/abstractions.js +2 -1
  441. package/features/security/teams/UpdateTeam/abstractions.js.map +1 -1
  442. package/features/security/teams/UpdateTeam/events.d.ts +6 -4
  443. package/features/security/teams/UpdateTeam/events.js +17 -12
  444. package/features/security/teams/UpdateTeam/events.js.map +1 -1
  445. package/features/security/teams/UpdateTeam/feature.d.ts +4 -1
  446. package/features/security/teams/UpdateTeam/feature.js +6 -5
  447. package/features/security/teams/UpdateTeam/feature.js.map +1 -1
  448. package/features/security/teams/UpdateTeam/index.js +0 -2
  449. package/features/security/teams/UpdateTeam/schema.d.ts +2 -10
  450. package/features/security/teams/UpdateTeam/schema.js +5 -4
  451. package/features/security/teams/UpdateTeam/schema.js.map +1 -1
  452. package/features/security/teams/feature.d.ts +4 -1
  453. package/features/security/teams/feature.js +15 -13
  454. package/features/security/teams/feature.js.map +1 -1
  455. package/features/security/teams/shared/TeamProvider.d.ts +13 -0
  456. package/features/security/teams/shared/TeamProvider.js +35 -0
  457. package/features/security/teams/shared/TeamProvider.js.map +1 -0
  458. package/features/security/teams/shared/TeamsRepository.js +102 -118
  459. package/features/security/teams/shared/TeamsRepository.js.map +1 -1
  460. package/features/security/teams/shared/abstractions.d.ts +18 -0
  461. package/features/security/teams/shared/abstractions.js +3 -1
  462. package/features/security/teams/shared/abstractions.js.map +1 -1
  463. package/features/security/teams/shared/decorators/TeamsRepositoryCachingDecorator.d.ts +17 -0
  464. package/features/security/teams/shared/decorators/TeamsRepositoryCachingDecorator.js +54 -0
  465. package/features/security/teams/shared/decorators/TeamsRepositoryCachingDecorator.js.map +1 -0
  466. package/features/security/teams/shared/errors.js +62 -70
  467. package/features/security/teams/shared/errors.js.map +1 -1
  468. package/features/security/teams/shared/types.js +0 -3
  469. package/features/security/utils/AppPermissions.js +50 -89
  470. package/features/security/utils/AppPermissions.js.map +1 -1
  471. package/features/security/utils/IdentityValue.js +19 -22
  472. package/features/security/utils/IdentityValue.js.map +1 -1
  473. package/features/security/utils/filterOutCustomWbyAppsPermissions.js +24 -27
  474. package/features/security/utils/filterOutCustomWbyAppsPermissions.js.map +1 -1
  475. package/features/security/utils/getPermissionsFromRoles.js +5 -10
  476. package/features/security/utils/getPermissionsFromRoles.js.map +1 -1
  477. package/features/security/utils/isJwt.js +2 -1
  478. package/features/security/utils/isJwt.js.map +1 -1
  479. package/features/security/utils/verifyJwtUsingJwk.d.ts +2 -4
  480. package/features/security/utils/verifyJwtUsingJwk.js +7 -8
  481. package/features/security/utils/verifyJwtUsingJwk.js.map +1 -1
  482. package/features/system/InstallSystem/InstallSystemUseCase.js +45 -44
  483. package/features/system/InstallSystem/InstallSystemUseCase.js.map +1 -1
  484. package/features/system/InstallSystem/abstractions.d.ts +4 -5
  485. package/features/system/InstallSystem/abstractions.js +3 -18
  486. package/features/system/InstallSystem/abstractions.js.map +1 -1
  487. package/features/system/InstallSystem/errors.js +15 -16
  488. package/features/system/InstallSystem/errors.js.map +1 -1
  489. package/features/system/InstallSystem/events.js +9 -6
  490. package/features/system/InstallSystem/events.js.map +1 -1
  491. package/features/system/InstallSystem/feature.d.ts +5 -1
  492. package/features/system/InstallSystem/feature.js +6 -7
  493. package/features/system/InstallSystem/feature.js.map +1 -1
  494. package/features/system/InstallSystem/index.d.ts +1 -1
  495. package/features/system/InstallSystem/index.js +2 -6
  496. package/features/system/SystemFeature.d.ts +4 -1
  497. package/features/system/SystemFeature.js +6 -5
  498. package/features/system/SystemFeature.js.map +1 -1
  499. package/features/task/TaskController/abstractions.d.ts +1 -0
  500. package/features/task/TaskController/abstractions.js +2 -9
  501. package/features/task/TaskController/abstractions.js.map +1 -1
  502. package/features/task/TaskController/index.js +0 -2
  503. package/features/task/TaskDefinition/abstractions.d.ts +7 -1
  504. package/features/task/TaskDefinition/abstractions.js +8 -39
  505. package/features/task/TaskDefinition/abstractions.js.map +1 -1
  506. package/features/task/TaskDefinition/index.js +0 -2
  507. package/features/task/TaskService/abstractions.d.ts +1 -0
  508. package/features/task/TaskService/abstractions.js +9 -12
  509. package/features/task/TaskService/abstractions.js.map +1 -1
  510. package/features/task/TaskService/index.js +0 -2
  511. package/features/tenancy/CreateTenant/CreateTenantGateway.js +14 -11
  512. package/features/tenancy/CreateTenant/CreateTenantGateway.js.map +1 -1
  513. package/features/tenancy/CreateTenant/CreateTenantRepository.js +18 -15
  514. package/features/tenancy/CreateTenant/CreateTenantRepository.js.map +1 -1
  515. package/features/tenancy/CreateTenant/CreateTenantUseCase.js +44 -41
  516. package/features/tenancy/CreateTenant/CreateTenantUseCase.js.map +1 -1
  517. package/features/tenancy/CreateTenant/abstractions.d.ts +9 -7
  518. package/features/tenancy/CreateTenant/abstractions.js +6 -27
  519. package/features/tenancy/CreateTenant/abstractions.js.map +1 -1
  520. package/features/tenancy/CreateTenant/decorators/CreateTenantWithWcpIncrement.js +16 -15
  521. package/features/tenancy/CreateTenant/decorators/CreateTenantWithWcpIncrement.js.map +1 -1
  522. package/features/tenancy/CreateTenant/errors.js +8 -8
  523. package/features/tenancy/CreateTenant/errors.js.map +1 -1
  524. package/features/tenancy/CreateTenant/events.js +16 -11
  525. package/features/tenancy/CreateTenant/events.js.map +1 -1
  526. package/features/tenancy/CreateTenant/feature.d.ts +5 -1
  527. package/features/tenancy/CreateTenant/feature.js +9 -8
  528. package/features/tenancy/CreateTenant/feature.js.map +1 -1
  529. package/features/tenancy/CreateTenant/index.d.ts +1 -1
  530. package/features/tenancy/CreateTenant/index.js +2 -4
  531. package/features/tenancy/DeleteTenant/DeleteTenantGateway.js +15 -12
  532. package/features/tenancy/DeleteTenant/DeleteTenantGateway.js.map +1 -1
  533. package/features/tenancy/DeleteTenant/DeleteTenantRepository.js +22 -19
  534. package/features/tenancy/DeleteTenant/DeleteTenantRepository.js.map +1 -1
  535. package/features/tenancy/DeleteTenant/DeleteTenantUseCase.js +29 -27
  536. package/features/tenancy/DeleteTenant/DeleteTenantUseCase.js.map +1 -1
  537. package/features/tenancy/DeleteTenant/abstractions.d.ts +9 -4
  538. package/features/tenancy/DeleteTenant/abstractions.js +6 -5
  539. package/features/tenancy/DeleteTenant/abstractions.js.map +1 -1
  540. package/features/tenancy/DeleteTenant/decorators/DeleteTenantWithWcpDecrement.js +16 -13
  541. package/features/tenancy/DeleteTenant/decorators/DeleteTenantWithWcpDecrement.js.map +1 -1
  542. package/features/tenancy/DeleteTenant/events.js +16 -11
  543. package/features/tenancy/DeleteTenant/events.js.map +1 -1
  544. package/features/tenancy/DeleteTenant/feature.d.ts +5 -1
  545. package/features/tenancy/DeleteTenant/feature.js +9 -8
  546. package/features/tenancy/DeleteTenant/feature.js.map +1 -1
  547. package/features/tenancy/DeleteTenant/index.d.ts +1 -1
  548. package/features/tenancy/DeleteTenant/index.js +2 -4
  549. package/features/tenancy/GetRootTenant/GetRootTenantUseCase.js +15 -12
  550. package/features/tenancy/GetRootTenant/GetRootTenantUseCase.js.map +1 -1
  551. package/features/tenancy/GetRootTenant/abstractions.js +2 -4
  552. package/features/tenancy/GetRootTenant/abstractions.js.map +1 -1
  553. package/features/tenancy/GetRootTenant/feature.d.ts +5 -1
  554. package/features/tenancy/GetRootTenant/feature.js +6 -5
  555. package/features/tenancy/GetRootTenant/feature.js.map +1 -1
  556. package/features/tenancy/GetRootTenant/index.js +0 -2
  557. package/features/tenancy/GetTenantById/GetTenantByIdGateway.js +17 -12
  558. package/features/tenancy/GetTenantById/GetTenantByIdGateway.js.map +1 -1
  559. package/features/tenancy/GetTenantById/GetTenantByIdRepository.js +18 -19
  560. package/features/tenancy/GetTenantById/GetTenantByIdRepository.js.map +1 -1
  561. package/features/tenancy/GetTenantById/GetTenantByIdUseCase.js +17 -17
  562. package/features/tenancy/GetTenantById/GetTenantByIdUseCase.js.map +1 -1
  563. package/features/tenancy/GetTenantById/abstractions.d.ts +3 -0
  564. package/features/tenancy/GetTenantById/abstractions.js +4 -12
  565. package/features/tenancy/GetTenantById/abstractions.js.map +1 -1
  566. package/features/tenancy/GetTenantById/feature.d.ts +5 -1
  567. package/features/tenancy/GetTenantById/feature.js +8 -12
  568. package/features/tenancy/GetTenantById/feature.js.map +1 -1
  569. package/features/tenancy/GetTenantById/index.js +1 -3
  570. package/features/tenancy/InstallTenant/DependencyResolver.js +53 -65
  571. package/features/tenancy/InstallTenant/DependencyResolver.js.map +1 -1
  572. package/features/tenancy/InstallTenant/InstallTenantUseCase.js +95 -113
  573. package/features/tenancy/InstallTenant/InstallTenantUseCase.js.map +1 -1
  574. package/features/tenancy/InstallTenant/abstractions.d.ts +5 -11
  575. package/features/tenancy/InstallTenant/abstractions.js +4 -24
  576. package/features/tenancy/InstallTenant/abstractions.js.map +1 -1
  577. package/features/tenancy/InstallTenant/errors.js +15 -16
  578. package/features/tenancy/InstallTenant/errors.js.map +1 -1
  579. package/features/tenancy/InstallTenant/events.js +9 -6
  580. package/features/tenancy/InstallTenant/events.js.map +1 -1
  581. package/features/tenancy/InstallTenant/feature.d.ts +5 -1
  582. package/features/tenancy/InstallTenant/feature.js +6 -5
  583. package/features/tenancy/InstallTenant/feature.js.map +1 -1
  584. package/features/tenancy/InstallTenant/index.d.ts +1 -1
  585. package/features/tenancy/InstallTenant/index.js +1 -3
  586. package/features/tenancy/ListTenants/ListTenantsGateway.js +14 -11
  587. package/features/tenancy/ListTenants/ListTenantsGateway.js.map +1 -1
  588. package/features/tenancy/ListTenants/ListTenantsRepository.js +14 -12
  589. package/features/tenancy/ListTenants/ListTenantsRepository.js.map +1 -1
  590. package/features/tenancy/ListTenants/ListTenantsUseCase.js +16 -14
  591. package/features/tenancy/ListTenants/ListTenantsUseCase.js.map +1 -1
  592. package/features/tenancy/ListTenants/abstractions.js +4 -12
  593. package/features/tenancy/ListTenants/abstractions.js.map +1 -1
  594. package/features/tenancy/ListTenants/feature.d.ts +5 -1
  595. package/features/tenancy/ListTenants/feature.js +8 -7
  596. package/features/tenancy/ListTenants/feature.js.map +1 -1
  597. package/features/tenancy/ListTenants/index.js +1 -3
  598. package/features/tenancy/TenancyFeature.d.ts +4 -1
  599. package/features/tenancy/TenancyFeature.js +20 -26
  600. package/features/tenancy/TenancyFeature.js.map +1 -1
  601. package/features/tenancy/TenantContext/TenantContext.js +46 -48
  602. package/features/tenancy/TenantContext/TenantContext.js.map +1 -1
  603. package/features/tenancy/TenantContext/abstractions.d.ts +1 -0
  604. package/features/tenancy/TenantContext/abstractions.js +2 -1
  605. package/features/tenancy/TenantContext/abstractions.js.map +1 -1
  606. package/features/tenancy/TenantContext/errors.js +7 -7
  607. package/features/tenancy/TenantContext/errors.js.map +1 -1
  608. package/features/tenancy/TenantContext/feature.d.ts +4 -1
  609. package/features/tenancy/TenantContext/feature.js +6 -5
  610. package/features/tenancy/TenantContext/feature.js.map +1 -1
  611. package/features/tenancy/TenantContext/index.js +0 -2
  612. package/features/tenancy/UpdateTenant/UpdateTenantGateway.js +14 -11
  613. package/features/tenancy/UpdateTenant/UpdateTenantGateway.js.map +1 -1
  614. package/features/tenancy/UpdateTenant/UpdateTenantRepository.js +19 -16
  615. package/features/tenancy/UpdateTenant/UpdateTenantRepository.js.map +1 -1
  616. package/features/tenancy/UpdateTenant/UpdateTenantUseCase.js +37 -36
  617. package/features/tenancy/UpdateTenant/UpdateTenantUseCase.js.map +1 -1
  618. package/features/tenancy/UpdateTenant/abstractions.d.ts +9 -4
  619. package/features/tenancy/UpdateTenant/abstractions.js +6 -5
  620. package/features/tenancy/UpdateTenant/abstractions.js.map +1 -1
  621. package/features/tenancy/UpdateTenant/events.js +16 -11
  622. package/features/tenancy/UpdateTenant/events.js.map +1 -1
  623. package/features/tenancy/UpdateTenant/feature.d.ts +5 -1
  624. package/features/tenancy/UpdateTenant/feature.js +8 -7
  625. package/features/tenancy/UpdateTenant/feature.js.map +1 -1
  626. package/features/tenancy/UpdateTenant/index.d.ts +1 -1
  627. package/features/tenancy/UpdateTenant/index.js +2 -4
  628. package/features/tenancy/shared/TenantCache.js +18 -17
  629. package/features/tenancy/shared/TenantCache.js.map +1 -1
  630. package/features/tenancy/shared/abstractions.js +2 -1
  631. package/features/tenancy/shared/abstractions.js.map +1 -1
  632. package/features/tenancy/shared/storageOperations.js +2 -5
  633. package/features/tenancy/shared/storageOperations.js.map +1 -1
  634. package/features/users/AdminUsersFeature.d.ts +4 -1
  635. package/features/users/AdminUsersFeature.js +15 -19
  636. package/features/users/AdminUsersFeature.js.map +1 -1
  637. package/features/users/CreateUser/CreateUserUseCase.js +65 -100
  638. package/features/users/CreateUser/CreateUserUseCase.js.map +1 -1
  639. package/features/users/CreateUser/abstractions.d.ts +1 -0
  640. package/features/users/CreateUser/abstractions.js +2 -13
  641. package/features/users/CreateUser/abstractions.js.map +1 -1
  642. package/features/users/CreateUser/decorators/CreateUserWithWcpIncrement.js +16 -15
  643. package/features/users/CreateUser/decorators/CreateUserWithWcpIncrement.js.map +1 -1
  644. package/features/users/CreateUser/events.d.ts +6 -4
  645. package/features/users/CreateUser/events.js +17 -14
  646. package/features/users/CreateUser/events.js.map +1 -1
  647. package/features/users/CreateUser/feature.d.ts +4 -1
  648. package/features/users/CreateUser/feature.js +7 -6
  649. package/features/users/CreateUser/feature.js.map +1 -1
  650. package/features/users/CreateUser/index.js +0 -2
  651. package/features/users/CreateUser/schema.d.ts +4 -36
  652. package/features/users/CreateUser/schema.js +14 -18
  653. package/features/users/CreateUser/schema.js.map +1 -1
  654. package/features/users/DeleteUser/DeleteUserUseCase.js +35 -50
  655. package/features/users/DeleteUser/DeleteUserUseCase.js.map +1 -1
  656. package/features/users/DeleteUser/abstractions.d.ts +1 -0
  657. package/features/users/DeleteUser/abstractions.js +2 -13
  658. package/features/users/DeleteUser/abstractions.js.map +1 -1
  659. package/features/users/DeleteUser/decorators/DeleteUserWithWcpDecrement.js +15 -16
  660. package/features/users/DeleteUser/decorators/DeleteUserWithWcpDecrement.js.map +1 -1
  661. package/features/users/DeleteUser/errors.js +7 -7
  662. package/features/users/DeleteUser/errors.js.map +1 -1
  663. package/features/users/DeleteUser/events.d.ts +6 -4
  664. package/features/users/DeleteUser/events.js +17 -14
  665. package/features/users/DeleteUser/events.js.map +1 -1
  666. package/features/users/DeleteUser/feature.d.ts +4 -1
  667. package/features/users/DeleteUser/feature.js +7 -6
  668. package/features/users/DeleteUser/feature.js.map +1 -1
  669. package/features/users/DeleteUser/index.js +0 -2
  670. package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.d.ts +3 -3
  671. package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.js +61 -75
  672. package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.js.map +1 -1
  673. package/features/users/ExternalIdpUserSync/feature.d.ts +4 -1
  674. package/features/users/ExternalIdpUserSync/feature.js +6 -5
  675. package/features/users/ExternalIdpUserSync/feature.js.map +1 -1
  676. package/features/users/ExternalIdpUserSync/index.js +0 -2
  677. package/features/users/GetIdentityProfile/GetIdentityProfileUseCase.js +29 -39
  678. package/features/users/GetIdentityProfile/GetIdentityProfileUseCase.js.map +1 -1
  679. package/features/users/GetIdentityProfile/abstractions.js +2 -11
  680. package/features/users/GetIdentityProfile/abstractions.js.map +1 -1
  681. package/features/users/GetIdentityProfile/feature.d.ts +4 -1
  682. package/features/users/GetIdentityProfile/feature.js +6 -5
  683. package/features/users/GetIdentityProfile/feature.js.map +1 -1
  684. package/features/users/GetIdentityProfile/index.js +0 -2
  685. package/features/users/GetIdentityProfile/types.js +0 -3
  686. package/features/users/GetUser/GetUserUseCase.js +19 -23
  687. package/features/users/GetUser/GetUserUseCase.js.map +1 -1
  688. package/features/users/GetUser/abstractions.d.ts +1 -0
  689. package/features/users/GetUser/abstractions.js +2 -11
  690. package/features/users/GetUser/abstractions.js.map +1 -1
  691. package/features/users/GetUser/feature.d.ts +4 -1
  692. package/features/users/GetUser/feature.js +6 -5
  693. package/features/users/GetUser/feature.js.map +1 -1
  694. package/features/users/GetUser/index.js +0 -2
  695. package/features/users/ListUserTeams/ListUserTeamsUseCase.js +33 -42
  696. package/features/users/ListUserTeams/ListUserTeamsUseCase.js.map +1 -1
  697. package/features/users/ListUserTeams/abstractions.d.ts +1 -0
  698. package/features/users/ListUserTeams/abstractions.js +2 -11
  699. package/features/users/ListUserTeams/abstractions.js.map +1 -1
  700. package/features/users/ListUserTeams/feature.d.ts +4 -1
  701. package/features/users/ListUserTeams/feature.js +6 -5
  702. package/features/users/ListUserTeams/feature.js.map +1 -1
  703. package/features/users/ListUserTeams/index.js +0 -2
  704. package/features/users/ListUsers/ListUsersUseCase.js +19 -23
  705. package/features/users/ListUsers/ListUsersUseCase.js.map +1 -1
  706. package/features/users/ListUsers/abstractions.d.ts +1 -0
  707. package/features/users/ListUsers/abstractions.js +2 -11
  708. package/features/users/ListUsers/abstractions.js.map +1 -1
  709. package/features/users/ListUsers/feature.d.ts +4 -1
  710. package/features/users/ListUsers/feature.js +6 -5
  711. package/features/users/ListUsers/feature.js.map +1 -1
  712. package/features/users/ListUsers/index.js +0 -2
  713. package/features/users/UpdateUser/UpdateUserUseCase.js +52 -74
  714. package/features/users/UpdateUser/UpdateUserUseCase.js.map +1 -1
  715. package/features/users/UpdateUser/abstractions.d.ts +1 -0
  716. package/features/users/UpdateUser/abstractions.js +2 -13
  717. package/features/users/UpdateUser/abstractions.js.map +1 -1
  718. package/features/users/UpdateUser/events.d.ts +6 -4
  719. package/features/users/UpdateUser/events.js +17 -14
  720. package/features/users/UpdateUser/events.js.map +1 -1
  721. package/features/users/UpdateUser/feature.d.ts +4 -1
  722. package/features/users/UpdateUser/feature.js +6 -5
  723. package/features/users/UpdateUser/feature.js.map +1 -1
  724. package/features/users/UpdateUser/index.js +0 -2
  725. package/features/users/UpdateUser/schema.d.ts +4 -30
  726. package/features/users/UpdateUser/schema.js +11 -10
  727. package/features/users/UpdateUser/schema.js.map +1 -1
  728. package/features/users/shared/AdminUsersRepository.js +104 -112
  729. package/features/users/shared/AdminUsersRepository.js.map +1 -1
  730. package/features/users/shared/abstractions.d.ts +1 -0
  731. package/features/users/shared/abstractions.js +2 -9
  732. package/features/users/shared/abstractions.js.map +1 -1
  733. package/features/users/shared/errors.js +40 -46
  734. package/features/users/shared/errors.js.map +1 -1
  735. package/features/users/shared/loaders.js +52 -66
  736. package/features/users/shared/loaders.js.map +1 -1
  737. package/features/users/shared/storageAbstractions.js +2 -2
  738. package/features/users/shared/storageAbstractions.js.map +1 -1
  739. package/features/users/shared/types.js +0 -3
  740. package/features/wcp/WcpContext/WcpContext.d.ts +3 -0
  741. package/features/wcp/WcpContext/WcpContext.js +138 -133
  742. package/features/wcp/WcpContext/WcpContext.js.map +1 -1
  743. package/features/wcp/WcpContext/abstractions.js +2 -6
  744. package/features/wcp/WcpContext/abstractions.js.map +1 -1
  745. package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.d.ts +15 -0
  746. package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.js +135 -113
  747. package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.js.map +1 -1
  748. package/features/wcp/WcpContext/feature.d.ts +5 -1
  749. package/features/wcp/WcpContext/feature.js +6 -5
  750. package/features/wcp/WcpContext/feature.js.map +1 -1
  751. package/features/wcp/WcpContext/index.js +0 -2
  752. package/features/wcp/WcpContext/types.js +0 -3
  753. package/features/wcp/WcpContext/utils.js +35 -53
  754. package/features/wcp/WcpContext/utils.js.map +1 -1
  755. package/features/wcp/WcpFeature.d.ts +4 -1
  756. package/features/wcp/WcpFeature.js +7 -6
  757. package/features/wcp/WcpFeature.js.map +1 -1
  758. package/features/webhooks/Webhook/WebhookProvider.d.ts +12 -0
  759. package/features/webhooks/Webhook/WebhookProvider.js +28 -0
  760. package/features/webhooks/Webhook/WebhookProvider.js.map +1 -0
  761. package/features/webhooks/Webhook/abstractions/WebhookFactory.d.ts +16 -0
  762. package/features/webhooks/Webhook/abstractions/WebhookFactory.js +5 -0
  763. package/features/webhooks/Webhook/abstractions/WebhookFactory.js.map +1 -0
  764. package/features/webhooks/Webhook/abstractions/WebhookProvider.d.ts +9 -0
  765. package/features/webhooks/Webhook/abstractions/WebhookProvider.js +5 -0
  766. package/features/webhooks/Webhook/abstractions/WebhookProvider.js.map +1 -0
  767. package/features/webhooks/Webhook/feature.d.ts +4 -0
  768. package/features/webhooks/Webhook/feature.js +11 -0
  769. package/features/webhooks/Webhook/feature.js.map +1 -0
  770. package/features/webhooks/Webhook/index.d.ts +2 -0
  771. package/features/webhooks/Webhook/index.js +2 -0
  772. package/features/webhooks/WebhookDispatcher/NullWebhookDispatcher.d.ts +8 -0
  773. package/features/webhooks/WebhookDispatcher/NullWebhookDispatcher.js +11 -0
  774. package/features/webhooks/WebhookDispatcher/NullWebhookDispatcher.js.map +1 -0
  775. package/features/webhooks/WebhookDispatcher/abstractions.d.ts +12 -0
  776. package/features/webhooks/WebhookDispatcher/abstractions.js +5 -0
  777. package/features/webhooks/WebhookDispatcher/abstractions.js.map +1 -0
  778. package/features/webhooks/WebhookSignPayload/abstractions.d.ts +14 -0
  779. package/features/webhooks/WebhookSignPayload/abstractions.js +5 -0
  780. package/features/webhooks/WebhookSignPayload/abstractions.js.map +1 -0
  781. package/features/webhooks/WebhookVerifyPayload/abstractions.d.ts +11 -0
  782. package/features/webhooks/WebhookVerifyPayload/abstractions.js +5 -0
  783. package/features/webhooks/WebhookVerifyPayload/abstractions.js.map +1 -0
  784. package/features/webhooks/index.d.ts +5 -0
  785. package/features/webhooks/index.js +5 -0
  786. package/graphql/security/NotAuthorizedResponse.d.ts +1 -0
  787. package/graphql/security/NotAuthorizedResponse.js +11 -13
  788. package/graphql/security/NotAuthorizedResponse.js.map +1 -1
  789. package/graphql/security/ProfileMapper.js +12 -11
  790. package/graphql/security/ProfileMapper.js.map +1 -1
  791. package/graphql/security/apiKey.gql.js +38 -47
  792. package/graphql/security/apiKey.gql.js.map +1 -1
  793. package/graphql/security/base.gql.js +11 -10
  794. package/graphql/security/base.gql.js.map +1 -1
  795. package/graphql/security/identity.gql.js +87 -97
  796. package/graphql/security/identity.gql.js.map +1 -1
  797. package/graphql/security/index.js +13 -8
  798. package/graphql/security/index.js.map +1 -1
  799. package/graphql/security/role.gql.js +49 -57
  800. package/graphql/security/role.gql.js.map +1 -1
  801. package/graphql/security/team.gql.js +61 -69
  802. package/graphql/security/team.gql.js.map +1 -1
  803. package/graphql/system/createSystemGraphQL.js +31 -34
  804. package/graphql/system/createSystemGraphQL.js.map +1 -1
  805. package/graphql/users/user.gql.js +87 -105
  806. package/graphql/users/user.gql.js.map +1 -1
  807. package/graphql/wcp/graphql.js +26 -28
  808. package/graphql/wcp/graphql.js.map +1 -1
  809. package/idp/JwksCache.js +22 -28
  810. package/idp/JwksCache.js.map +1 -1
  811. package/idp/JwtAuthenticator.js +34 -46
  812. package/idp/JwtAuthenticator.js.map +1 -1
  813. package/idp/OidcJwtIdentityProvider.js +55 -82
  814. package/idp/OidcJwtIdentityProvider.js.map +1 -1
  815. package/idp/abstractions.d.ts +4 -0
  816. package/idp/abstractions.js +5 -10
  817. package/idp/abstractions.js.map +1 -1
  818. package/idp/feature.d.ts +4 -1
  819. package/idp/feature.js +8 -7
  820. package/idp/feature.js.map +1 -1
  821. package/idp/index.js +1 -3
  822. package/idp/types.js +0 -3
  823. package/index.js +0 -2
  824. package/legacy/security/LegacyContext.js +133 -186
  825. package/legacy/security/LegacyContext.js.map +1 -1
  826. package/legacy/security/createSecurityContext.js +4 -19
  827. package/legacy/security/createSecurityContext.js.map +1 -1
  828. package/legacy/security/plugins/apiKeyAuthentication.js +15 -24
  829. package/legacy/security/plugins/apiKeyAuthentication.js.map +1 -1
  830. package/legacy/security/plugins/apiKeyAuthorization.js +9 -18
  831. package/legacy/security/plugins/apiKeyAuthorization.js.map +1 -1
  832. package/legacy/security/plugins/authenticateUsingCookie.js +18 -22
  833. package/legacy/security/plugins/authenticateUsingCookie.js.map +1 -1
  834. package/legacy/security/plugins/authenticateUsingHttpHeader.d.ts +1 -1
  835. package/legacy/security/plugins/authenticateUsingHttpHeader.js +15 -18
  836. package/legacy/security/plugins/authenticateUsingHttpHeader.js.map +1 -1
  837. package/legacy/security/plugins/secureHeaders.js +28 -21
  838. package/legacy/security/plugins/secureHeaders.js.map +1 -1
  839. package/legacy/tenancy/LegacyContext.js +45 -52
  840. package/legacy/tenancy/LegacyContext.js.map +1 -1
  841. package/legacy/tenancy/createTenancyContext.js +22 -42
  842. package/legacy/tenancy/createTenancyContext.js.map +1 -1
  843. package/legacy/users/LegacyContext.js +39 -54
  844. package/legacy/users/LegacyContext.js.map +1 -1
  845. package/legacy/users/createAdminUsersContext.js +7 -7
  846. package/legacy/users/createAdminUsersContext.js.map +1 -1
  847. package/legacy/wcp/LegacyWcpContext.d.ts +3 -0
  848. package/legacy/wcp/LegacyWcpContext.js +80 -70
  849. package/legacy/wcp/LegacyWcpContext.js.map +1 -1
  850. package/legacy/wcp/context.d.ts +1 -3
  851. package/legacy/wcp/context.js +33 -37
  852. package/legacy/wcp/context.js.map +1 -1
  853. package/models/base/BaseModel.js +51 -56
  854. package/models/base/BaseModel.js.map +1 -1
  855. package/models/base/ModelBuilder.d.ts +2 -2
  856. package/models/base/ModelBuilder.js +66 -60
  857. package/models/base/ModelBuilder.js.map +1 -1
  858. package/models/base/ModelFactory.js +0 -3
  859. package/models/base/__tests__/ModelBuilder.test.js +437 -454
  860. package/models/base/__tests__/ModelBuilder.test.js.map +1 -1
  861. package/models/base/abstractions.js +0 -3
  862. package/models/cms/FieldBuilder.d.ts +3 -2
  863. package/models/cms/FieldBuilder.js +112 -126
  864. package/models/cms/FieldBuilder.js.map +1 -1
  865. package/models/cms/FieldBuilderRegistry.d.ts +1 -1
  866. package/models/cms/FieldBuilderRegistry.js +13 -12
  867. package/models/cms/FieldBuilderRegistry.js.map +1 -1
  868. package/models/cms/FieldDefinitionsBuilder.d.ts +1 -0
  869. package/models/cms/FieldDefinitionsBuilder.js +37 -56
  870. package/models/cms/FieldDefinitionsBuilder.js.map +1 -1
  871. package/models/cms/PrivateCmsModelBuilder.js +84 -89
  872. package/models/cms/PrivateCmsModelBuilder.js.map +1 -1
  873. package/models/cms/PrivatePage/Page.fields.js +7 -6
  874. package/models/cms/PrivatePage/Page.fields.js.map +1 -1
  875. package/models/cms/PrivatePage/PageModelBuilder.js +18 -15
  876. package/models/cms/PrivatePage/PageModelBuilder.js.map +1 -1
  877. package/models/cms/PrivatePage/PageModelFactory.js +20 -25
  878. package/models/cms/PrivatePage/PageModelFactory.js.map +1 -1
  879. package/models/cms/PrivatePage/__tests__/PageModelFactory.test.js +218 -234
  880. package/models/cms/PrivatePage/__tests__/PageModelFactory.test.js.map +1 -1
  881. package/models/cms/PrivatePage/__tests__/PagePublishingDecorator.js +33 -36
  882. package/models/cms/PrivatePage/__tests__/PagePublishingDecorator.js.map +1 -1
  883. package/models/cms/PrivatePage/__tests__/PageSeoDecorator.js +25 -26
  884. package/models/cms/PrivatePage/__tests__/PageSeoDecorator.js.map +1 -1
  885. package/models/cms/PrivatePage/abstractions.js +3 -9
  886. package/models/cms/PrivatePage/abstractions.js.map +1 -1
  887. package/models/cms/__tests__/PrivateCmsModelBuilder.test.js +173 -185
  888. package/models/cms/__tests__/PrivateCmsModelBuilder.test.js.map +1 -1
  889. package/models/cms/abstractions.d.ts +1 -1
  890. package/models/cms/abstractions.js +3 -20
  891. package/models/cms/abstractions.js.map +1 -1
  892. package/models/cms/fieldsBuilder.md +4 -2
  893. package/models/cms/types.js +0 -3
  894. package/models/simple/Page/PageModelBuilder.js +15 -14
  895. package/models/simple/Page/PageModelBuilder.js.map +1 -1
  896. package/models/simple/Page/PageModelFactory.js +16 -15
  897. package/models/simple/Page/PageModelFactory.js.map +1 -1
  898. package/models/simple/Page/__tests__/PageModelBuilderDecorator.js +21 -20
  899. package/models/simple/Page/__tests__/PageModelBuilderDecorator.js.map +1 -1
  900. package/models/simple/Page/__tests__/PageModelBuilderDecorator2.js +17 -16
  901. package/models/simple/Page/__tests__/PageModelBuilderDecorator2.js.map +1 -1
  902. package/models/simple/Page/__tests__/PageModelFactory.test.js +28 -28
  903. package/models/simple/Page/__tests__/PageModelFactory.test.js.map +1 -1
  904. package/models/simple/Page/abstractions.d.ts +1 -11
  905. package/models/simple/Page/abstractions.js +9 -8
  906. package/models/simple/Page/abstractions.js.map +1 -1
  907. package/package.json +31 -71
  908. package/types/core.js +0 -3
  909. package/types/security.d.ts +13 -10
  910. package/types/security.js +0 -3
  911. package/types/tenancy.js +0 -3
  912. package/types/users.js +0 -3
  913. package/domain/tenancy/errors.js.map +0 -1
  914. package/exports/api/build-params.js.map +0 -1
  915. package/exports/api/event-publisher.js.map +0 -1
  916. package/exports/api/graphql.js.map +0 -1
  917. package/exports/api/key-value-store.js.map +0 -1
  918. package/exports/api/logger.js.map +0 -1
  919. package/exports/api/security/api-key.js.map +0 -1
  920. package/exports/api/security/authentication.js.map +0 -1
  921. package/exports/api/security/role.js.map +0 -1
  922. package/exports/api/security/user.js.map +0 -1
  923. package/exports/api/security.js.map +0 -1
  924. package/exports/api/system.js.map +0 -1
  925. package/exports/api/tasks.js.map +0 -1
  926. package/exports/api/tenancy.js.map +0 -1
  927. package/features/buildParams/index.js.map +0 -1
  928. package/features/eventPublisher/index.js.map +0 -1
  929. package/features/keyValueStore/index.js.map +0 -1
  930. package/features/logger/index.js.map +0 -1
  931. package/features/security/IdentityContext/index.js.map +0 -1
  932. package/features/security/apiKeys/CreateApiKey/index.js.map +0 -1
  933. package/features/security/apiKeys/DeleteApiKey/index.js.map +0 -1
  934. package/features/security/apiKeys/GetApiKey/index.js.map +0 -1
  935. package/features/security/apiKeys/GetApiKeyBySlug/index.js.map +0 -1
  936. package/features/security/apiKeys/GetApiKeyByToken/index.js.map +0 -1
  937. package/features/security/apiKeys/ListApiKeys/index.js.map +0 -1
  938. package/features/security/apiKeys/UpdateApiKey/index.js.map +0 -1
  939. package/features/security/apiKeys/shared/types.js.map +0 -1
  940. package/features/security/authentication/AuthenticationContext/index.js.map +0 -1
  941. package/features/security/authentication/Authenticator/index.js.map +0 -1
  942. package/features/security/authorization/AuthorizationContext/index.js.map +0 -1
  943. package/features/security/authorization/Authorizer/index.js.map +0 -1
  944. package/features/security/login/index.js.map +0 -1
  945. package/features/security/permissions/index.js.map +0 -1
  946. package/features/security/permissions/types.js.map +0 -1
  947. package/features/security/roles/CreateRole/index.js.map +0 -1
  948. package/features/security/roles/DeleteRole/index.js.map +0 -1
  949. package/features/security/roles/GetRole/index.js.map +0 -1
  950. package/features/security/roles/ListRoles/index.js.map +0 -1
  951. package/features/security/roles/UpdateRole/index.js.map +0 -1
  952. package/features/security/roles/shared/types.js.map +0 -1
  953. package/features/security/shared/abstractions.ts.bak +0 -52
  954. package/features/security/shared/index.js.map +0 -1
  955. package/features/security/teams/CreateTeam/index.js.map +0 -1
  956. package/features/security/teams/DeleteTeam/index.js.map +0 -1
  957. package/features/security/teams/GetTeam/index.js.map +0 -1
  958. package/features/security/teams/ListTeams/index.js.map +0 -1
  959. package/features/security/teams/UpdateTeam/index.js.map +0 -1
  960. package/features/security/teams/shared/types.js.map +0 -1
  961. package/features/system/InstallSystem/index.js.map +0 -1
  962. package/features/task/TaskController/index.js.map +0 -1
  963. package/features/task/TaskDefinition/index.js.map +0 -1
  964. package/features/task/TaskService/index.js.map +0 -1
  965. package/features/tenancy/CreateTenant/index.js.map +0 -1
  966. package/features/tenancy/DeleteTenant/index.js.map +0 -1
  967. package/features/tenancy/GetRootTenant/index.js.map +0 -1
  968. package/features/tenancy/GetTenantById/index.js.map +0 -1
  969. package/features/tenancy/InstallTenant/index.js.map +0 -1
  970. package/features/tenancy/ListTenants/index.js.map +0 -1
  971. package/features/tenancy/TenantContext/index.js.map +0 -1
  972. package/features/tenancy/UpdateTenant/index.js.map +0 -1
  973. package/features/users/CreateUser/index.js.map +0 -1
  974. package/features/users/DeleteUser/index.js.map +0 -1
  975. package/features/users/ExternalIdpUserSync/index.js.map +0 -1
  976. package/features/users/GetIdentityProfile/index.js.map +0 -1
  977. package/features/users/GetIdentityProfile/types.js.map +0 -1
  978. package/features/users/GetUser/index.js.map +0 -1
  979. package/features/users/ListUserTeams/index.js.map +0 -1
  980. package/features/users/ListUsers/index.js.map +0 -1
  981. package/features/users/UpdateUser/index.js.map +0 -1
  982. package/features/users/shared/types.js.map +0 -1
  983. package/features/wcp/WcpContext/index.js.map +0 -1
  984. package/features/wcp/WcpContext/types.js.map +0 -1
  985. package/idp/index.js.map +0 -1
  986. package/idp/types.js.map +0 -1
  987. package/index.js.map +0 -1
  988. package/legacy/security/plugins/SecurityRolePlugin.d.ts +0 -16
  989. package/legacy/security/plugins/SecurityRolePlugin.js +0 -33
  990. package/legacy/security/plugins/SecurityRolePlugin.js.map +0 -1
  991. package/legacy/security/plugins/SecurityTeamPlugin.d.ts +0 -16
  992. package/legacy/security/plugins/SecurityTeamPlugin.js +0 -33
  993. package/legacy/security/plugins/SecurityTeamPlugin.js.map +0 -1
  994. package/models/base/ModelFactory.js.map +0 -1
  995. package/models/base/abstractions.js.map +0 -1
  996. package/models/cms/types.js.map +0 -1
  997. package/types/core.js.map +0 -1
  998. package/types/security.js.map +0 -1
  999. package/types/tenancy.js.map +0 -1
  1000. package/types/users.js.map +0 -1
@@ -1,76 +1,66 @@
1
1
  import { mdbid } from "@webiny/utils";
2
- import { createImplementation } from "@webiny/feature/api";
3
- import { Result } from "@webiny/feature/api";
4
- import { TenantContext } from "../../../tenancy/TenantContext/index.js";
2
+ import { Result, createImplementation } from "@webiny/feature/api";
5
3
  import { EventPublisher } from "../../../eventPublisher/index.js";
6
- import { CreateRoleUseCase as UseCaseAbstraction } from "./abstractions.js";
4
+ import { CreateRoleUseCase } from "./abstractions.js";
7
5
  import { RolesRepository } from "../shared/abstractions.js";
8
6
  import { IdentityContext } from "../../IdentityContext/abstractions.js";
9
7
  import { createRoleValidation } from "./schema.js";
10
- import { RoleBeforeCreateEvent, RoleAfterCreateEvent } from "./events.js";
8
+ import { RoleAfterCreateEvent, RoleBeforeCreateEvent } from "./events.js";
11
9
  import { NotAuthorizedError, RoleExistsError, RoleValidationError } from "../shared/errors.js";
12
10
  class CreateRoleUseCaseImpl {
13
- constructor(tenantContext, identityContext, eventPublisher, repository) {
14
- this.tenantContext = tenantContext;
15
- this.identityContext = identityContext;
16
- this.eventPublisher = eventPublisher;
17
- this.repository = repository;
18
- }
19
- async execute(input) {
20
- const hasPermission = await this.identityContext.getPermission("security.role");
21
- if (!hasPermission) {
22
- return Result.fail(new NotAuthorizedError());
11
+ constructor(identityContext, eventPublisher, repository){
12
+ this.identityContext = identityContext;
13
+ this.eventPublisher = eventPublisher;
14
+ this.repository = repository;
23
15
  }
24
- const validation = createRoleValidation.safeParse(input);
25
- if (!validation.success) {
26
- return Result.fail(new RoleValidationError(validation.error.errors[0].message));
16
+ async execute(input) {
17
+ const hasPermission = await this.identityContext.getPermission("security.role");
18
+ if (!hasPermission) return Result.fail(new NotAuthorizedError());
19
+ const validation = createRoleValidation.safeParse(input);
20
+ if (!validation.success) return Result.fail(new RoleValidationError(validation.error.issues[0].message));
21
+ const identity = this.identityContext.getIdentity();
22
+ const data = validation.data;
23
+ const existingRoleResult = await this.repository.get({
24
+ slug: data.slug
25
+ });
26
+ if (existingRoleResult.isOk()) return Result.fail(new RoleExistsError(data.slug));
27
+ const role = {
28
+ id: mdbid(),
29
+ name: data.name,
30
+ slug: data.slug,
31
+ description: data.description,
32
+ permissions: data.permissions,
33
+ system: input.system || false,
34
+ createdOn: new Date().toISOString(),
35
+ createdBy: {
36
+ id: identity.id,
37
+ displayName: identity.displayName,
38
+ type: identity.type
39
+ },
40
+ plugin: false
41
+ };
42
+ await this.eventPublisher.publish(new RoleBeforeCreateEvent({
43
+ role,
44
+ input: validation.data
45
+ }));
46
+ const result = await this.repository.create(role);
47
+ if (result.isFail()) return Result.fail(result.error);
48
+ await this.eventPublisher.publish(new RoleAfterCreateEvent({
49
+ role,
50
+ input: validation.data
51
+ }));
52
+ return Result.ok(role);
27
53
  }
28
- const tenant = this.tenantContext.getTenant();
29
- const identity = this.identityContext.getIdentity();
30
- const data = validation.data;
31
-
32
- // Check if role with same slug already exists
33
- const existingRoleResult = await this.repository.get({
34
- slug: data.slug
35
- });
36
- if (existingRoleResult.isOk()) {
37
- return Result.fail(new RoleExistsError(data.slug));
38
- }
39
- const role = {
40
- id: mdbid(),
41
- name: data.name,
42
- slug: data.slug,
43
- description: data.description,
44
- permissions: data.permissions,
45
- system: input.system || false,
46
- tenant: tenant.id,
47
- createdOn: new Date().toISOString(),
48
- createdBy: {
49
- id: identity.id,
50
- displayName: identity.displayName,
51
- type: identity.type
52
- },
53
- plugin: false
54
- };
55
- await this.eventPublisher.publish(new RoleBeforeCreateEvent({
56
- role,
57
- input: validation.data
58
- }));
59
- const result = await this.repository.create(role);
60
- if (result.isFail()) {
61
- return Result.fail(result.error);
62
- }
63
- await this.eventPublisher.publish(new RoleAfterCreateEvent({
64
- role,
65
- input: validation.data
66
- }));
67
- return Result.ok(role);
68
- }
69
54
  }
70
- export const CreateRoleUseCase = createImplementation({
71
- abstraction: UseCaseAbstraction,
72
- implementation: CreateRoleUseCaseImpl,
73
- dependencies: [TenantContext, IdentityContext, EventPublisher, RolesRepository]
55
+ const CreateRoleUseCase_CreateRoleUseCase = createImplementation({
56
+ abstraction: CreateRoleUseCase,
57
+ implementation: CreateRoleUseCaseImpl,
58
+ dependencies: [
59
+ IdentityContext,
60
+ EventPublisher,
61
+ RolesRepository
62
+ ]
74
63
  });
64
+ export { CreateRoleUseCase_CreateRoleUseCase as CreateRoleUseCase };
75
65
 
76
66
  //# sourceMappingURL=CreateRoleUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["mdbid","createImplementation","Result","TenantContext","EventPublisher","CreateRoleUseCase","UseCaseAbstraction","RolesRepository","IdentityContext","createRoleValidation","RoleBeforeCreateEvent","RoleAfterCreateEvent","NotAuthorizedError","RoleExistsError","RoleValidationError","CreateRoleUseCaseImpl","constructor","tenantContext","identityContext","eventPublisher","repository","execute","input","hasPermission","getPermission","fail","validation","safeParse","success","error","errors","message","tenant","getTenant","identity","getIdentity","data","existingRoleResult","get","slug","isOk","role","id","name","description","permissions","system","createdOn","Date","toISOString","createdBy","displayName","type","plugin","publish","result","create","isFail","ok","abstraction","implementation","dependencies"],"sources":["CreateRoleUseCase.ts"],"sourcesContent":["import { mdbid } from \"@webiny/utils\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport { TenantContext } from \"~/features/tenancy/TenantContext/index.js\";\nimport { EventPublisher } from \"~/features/eventPublisher/index.js\";\nimport { CreateRoleUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { RolesRepository } from \"../shared/abstractions.js\";\nimport { IdentityContext } from \"../../IdentityContext/abstractions.js\";\nimport { createRoleValidation } from \"./schema.js\";\nimport { RoleBeforeCreateEvent, RoleAfterCreateEvent } from \"./events.js\";\nimport type { Role, CreateRoleInput } from \"../shared/types.js\";\nimport { NotAuthorizedError, RoleExistsError, RoleValidationError } from \"../shared/errors.js\";\n\nclass CreateRoleUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private tenantContext: TenantContext.Interface,\n private identityContext: IdentityContext.Interface,\n private eventPublisher: EventPublisher.Interface,\n private repository: RolesRepository.Interface\n ) {}\n\n async execute(input: CreateRoleInput): Promise<Result<Role, UseCaseAbstraction.Error>> {\n const hasPermission = await this.identityContext.getPermission(\"security.role\");\n\n if (!hasPermission) {\n return Result.fail(new NotAuthorizedError());\n }\n\n const validation = createRoleValidation.safeParse(input);\n if (!validation.success) {\n return Result.fail(new RoleValidationError(validation.error.errors[0].message));\n }\n\n const tenant = this.tenantContext.getTenant();\n const identity = this.identityContext.getIdentity();\n const data = validation.data;\n\n // Check if role with same slug already exists\n const existingRoleResult = await this.repository.get({ slug: data.slug });\n if (existingRoleResult.isOk()) {\n return Result.fail(new RoleExistsError(data.slug));\n }\n\n const role: Role = {\n id: mdbid(),\n name: data.name,\n slug: data.slug,\n description: data.description,\n permissions: data.permissions,\n system: input.system || false,\n tenant: tenant.id,\n createdOn: new Date().toISOString(),\n createdBy: {\n id: identity.id,\n displayName: identity.displayName,\n type: identity.type\n },\n plugin: false\n };\n\n await this.eventPublisher.publish(\n new RoleBeforeCreateEvent({ role, input: validation.data })\n );\n\n const result = await this.repository.create(role);\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n await this.eventPublisher.publish(\n new RoleAfterCreateEvent({ role, input: validation.data })\n );\n\n return Result.ok(role);\n }\n}\n\nexport const CreateRoleUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: CreateRoleUseCaseImpl,\n dependencies: [TenantContext, IdentityContext, EventPublisher, RolesRepository]\n});\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,eAAe;AACrC,SAASC,oBAAoB,QAAQ,qBAAqB;AAC1D,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,aAAa;AACtB,SAASC,cAAc;AACvB,SAASC,iBAAiB,IAAIC,kBAAkB;AAChD,SAASC,eAAe;AACxB,SAASC,eAAe;AACxB,SAASC,oBAAoB;AAC7B,SAASC,qBAAqB,EAAEC,oBAAoB;AAEpD,SAASC,kBAAkB,EAAEC,eAAe,EAAEC,mBAAmB;AAEjE,MAAMC,qBAAqB,CAAyC;EAChEC,WAAWA,CACCC,aAAsC,EACtCC,eAA0C,EAC1CC,cAAwC,EACxCC,UAAqC,EAC/C;IAAA,KAJUH,aAAsC,GAAtCA,aAAsC;IAAA,KACtCC,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,cAAwC,GAAxCA,cAAwC;IAAA,KACxCC,UAAqC,GAArCA,UAAqC;EAC9C;EAEH,MAAMC,OAAOA,CAACC,KAAsB,EAAmD;IACnF,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACL,eAAe,CAACM,aAAa,CAAC,eAAe,CAAC;IAE/E,IAAI,CAACD,aAAa,EAAE;MAChB,OAAOrB,MAAM,CAACuB,IAAI,CAAC,IAAIb,kBAAkB,CAAC,CAAC,CAAC;IAChD;IAEA,MAAMc,UAAU,GAAGjB,oBAAoB,CAACkB,SAAS,CAACL,KAAK,CAAC;IACxD,IAAI,CAACI,UAAU,CAACE,OAAO,EAAE;MACrB,OAAO1B,MAAM,CAACuB,IAAI,CAAC,IAAIX,mBAAmB,CAACY,UAAU,CAACG,KAAK,CAACC,MAAM,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;IACnF;IAEA,MAAMC,MAAM,GAAG,IAAI,CAACf,aAAa,CAACgB,SAAS,CAAC,CAAC;IAC7C,MAAMC,QAAQ,GAAG,IAAI,CAAChB,eAAe,CAACiB,WAAW,CAAC,CAAC;IACnD,MAAMC,IAAI,GAAGV,UAAU,CAACU,IAAI;;IAE5B;IACA,MAAMC,kBAAkB,GAAG,MAAM,IAAI,CAACjB,UAAU,CAACkB,GAAG,CAAC;MAAEC,IAAI,EAAEH,IAAI,CAACG;IAAK,CAAC,CAAC;IACzE,IAAIF,kBAAkB,CAACG,IAAI,CAAC,CAAC,EAAE;MAC3B,OAAOtC,MAAM,CAACuB,IAAI,CAAC,IAAIZ,eAAe,CAACuB,IAAI,CAACG,IAAI,CAAC,CAAC;IACtD;IAEA,MAAME,IAAU,GAAG;MACfC,EAAE,EAAE1C,KAAK,CAAC,CAAC;MACX2C,IAAI,EAAEP,IAAI,CAACO,IAAI;MACfJ,IAAI,EAAEH,IAAI,CAACG,IAAI;MACfK,WAAW,EAAER,IAAI,CAACQ,WAAW;MAC7BC,WAAW,EAAET,IAAI,CAACS,WAAW;MAC7BC,MAAM,EAAExB,KAAK,CAACwB,MAAM,IAAI,KAAK;MAC7Bd,MAAM,EAAEA,MAAM,CAACU,EAAE;MACjBK,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;MACnCC,SAAS,EAAE;QACPR,EAAE,EAAER,QAAQ,CAACQ,EAAE;QACfS,WAAW,EAAEjB,QAAQ,CAACiB,WAAW;QACjCC,IAAI,EAAElB,QAAQ,CAACkB;MACnB,CAAC;MACDC,MAAM,EAAE;IACZ,CAAC;IAED,MAAM,IAAI,CAAClC,cAAc,CAACmC,OAAO,CAC7B,IAAI5C,qBAAqB,CAAC;MAAE+B,IAAI;MAAEnB,KAAK,EAAEI,UAAU,CAACU;IAAK,CAAC,CAC9D,CAAC;IAED,MAAMmB,MAAM,GAAG,MAAM,IAAI,CAACnC,UAAU,CAACoC,MAAM,CAACf,IAAI,CAAC;IAEjD,IAAIc,MAAM,CAACE,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOvD,MAAM,CAACuB,IAAI,CAAC8B,MAAM,CAAC1B,KAAK,CAAC;IACpC;IAEA,MAAM,IAAI,CAACV,cAAc,CAACmC,OAAO,CAC7B,IAAI3C,oBAAoB,CAAC;MAAE8B,IAAI;MAAEnB,KAAK,EAAEI,UAAU,CAACU;IAAK,CAAC,CAC7D,CAAC;IAED,OAAOlC,MAAM,CAACwD,EAAE,CAACjB,IAAI,CAAC;EAC1B;AACJ;AAEA,OAAO,MAAMpC,iBAAiB,GAAGJ,oBAAoB,CAAC;EAClD0D,WAAW,EAAErD,kBAAkB;EAC/BsD,cAAc,EAAE7C,qBAAqB;EACrC8C,YAAY,EAAE,CAAC1D,aAAa,EAAEK,eAAe,EAAEJ,cAAc,EAAEG,eAAe;AAClF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/roles/CreateRole/CreateRoleUseCase.js","sources":["../../../../../src/features/security/roles/CreateRole/CreateRoleUseCase.ts"],"sourcesContent":["import { mdbid } from \"@webiny/utils\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport { EventPublisher } from \"~/features/eventPublisher/index.js\";\nimport { CreateRoleUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { RolesRepository } from \"../shared/abstractions.js\";\nimport { IdentityContext } from \"../../IdentityContext/abstractions.js\";\nimport { createRoleValidation } from \"./schema.js\";\nimport { RoleBeforeCreateEvent, RoleAfterCreateEvent } from \"./events.js\";\nimport type { Role, CreateRoleInput } from \"../shared/types.js\";\nimport { NotAuthorizedError, RoleExistsError, RoleValidationError } from \"../shared/errors.js\";\n\nclass CreateRoleUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private eventPublisher: EventPublisher.Interface,\n private repository: RolesRepository.Interface\n ) {}\n\n async execute(input: CreateRoleInput): Promise<Result<Role, UseCaseAbstraction.Error>> {\n const hasPermission = await this.identityContext.getPermission(\"security.role\");\n\n if (!hasPermission) {\n return Result.fail(new NotAuthorizedError());\n }\n\n const validation = createRoleValidation.safeParse(input);\n if (!validation.success) {\n return Result.fail(new RoleValidationError(validation.error.issues[0].message));\n }\n\n const identity = this.identityContext.getIdentity();\n const data = validation.data;\n\n // Check if role with same slug already exists\n const existingRoleResult = await this.repository.get({ slug: data.slug });\n if (existingRoleResult.isOk()) {\n return Result.fail(new RoleExistsError(data.slug));\n }\n\n const role: Role = {\n id: mdbid(),\n name: data.name,\n slug: data.slug,\n description: data.description,\n permissions: data.permissions,\n system: input.system || false,\n createdOn: new Date().toISOString(),\n createdBy: {\n id: identity.id,\n displayName: identity.displayName,\n type: identity.type\n },\n plugin: false\n };\n\n await this.eventPublisher.publish(\n new RoleBeforeCreateEvent({ role, input: validation.data })\n );\n\n const result = await this.repository.create(role);\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n await this.eventPublisher.publish(\n new RoleAfterCreateEvent({ role, input: validation.data })\n );\n\n return Result.ok(role);\n }\n}\n\nexport const CreateRoleUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: CreateRoleUseCaseImpl,\n dependencies: [IdentityContext, EventPublisher, RolesRepository]\n});\n"],"names":["CreateRoleUseCaseImpl","identityContext","eventPublisher","repository","input","hasPermission","Result","NotAuthorizedError","validation","createRoleValidation","RoleValidationError","identity","data","existingRoleResult","RoleExistsError","role","mdbid","Date","RoleBeforeCreateEvent","result","RoleAfterCreateEvent","CreateRoleUseCase","createImplementation","UseCaseAbstraction","IdentityContext","EventPublisher","RolesRepository"],"mappings":";;;;;;;;;AAYA,MAAMA;IACF,YACYC,eAA0C,EAC1CC,cAAwC,EACxCC,UAAqC,CAC/C;aAHUF,eAAe,GAAfA;aACAC,cAAc,GAAdA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAM,QAAQC,KAAsB,EAAmD;QACnF,MAAMC,gBAAgB,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;QAE/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,WAAW,IAAI,CAAC,eAAe,CAAC,WAAW;QACjD,MAAMC,OAAOJ,WAAW,IAAI;QAG5B,MAAMK,qBAAqB,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,MAAMD,KAAK,IAAI;QAAC;QACvE,IAAIC,mBAAmB,IAAI,IACvB,OAAOP,OAAO,IAAI,CAAC,IAAIQ,gBAAgBF,KAAK,IAAI;QAGpD,MAAMG,OAAa;YACf,IAAIC;YACJ,MAAMJ,KAAK,IAAI;YACf,MAAMA,KAAK,IAAI;YACf,aAAaA,KAAK,WAAW;YAC7B,aAAaA,KAAK,WAAW;YAC7B,QAAQR,MAAM,MAAM,IAAI;YACxB,WAAW,IAAIa,OAAO,WAAW;YACjC,WAAW;gBACP,IAAIN,SAAS,EAAE;gBACf,aAAaA,SAAS,WAAW;gBACjC,MAAMA,SAAS,IAAI;YACvB;YACA,QAAQ;QACZ;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIO,sBAAsB;YAAEH;YAAM,OAAOP,WAAW,IAAI;QAAC;QAG7D,MAAMW,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAACJ;QAE5C,IAAII,OAAO,MAAM,IACb,OAAOb,OAAO,IAAI,CAACa,OAAO,KAAK;QAGnC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIC,qBAAqB;YAAEL;YAAM,OAAOP,WAAW,IAAI;QAAC;QAG5D,OAAOF,OAAO,EAAE,CAACS;IACrB;AACJ;AAEO,MAAMM,sCAAoBC,qBAAqB;IAClD,aAAaC;IACb,gBAAgBvB;IAChB,cAAc;QAACwB;QAAiBC;QAAgBC;KAAgB;AACpE"}
@@ -11,6 +11,7 @@ type CreateRoleError = ICreateRoleErrors[keyof ICreateRoleErrors] | RolesReposit
11
11
  export interface ICreateRole {
12
12
  execute(input: CreateRoleInput): Promise<Result<Role, CreateRoleError>>;
13
13
  }
14
+ /** Create a new security role. */
14
15
  export declare const CreateRoleUseCase: import("@webiny/di").Abstraction<ICreateRole>;
15
16
  export declare namespace CreateRoleUseCase {
16
17
  type Interface = ICreateRole;
@@ -1,4 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
- export const CreateRoleUseCase = createAbstraction("CreateRoleUseCase");
2
+ const CreateRoleUseCase = createAbstraction("CreateRoleUseCase");
3
+ export { CreateRoleUseCase };
3
4
 
4
5
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","CreateRoleUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport type { Role, CreateRoleInput } from \"../shared/types.js\";\nimport { RolesRepository } from \"../shared/abstractions.js\";\nimport { NotAuthorizedError, RoleExistsError, RoleValidationError } from \"../shared/errors.js\";\n\nexport interface ICreateRoleErrors {\n notAuthorized: NotAuthorizedError;\n roleExists: RoleExistsError;\n validation: RoleValidationError;\n}\n\ntype CreateRoleError = ICreateRoleErrors[keyof ICreateRoleErrors] | RolesRepository.Error;\n\nexport interface ICreateRole {\n execute(input: CreateRoleInput): Promise<Result<Role, CreateRoleError>>;\n}\n\nexport const CreateRoleUseCase = createAbstraction<ICreateRole>(\"CreateRoleUseCase\");\n\nexport namespace CreateRoleUseCase {\n export type Interface = ICreateRole;\n export type Error = CreateRoleError;\n}\n\nexport interface RoleBeforeCreatePayload {\n role: Role;\n input: CreateRoleInput;\n}\n\nexport interface RoleAfterCreatePayload {\n role: Role;\n input: CreateRoleInput;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAkBvD,OAAO,MAAMC,iBAAiB,GAAGD,iBAAiB,CAAc,mBAAmB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/roles/CreateRole/abstractions.js","sources":["../../../../../src/features/security/roles/CreateRole/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport type { Role, CreateRoleInput } from \"../shared/types.js\";\nimport { RolesRepository } from \"../shared/abstractions.js\";\nimport { NotAuthorizedError, RoleExistsError, RoleValidationError } from \"../shared/errors.js\";\n\nexport interface ICreateRoleErrors {\n notAuthorized: NotAuthorizedError;\n roleExists: RoleExistsError;\n validation: RoleValidationError;\n}\n\ntype CreateRoleError = ICreateRoleErrors[keyof ICreateRoleErrors] | RolesRepository.Error;\n\nexport interface ICreateRole {\n execute(input: CreateRoleInput): Promise<Result<Role, CreateRoleError>>;\n}\n\n/** Create a new security role. */\nexport const CreateRoleUseCase = createAbstraction<ICreateRole>(\"CreateRoleUseCase\");\n\nexport namespace CreateRoleUseCase {\n export type Interface = ICreateRole;\n export type Error = CreateRoleError;\n}\n\nexport interface RoleBeforeCreatePayload {\n role: Role;\n input: CreateRoleInput;\n}\n\nexport interface RoleAfterCreatePayload {\n role: Role;\n input: CreateRoleInput;\n}\n"],"names":["CreateRoleUseCase","createAbstraction"],"mappings":";AAmBO,MAAMA,oBAAoBC,kBAA+B"}
@@ -5,8 +5,9 @@ export declare class RoleBeforeCreateEvent extends DomainEvent<RoleBeforeCreateP
5
5
  eventType: "role.beforeCreate";
6
6
  getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<RoleBeforeCreateEvent>>;
7
7
  }
8
- export declare const RoleBeforeCreateHandler: import("@webiny/di").Abstraction<IEventHandler<RoleBeforeCreateEvent>>;
9
- export declare namespace RoleBeforeCreateHandler {
8
+ /** Hook into role lifecycle before a role is created. */
9
+ export declare const RoleBeforeCreateEventHandler: import("@webiny/di").Abstraction<IEventHandler<RoleBeforeCreateEvent>>;
10
+ export declare namespace RoleBeforeCreateEventHandler {
10
11
  type Interface = IEventHandler<RoleBeforeCreateEvent>;
11
12
  type Event = RoleBeforeCreateEvent;
12
13
  }
@@ -14,8 +15,9 @@ export declare class RoleAfterCreateEvent extends DomainEvent<RoleAfterCreatePay
14
15
  eventType: "role.afterCreate";
15
16
  getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<RoleAfterCreateEvent>>;
16
17
  }
17
- export declare const RoleAfterCreateHandler: import("@webiny/di").Abstraction<IEventHandler<RoleAfterCreateEvent>>;
18
- export declare namespace RoleAfterCreateHandler {
18
+ /** Hook into role lifecycle after a role is created. */
19
+ export declare const RoleAfterCreateEventHandler: import("@webiny/di").Abstraction<IEventHandler<RoleAfterCreateEvent>>;
20
+ export declare namespace RoleAfterCreateEventHandler {
19
21
  type Interface = IEventHandler<RoleAfterCreateEvent>;
20
22
  type Event = RoleAfterCreateEvent;
21
23
  }
@@ -1,18 +1,23 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
2
  import { DomainEvent } from "../../../eventPublisher/index.js";
3
- export class RoleBeforeCreateEvent extends DomainEvent {
4
- eventType = "role.beforeCreate";
5
- getHandlerAbstraction() {
6
- return RoleBeforeCreateHandler;
7
- }
3
+ class RoleBeforeCreateEvent extends DomainEvent {
4
+ getHandlerAbstraction() {
5
+ return RoleBeforeCreateEventHandler;
6
+ }
7
+ constructor(...args){
8
+ super(...args), this.eventType = "role.beforeCreate";
9
+ }
8
10
  }
9
- export const RoleBeforeCreateHandler = createAbstraction("RoleBeforeCreateHandler");
10
- export class RoleAfterCreateEvent extends DomainEvent {
11
- eventType = "role.afterCreate";
12
- getHandlerAbstraction() {
13
- return RoleAfterCreateHandler;
14
- }
11
+ const RoleBeforeCreateEventHandler = createAbstraction("RoleBeforeCreateEventHandler");
12
+ class RoleAfterCreateEvent extends DomainEvent {
13
+ getHandlerAbstraction() {
14
+ return RoleAfterCreateEventHandler;
15
+ }
16
+ constructor(...args){
17
+ super(...args), this.eventType = "role.afterCreate";
18
+ }
15
19
  }
16
- export const RoleAfterCreateHandler = createAbstraction("RoleAfterCreateHandler");
20
+ const RoleAfterCreateEventHandler = createAbstraction("RoleAfterCreateEventHandler");
21
+ export { RoleAfterCreateEvent, RoleAfterCreateEventHandler, RoleBeforeCreateEvent, RoleBeforeCreateEventHandler };
17
22
 
18
23
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","DomainEvent","RoleBeforeCreateEvent","eventType","getHandlerAbstraction","RoleBeforeCreateHandler","RoleAfterCreateEvent","RoleAfterCreateHandler"],"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 { RoleBeforeCreatePayload, RoleAfterCreatePayload } from \"./abstractions.js\";\n\nexport class RoleBeforeCreateEvent extends DomainEvent<RoleBeforeCreatePayload> {\n eventType = \"role.beforeCreate\" as const;\n\n getHandlerAbstraction() {\n return RoleBeforeCreateHandler;\n }\n}\n\nexport const RoleBeforeCreateHandler =\n createAbstraction<IEventHandler<RoleBeforeCreateEvent>>(\"RoleBeforeCreateHandler\");\n\nexport namespace RoleBeforeCreateHandler {\n export type Interface = IEventHandler<RoleBeforeCreateEvent>;\n export type Event = RoleBeforeCreateEvent;\n}\n\nexport class RoleAfterCreateEvent extends DomainEvent<RoleAfterCreatePayload> {\n eventType = \"role.afterCreate\" as const;\n\n getHandlerAbstraction() {\n return RoleAfterCreateHandler;\n }\n}\n\nexport const RoleAfterCreateHandler =\n createAbstraction<IEventHandler<RoleAfterCreateEvent>>(\"RoleAfterCreateHandler\");\n\nexport namespace RoleAfterCreateHandler {\n export type Interface = IEventHandler<RoleAfterCreateEvent>;\n export type Event = RoleAfterCreateEvent;\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,uBAAuB;EAClC;AACJ;AAEA,OAAO,MAAMA,uBAAuB,GAChCL,iBAAiB,CAAuC,yBAAyB,CAAC;AAOtF,OAAO,MAAMM,oBAAoB,SAASL,WAAW,CAAyB;EAC1EE,SAAS,GAAG,kBAAkB;EAE9BC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,sBAAsB;EACjC;AACJ;AAEA,OAAO,MAAMA,sBAAsB,GAC/BP,iBAAiB,CAAsC,wBAAwB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/roles/CreateRole/events.js","sources":["../../../../../src/features/security/roles/CreateRole/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 { RoleBeforeCreatePayload, RoleAfterCreatePayload } from \"./abstractions.js\";\n\nexport class RoleBeforeCreateEvent extends DomainEvent<RoleBeforeCreatePayload> {\n eventType = \"role.beforeCreate\" as const;\n\n getHandlerAbstraction() {\n return RoleBeforeCreateEventHandler;\n }\n}\n\n/** Hook into role lifecycle before a role is created. */\nexport const RoleBeforeCreateEventHandler = createAbstraction<IEventHandler<RoleBeforeCreateEvent>>(\n \"RoleBeforeCreateEventHandler\"\n);\n\nexport namespace RoleBeforeCreateEventHandler {\n export type Interface = IEventHandler<RoleBeforeCreateEvent>;\n export type Event = RoleBeforeCreateEvent;\n}\n\nexport class RoleAfterCreateEvent extends DomainEvent<RoleAfterCreatePayload> {\n eventType = \"role.afterCreate\" as const;\n\n getHandlerAbstraction() {\n return RoleAfterCreateEventHandler;\n }\n}\n\n/** Hook into role lifecycle after a role is created. */\nexport const RoleAfterCreateEventHandler = createAbstraction<IEventHandler<RoleAfterCreateEvent>>(\n \"RoleAfterCreateEventHandler\"\n);\n\nexport namespace RoleAfterCreateEventHandler {\n export type Interface = IEventHandler<RoleAfterCreateEvent>;\n export type Event = RoleAfterCreateEvent;\n}\n"],"names":["RoleBeforeCreateEvent","DomainEvent","RoleBeforeCreateEventHandler","createAbstraction","RoleAfterCreateEvent","RoleAfterCreateEventHandler"],"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 +1,4 @@
1
- export declare const CreateRoleFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
1
+ export declare const CreateRoleFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -1,10 +1,11 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { CreateRoleUseCase } from "./CreateRoleUseCase.js";
3
- export const CreateRoleFeature = createFeature({
4
- name: "CreateRole",
5
- register(container) {
6
- container.register(CreateRoleUseCase);
7
- }
3
+ const CreateRoleFeature = createFeature({
4
+ name: "CreateRole",
5
+ register (container) {
6
+ container.register(CreateRoleUseCase);
7
+ }
8
8
  });
9
+ export { CreateRoleFeature };
9
10
 
10
11
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","CreateRoleUseCase","CreateRoleFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CreateRoleUseCase } from \"./CreateRoleUseCase.js\";\n\nexport const CreateRoleFeature = createFeature({\n name: \"CreateRole\",\n register(container) {\n container.register(CreateRoleUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,iBAAiB;AAE1B,OAAO,MAAMC,iBAAiB,GAAGF,aAAa,CAAC;EAC3CG,IAAI,EAAE,YAAY;EAClBC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,iBAAiB,CAAC;EACzC;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/roles/CreateRole/feature.js","sources":["../../../../../src/features/security/roles/CreateRole/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CreateRoleUseCase } from \"./CreateRoleUseCase.js\";\n\nexport const CreateRoleFeature = createFeature({\n name: \"CreateRole\",\n register(container) {\n container.register(CreateRoleUseCase);\n }\n});\n"],"names":["CreateRoleFeature","createFeature","container","CreateRoleUseCase"],"mappings":";;AAGO,MAAMA,oBAAoBC,cAAc;IAC3C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
@@ -1,4 +1,2 @@
1
1
  export * from "./abstractions.js";
2
2
  export * from "./events.js";
3
-
4
- //# sourceMappingURL=index.js.map
@@ -5,23 +5,5 @@ export declare const createRoleValidation: z.ZodObject<{
5
5
  description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
6
6
  permissions: z.ZodArray<z.ZodObject<{
7
7
  name: z.ZodString;
8
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
9
- name: z.ZodString;
10
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
11
- name: z.ZodString;
12
- }, z.ZodTypeAny, "passthrough">>, "many">;
13
- }, "strip", z.ZodTypeAny, {
14
- permissions: z.objectOutputType<{
15
- name: z.ZodString;
16
- }, z.ZodTypeAny, "passthrough">[];
17
- name: string;
18
- description: string;
19
- slug: string;
20
- }, {
21
- permissions: z.objectInputType<{
22
- name: z.ZodString;
23
- }, z.ZodTypeAny, "passthrough">[];
24
- name: string;
25
- slug: string;
26
- description?: string | undefined;
27
- }>;
8
+ }, z.core.$loose>>;
9
+ }, z.core.$strip>;
@@ -1,11 +1,12 @@
1
1
  import { z } from "zod";
2
- export const createRoleValidation = z.object({
3
- name: z.string().min(3),
4
- slug: z.string().min(3),
5
- description: z.string().max(500).optional().default(""),
6
- permissions: z.array(z.object({
7
- name: z.string()
8
- }).passthrough())
2
+ const createRoleValidation = z.object({
3
+ name: z.string().min(3),
4
+ slug: z.string().min(3),
5
+ description: z.string().max(500).optional().default(""),
6
+ permissions: z.array(z.looseObject({
7
+ name: z.string()
8
+ }))
9
9
  });
10
+ export { createRoleValidation };
10
11
 
11
12
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["z","createRoleValidation","object","name","string","min","slug","description","max","optional","default","permissions","array","passthrough"],"sources":["schema.ts"],"sourcesContent":["import { z } from \"zod\";\n\nexport const createRoleValidation = z.object({\n name: z.string().min(3),\n slug: z.string().min(3),\n description: z.string().max(500).optional().default(\"\"),\n permissions: z.array(z.object({ name: z.string() }).passthrough())\n});\n"],"mappings":"AAAA,SAASA,CAAC,QAAQ,KAAK;AAEvB,OAAO,MAAMC,oBAAoB,GAAGD,CAAC,CAACE,MAAM,CAAC;EACzCC,IAAI,EAAEH,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,GAAG,CAAC,CAAC,CAAC;EACvBC,IAAI,EAAEN,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,GAAG,CAAC,CAAC,CAAC;EACvBE,WAAW,EAAEP,CAAC,CAACI,MAAM,CAAC,CAAC,CAACI,GAAG,CAAC,GAAG,CAAC,CAACC,QAAQ,CAAC,CAAC,CAACC,OAAO,CAAC,EAAE,CAAC;EACvDC,WAAW,EAAEX,CAAC,CAACY,KAAK,CAACZ,CAAC,CAACE,MAAM,CAAC;IAAEC,IAAI,EAAEH,CAAC,CAACI,MAAM,CAAC;EAAE,CAAC,CAAC,CAACS,WAAW,CAAC,CAAC;AACrE,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/roles/CreateRole/schema.js","sources":["../../../../../src/features/security/roles/CreateRole/schema.ts"],"sourcesContent":["import { z } from \"zod\";\n\nexport const createRoleValidation = z.object({\n name: z.string().min(3),\n slug: z.string().min(3),\n description: z.string().max(500).optional().default(\"\"),\n permissions: z.array(z.looseObject({ name: z.string() }))\n});\n"],"names":["createRoleValidation","z"],"mappings":";AAEO,MAAMA,uBAAuBC,EAAE,MAAM,CAAC;IACzC,MAAMA,EAAE,MAAM,GAAG,GAAG,CAAC;IACrB,MAAMA,EAAE,MAAM,GAAG,GAAG,CAAC;IACrB,aAAaA,EAAE,MAAM,GAAG,GAAG,CAAC,KAAK,QAAQ,GAAG,OAAO,CAAC;IACpD,aAAaA,EAAE,KAAK,CAACA,EAAE,WAAW,CAAC;QAAE,MAAMA,EAAE,MAAM;IAAG;AAC1D"}
@@ -1,51 +1,45 @@
1
- import { createImplementation } from "@webiny/feature/api";
2
- import { Result } from "@webiny/feature/api";
3
- import { DeleteRoleUseCase as UseCaseAbstraction } from "./abstractions.js";
1
+ import { Result, createImplementation } from "@webiny/feature/api";
2
+ import { DeleteRoleUseCase } from "./abstractions.js";
4
3
  import { RolesRepository } from "../shared/abstractions.js";
5
4
  import { IdentityContext } from "../../IdentityContext/abstractions.js";
6
5
  import { EventPublisher } from "../../../eventPublisher/index.js";
7
- import { RoleBeforeDeleteEvent, RoleAfterDeleteEvent } from "./events.js";
8
- import { NotAuthorizedError, CannotDeletePluginRolesError } from "../shared/errors.js";
6
+ import { RoleAfterDeleteEvent, RoleBeforeDeleteEvent } from "./events.js";
7
+ import { CannotDeletePluginRolesError, NotAuthorizedError } from "../shared/errors.js";
9
8
  class DeleteRoleUseCaseImpl {
10
- constructor(repository, identityContext, eventPublisher) {
11
- this.repository = repository;
12
- this.identityContext = identityContext;
13
- this.eventPublisher = eventPublisher;
14
- }
15
- async execute(id) {
16
- const hasPermission = await this.identityContext.getPermission("security.role");
17
- if (!hasPermission) {
18
- return Result.fail(new NotAuthorizedError());
9
+ constructor(repository, identityContext, eventPublisher){
10
+ this.repository = repository;
11
+ this.identityContext = identityContext;
12
+ this.eventPublisher = eventPublisher;
19
13
  }
20
- const existingResult = await this.repository.get({
21
- id
22
- });
23
- if (existingResult.isFail()) {
24
- return Result.fail(existingResult.error);
14
+ async execute(id) {
15
+ const hasPermission = await this.identityContext.getPermission("security.role");
16
+ if (!hasPermission) return Result.fail(new NotAuthorizedError());
17
+ const existingResult = await this.repository.get({
18
+ id
19
+ });
20
+ if (existingResult.isFail()) return Result.fail(existingResult.error);
21
+ const existingRole = existingResult.value;
22
+ if (existingRole.plugin) return Result.fail(new CannotDeletePluginRolesError());
23
+ await this.eventPublisher.publish(new RoleBeforeDeleteEvent({
24
+ role: existingRole
25
+ }));
26
+ const result = await this.repository.delete(existingRole);
27
+ if (result.isFail()) return result;
28
+ await this.eventPublisher.publish(new RoleAfterDeleteEvent({
29
+ role: existingRole
30
+ }));
31
+ return Result.ok();
25
32
  }
26
- const existingRole = existingResult.value;
27
-
28
- // Check if role is created via plugin
29
- if (existingRole.plugin) {
30
- return Result.fail(new CannotDeletePluginRolesError());
31
- }
32
- await this.eventPublisher.publish(new RoleBeforeDeleteEvent({
33
- role: existingRole
34
- }));
35
- const result = await this.repository.delete(existingRole);
36
- if (result.isFail()) {
37
- return result;
38
- }
39
- await this.eventPublisher.publish(new RoleAfterDeleteEvent({
40
- role: existingRole
41
- }));
42
- return Result.ok();
43
- }
44
33
  }
45
- export const DeleteRoleUseCase = createImplementation({
46
- abstraction: UseCaseAbstraction,
47
- implementation: DeleteRoleUseCaseImpl,
48
- dependencies: [RolesRepository, IdentityContext, EventPublisher]
34
+ const DeleteRoleUseCase_DeleteRoleUseCase = createImplementation({
35
+ abstraction: DeleteRoleUseCase,
36
+ implementation: DeleteRoleUseCaseImpl,
37
+ dependencies: [
38
+ RolesRepository,
39
+ IdentityContext,
40
+ EventPublisher
41
+ ]
49
42
  });
43
+ export { DeleteRoleUseCase_DeleteRoleUseCase as DeleteRoleUseCase };
50
44
 
51
45
  //# sourceMappingURL=DeleteRoleUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createImplementation","Result","DeleteRoleUseCase","UseCaseAbstraction","RolesRepository","IdentityContext","EventPublisher","RoleBeforeDeleteEvent","RoleAfterDeleteEvent","NotAuthorizedError","CannotDeletePluginRolesError","DeleteRoleUseCaseImpl","constructor","repository","identityContext","eventPublisher","execute","id","hasPermission","getPermission","fail","existingResult","get","isFail","error","existingRole","value","plugin","publish","role","result","delete","ok","abstraction","implementation","dependencies"],"sources":["DeleteRoleUseCase.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport { DeleteRoleUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { RolesRepository } from \"../shared/abstractions.js\";\nimport { IdentityContext } from \"../../IdentityContext/abstractions.js\";\nimport { EventPublisher } from \"~/features/eventPublisher/index.js\";\nimport { RoleBeforeDeleteEvent, RoleAfterDeleteEvent } from \"./events.js\";\nimport { NotAuthorizedError, CannotDeletePluginRolesError } from \"../shared/errors.js\";\n\nclass DeleteRoleUseCaseImpl implements UseCaseAbstraction.Interface {\n private repository: RolesRepository.Interface;\n private identityContext: IdentityContext.Interface;\n private eventPublisher: EventPublisher.Interface;\n\n constructor(\n repository: RolesRepository.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, UseCaseAbstraction.Error>> {\n const hasPermission = await this.identityContext.getPermission(\"security.role\");\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 existingRole = existingResult.value;\n\n // Check if role is created via plugin\n if (existingRole.plugin) {\n return Result.fail(new CannotDeletePluginRolesError());\n }\n\n await this.eventPublisher.publish(new RoleBeforeDeleteEvent({ role: existingRole }));\n\n const result = await this.repository.delete(existingRole);\n\n if (result.isFail()) {\n return result;\n }\n\n await this.eventPublisher.publish(new RoleAfterDeleteEvent({ role: existingRole }));\n\n return Result.ok();\n }\n}\n\nexport const DeleteRoleUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: DeleteRoleUseCaseImpl,\n dependencies: [RolesRepository, IdentityContext, EventPublisher]\n});\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,qBAAqB;AAC1D,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,iBAAiB,IAAIC,kBAAkB;AAChD,SAASC,eAAe;AACxB,SAASC,eAAe;AACxB,SAASC,cAAc;AACvB,SAASC,qBAAqB,EAAEC,oBAAoB;AACpD,SAASC,kBAAkB,EAAEC,4BAA4B;AAEzD,MAAMC,qBAAqB,CAAyC;EAKhEC,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,EAAmD;IACvE,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACJ,eAAe,CAACK,aAAa,CAAC,eAAe,CAAC;IAC/E,IAAI,CAACD,aAAa,EAAE;MAChB,OAAOjB,MAAM,CAACmB,IAAI,CAAC,IAAIX,kBAAkB,CAAC,CAAC,CAAC;IAChD;IAEA,MAAMY,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,MAAM,IAAI,CAACK,cAAc,CAACa,OAAO,CAAC,IAAIrB,qBAAqB,CAAC;MAAEsB,IAAI,EAAEJ;IAAa,CAAC,CAAC,CAAC;IAEpF,MAAMK,MAAM,GAAG,MAAM,IAAI,CAACjB,UAAU,CAACkB,MAAM,CAACN,YAAY,CAAC;IAEzD,IAAIK,MAAM,CAACP,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOO,MAAM;IACjB;IAEA,MAAM,IAAI,CAACf,cAAc,CAACa,OAAO,CAAC,IAAIpB,oBAAoB,CAAC;MAAEqB,IAAI,EAAEJ;IAAa,CAAC,CAAC,CAAC;IAEnF,OAAOxB,MAAM,CAAC+B,EAAE,CAAC,CAAC;EACtB;AACJ;AAEA,OAAO,MAAM9B,iBAAiB,GAAGF,oBAAoB,CAAC;EAClDiC,WAAW,EAAE9B,kBAAkB;EAC/B+B,cAAc,EAAEvB,qBAAqB;EACrCwB,YAAY,EAAE,CAAC/B,eAAe,EAAEC,eAAe,EAAEC,cAAc;AACnE,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/roles/DeleteRole/DeleteRoleUseCase.js","sources":["../../../../../src/features/security/roles/DeleteRole/DeleteRoleUseCase.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport { DeleteRoleUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { RolesRepository } from \"../shared/abstractions.js\";\nimport { IdentityContext } from \"../../IdentityContext/abstractions.js\";\nimport { EventPublisher } from \"~/features/eventPublisher/index.js\";\nimport { RoleBeforeDeleteEvent, RoleAfterDeleteEvent } from \"./events.js\";\nimport { NotAuthorizedError, CannotDeletePluginRolesError } from \"../shared/errors.js\";\n\nclass DeleteRoleUseCaseImpl implements UseCaseAbstraction.Interface {\n private repository: RolesRepository.Interface;\n private identityContext: IdentityContext.Interface;\n private eventPublisher: EventPublisher.Interface;\n\n constructor(\n repository: RolesRepository.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, UseCaseAbstraction.Error>> {\n const hasPermission = await this.identityContext.getPermission(\"security.role\");\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 existingRole = existingResult.value;\n\n // Check if role is created via plugin\n if (existingRole.plugin) {\n return Result.fail(new CannotDeletePluginRolesError());\n }\n\n await this.eventPublisher.publish(new RoleBeforeDeleteEvent({ role: existingRole }));\n\n const result = await this.repository.delete(existingRole);\n\n if (result.isFail()) {\n return result;\n }\n\n await this.eventPublisher.publish(new RoleAfterDeleteEvent({ role: existingRole }));\n\n return Result.ok();\n }\n}\n\nexport const DeleteRoleUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: DeleteRoleUseCaseImpl,\n dependencies: [RolesRepository, IdentityContext, EventPublisher]\n});\n"],"names":["DeleteRoleUseCaseImpl","repository","identityContext","eventPublisher","id","hasPermission","Result","NotAuthorizedError","existingResult","existingRole","CannotDeletePluginRolesError","RoleBeforeDeleteEvent","result","RoleAfterDeleteEvent","DeleteRoleUseCase","createImplementation","UseCaseAbstraction","RolesRepository","IdentityContext","EventPublisher"],"mappings":";;;;;;;AASA,MAAMA;IAKF,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,EAAmD;QACvE,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;QAG3B,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAIC,sBAAsB;YAAE,MAAMF;QAAa;QAEjF,MAAMG,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAACH;QAE5C,IAAIG,OAAO,MAAM,IACb,OAAOA;QAGX,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAIC,qBAAqB;YAAE,MAAMJ;QAAa;QAEhF,OAAOH,OAAO,EAAE;IACpB;AACJ;AAEO,MAAMQ,sCAAoBC,qBAAqB;IAClD,aAAaC;IACb,gBAAgBhB;IAChB,cAAc;QAACiB;QAAiBC;QAAiBC;KAAe;AACpE"}
@@ -10,6 +10,7 @@ type DeleteRoleError = IDeleteRoleErrors[keyof IDeleteRoleErrors] | RolesReposit
10
10
  export interface IDeleteRole {
11
11
  execute(id: string): Promise<Result<void, DeleteRoleError>>;
12
12
  }
13
+ /** Delete a security role. */
13
14
  export declare const DeleteRoleUseCase: import("@webiny/di").Abstraction<IDeleteRole>;
14
15
  export declare namespace DeleteRoleUseCase {
15
16
  type Interface = IDeleteRole;
@@ -1,4 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
- export const DeleteRoleUseCase = createAbstraction("DeleteRoleUseCase");
2
+ const DeleteRoleUseCase = createAbstraction("DeleteRoleUseCase");
3
+ export { DeleteRoleUseCase };
3
4
 
4
5
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","DeleteRoleUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport type { Role } from \"../shared/types.js\";\nimport { RolesRepository } from \"../shared/abstractions.js\";\nimport { NotAuthorizedError, CannotDeletePluginRolesError } from \"../shared/errors.js\";\n\nexport interface IDeleteRoleErrors {\n notAuthorized: NotAuthorizedError;\n cannotDeletePlugin: CannotDeletePluginRolesError;\n}\n\ntype DeleteRoleError = IDeleteRoleErrors[keyof IDeleteRoleErrors] | RolesRepository.Error;\n\nexport interface IDeleteRole {\n execute(id: string): Promise<Result<void, DeleteRoleError>>;\n}\n\nexport const DeleteRoleUseCase = createAbstraction<IDeleteRole>(\"DeleteRoleUseCase\");\n\nexport namespace DeleteRoleUseCase {\n export type Interface = IDeleteRole;\n export type Error = DeleteRoleError;\n}\n\nexport interface RoleBeforeDeletePayload {\n role: Role;\n}\n\nexport interface RoleAfterDeletePayload {\n role: Role;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAiBvD,OAAO,MAAMC,iBAAiB,GAAGD,iBAAiB,CAAc,mBAAmB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/roles/DeleteRole/abstractions.js","sources":["../../../../../src/features/security/roles/DeleteRole/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport type { Role } from \"../shared/types.js\";\nimport { RolesRepository } from \"../shared/abstractions.js\";\nimport { NotAuthorizedError, CannotDeletePluginRolesError } from \"../shared/errors.js\";\n\nexport interface IDeleteRoleErrors {\n notAuthorized: NotAuthorizedError;\n cannotDeletePlugin: CannotDeletePluginRolesError;\n}\n\ntype DeleteRoleError = IDeleteRoleErrors[keyof IDeleteRoleErrors] | RolesRepository.Error;\n\nexport interface IDeleteRole {\n execute(id: string): Promise<Result<void, DeleteRoleError>>;\n}\n\n/** Delete a security role. */\nexport const DeleteRoleUseCase = createAbstraction<IDeleteRole>(\"DeleteRoleUseCase\");\n\nexport namespace DeleteRoleUseCase {\n export type Interface = IDeleteRole;\n export type Error = DeleteRoleError;\n}\n\nexport interface RoleBeforeDeletePayload {\n role: Role;\n}\n\nexport interface RoleAfterDeletePayload {\n role: Role;\n}\n"],"names":["DeleteRoleUseCase","createAbstraction"],"mappings":";AAkBO,MAAMA,oBAAoBC,kBAA+B"}
@@ -5,8 +5,9 @@ export declare class RoleBeforeDeleteEvent extends DomainEvent<RoleBeforeDeleteP
5
5
  eventType: "role.beforeDelete";
6
6
  getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<RoleBeforeDeleteEvent>>;
7
7
  }
8
- export declare const RoleBeforeDeleteHandler: import("@webiny/di").Abstraction<IEventHandler<RoleBeforeDeleteEvent>>;
9
- export declare namespace RoleBeforeDeleteHandler {
8
+ /** Hook into role lifecycle before a role is deleted. */
9
+ export declare const RoleBeforeDeleteEventHandler: import("@webiny/di").Abstraction<IEventHandler<RoleBeforeDeleteEvent>>;
10
+ export declare namespace RoleBeforeDeleteEventHandler {
10
11
  type Interface = IEventHandler<RoleBeforeDeleteEvent>;
11
12
  type Event = RoleBeforeDeleteEvent;
12
13
  }
@@ -14,8 +15,9 @@ export declare class RoleAfterDeleteEvent extends DomainEvent<RoleAfterDeletePay
14
15
  eventType: "role.afterDelete";
15
16
  getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<RoleAfterDeleteEvent>>;
16
17
  }
17
- export declare const RoleAfterDeleteHandler: import("@webiny/di").Abstraction<IEventHandler<RoleAfterDeleteEvent>>;
18
- export declare namespace RoleAfterDeleteHandler {
18
+ /** Hook into role lifecycle after a role is deleted. */
19
+ export declare const RoleAfterDeleteEventHandler: import("@webiny/di").Abstraction<IEventHandler<RoleAfterDeleteEvent>>;
20
+ export declare namespace RoleAfterDeleteEventHandler {
19
21
  type Interface = IEventHandler<RoleAfterDeleteEvent>;
20
22
  type Event = RoleAfterDeleteEvent;
21
23
  }
@@ -1,18 +1,23 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
2
  import { DomainEvent } from "../../../eventPublisher/index.js";
3
- export class RoleBeforeDeleteEvent extends DomainEvent {
4
- eventType = "role.beforeDelete";
5
- getHandlerAbstraction() {
6
- return RoleBeforeDeleteHandler;
7
- }
3
+ class RoleBeforeDeleteEvent extends DomainEvent {
4
+ getHandlerAbstraction() {
5
+ return RoleBeforeDeleteEventHandler;
6
+ }
7
+ constructor(...args){
8
+ super(...args), this.eventType = "role.beforeDelete";
9
+ }
8
10
  }
9
- export const RoleBeforeDeleteHandler = createAbstraction("RoleBeforeDeleteHandler");
10
- export class RoleAfterDeleteEvent extends DomainEvent {
11
- eventType = "role.afterDelete";
12
- getHandlerAbstraction() {
13
- return RoleAfterDeleteHandler;
14
- }
11
+ const RoleBeforeDeleteEventHandler = createAbstraction("RoleBeforeDeleteEventHandler");
12
+ class RoleAfterDeleteEvent extends DomainEvent {
13
+ getHandlerAbstraction() {
14
+ return RoleAfterDeleteEventHandler;
15
+ }
16
+ constructor(...args){
17
+ super(...args), this.eventType = "role.afterDelete";
18
+ }
15
19
  }
16
- export const RoleAfterDeleteHandler = createAbstraction("RoleAfterDeleteHandler");
20
+ const RoleAfterDeleteEventHandler = createAbstraction("RoleAfterDeleteEventHandler");
21
+ export { RoleAfterDeleteEvent, RoleAfterDeleteEventHandler, RoleBeforeDeleteEvent, RoleBeforeDeleteEventHandler };
17
22
 
18
23
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","DomainEvent","RoleBeforeDeleteEvent","eventType","getHandlerAbstraction","RoleBeforeDeleteHandler","RoleAfterDeleteEvent","RoleAfterDeleteHandler"],"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 { RoleBeforeDeletePayload, RoleAfterDeletePayload } from \"./abstractions.js\";\n\nexport class RoleBeforeDeleteEvent extends DomainEvent<RoleBeforeDeletePayload> {\n eventType = \"role.beforeDelete\" as const;\n\n getHandlerAbstraction() {\n return RoleBeforeDeleteHandler;\n }\n}\n\nexport const RoleBeforeDeleteHandler =\n createAbstraction<IEventHandler<RoleBeforeDeleteEvent>>(\"RoleBeforeDeleteHandler\");\n\nexport namespace RoleBeforeDeleteHandler {\n export type Interface = IEventHandler<RoleBeforeDeleteEvent>;\n export type Event = RoleBeforeDeleteEvent;\n}\n\nexport class RoleAfterDeleteEvent extends DomainEvent<RoleAfterDeletePayload> {\n eventType = \"role.afterDelete\" as const;\n\n getHandlerAbstraction() {\n return RoleAfterDeleteHandler;\n }\n}\n\nexport const RoleAfterDeleteHandler =\n createAbstraction<IEventHandler<RoleAfterDeleteEvent>>(\"RoleAfterDeleteHandler\");\n\nexport namespace RoleAfterDeleteHandler {\n export type Interface = IEventHandler<RoleAfterDeleteEvent>;\n export type Event = RoleAfterDeleteEvent;\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,uBAAuB;EAClC;AACJ;AAEA,OAAO,MAAMA,uBAAuB,GAChCL,iBAAiB,CAAuC,yBAAyB,CAAC;AAOtF,OAAO,MAAMM,oBAAoB,SAASL,WAAW,CAAyB;EAC1EE,SAAS,GAAG,kBAAkB;EAE9BC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,sBAAsB;EACjC;AACJ;AAEA,OAAO,MAAMA,sBAAsB,GAC/BP,iBAAiB,CAAsC,wBAAwB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/roles/DeleteRole/events.js","sources":["../../../../../src/features/security/roles/DeleteRole/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 { RoleBeforeDeletePayload, RoleAfterDeletePayload } from \"./abstractions.js\";\n\nexport class RoleBeforeDeleteEvent extends DomainEvent<RoleBeforeDeletePayload> {\n eventType = \"role.beforeDelete\" as const;\n\n getHandlerAbstraction() {\n return RoleBeforeDeleteEventHandler;\n }\n}\n\n/** Hook into role lifecycle before a role is deleted. */\nexport const RoleBeforeDeleteEventHandler = createAbstraction<IEventHandler<RoleBeforeDeleteEvent>>(\n \"RoleBeforeDeleteEventHandler\"\n);\n\nexport namespace RoleBeforeDeleteEventHandler {\n export type Interface = IEventHandler<RoleBeforeDeleteEvent>;\n export type Event = RoleBeforeDeleteEvent;\n}\n\nexport class RoleAfterDeleteEvent extends DomainEvent<RoleAfterDeletePayload> {\n eventType = \"role.afterDelete\" as const;\n\n getHandlerAbstraction() {\n return RoleAfterDeleteEventHandler;\n }\n}\n\n/** Hook into role lifecycle after a role is deleted. */\nexport const RoleAfterDeleteEventHandler = createAbstraction<IEventHandler<RoleAfterDeleteEvent>>(\n \"RoleAfterDeleteEventHandler\"\n);\n\nexport namespace RoleAfterDeleteEventHandler {\n export type Interface = IEventHandler<RoleAfterDeleteEvent>;\n export type Event = RoleAfterDeleteEvent;\n}\n"],"names":["RoleBeforeDeleteEvent","DomainEvent","RoleBeforeDeleteEventHandler","createAbstraction","RoleAfterDeleteEvent","RoleAfterDeleteEventHandler"],"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 +1,4 @@
1
- export declare const DeleteRoleFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
1
+ export declare const DeleteRoleFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };