@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 +1 @@
1
- {"version":3,"names":["BaseError","TeamStorageError","code","constructor","error","message","TeamNotFoundError","NotAuthorizedError","data","TeamExistsError","slug","CannotUpdatePluginTeamsError","CannotDeletePluginTeamsError","CannotUpdateSystemTeamsError","CannotDeleteSystemTeamsError","TeamValidationError"],"sources":["errors.ts"],"sourcesContent":["import { BaseError } from \"@webiny/feature/api\";\n\nexport class TeamStorageError extends BaseError {\n override readonly code = \"TEAM_STORAGE_ERROR\" as const;\n\n constructor(error: Error) {\n super({\n message: error.message\n });\n }\n}\n\nexport class TeamNotFoundError extends BaseError {\n override readonly code = \"TEAM_NOT_FOUND\" as const;\n\n constructor() {\n super({\n message: `Team was not found!`\n });\n }\n}\n\ntype NotAuthorizedErrorData = {\n message?: string;\n};\n\nexport class NotAuthorizedError extends BaseError<NotAuthorizedErrorData> {\n override readonly code = \"NOT_AUTHORIZED\" as const;\n\n constructor(data: NotAuthorizedErrorData = {}) {\n super({\n message: data.message || \"Not authorized!\",\n data\n });\n }\n}\n\ntype TeamExistsErrorData = {\n slug: string;\n};\n\nexport class TeamExistsError extends BaseError<TeamExistsErrorData> {\n override readonly code = \"TEAM_EXISTS\" as const;\n\n constructor(slug: string) {\n super({\n message: `Team with slug \"${slug}\" already exists.`,\n data: { slug }\n });\n }\n}\n\nexport class CannotUpdatePluginTeamsError extends BaseError {\n override readonly code = \"CANNOT_UPDATE_PLUGIN_TEAMS\" as const;\n\n constructor() {\n super({\n message: \"Cannot update teams created via plugins.\"\n });\n }\n}\n\nexport class CannotDeletePluginTeamsError extends BaseError {\n override readonly code = \"CANNOT_DELETE_PLUGIN_TEAMS\" as const;\n\n constructor() {\n super({\n message: \"Cannot delete teams created via plugins.\"\n });\n }\n}\n\nexport class CannotUpdateSystemTeamsError extends BaseError {\n override readonly code = \"CANNOT_UPDATE_SYSTEM_TEAMS\" as const;\n\n constructor() {\n super({\n message: \"Cannot update system teams.\"\n });\n }\n}\n\nexport class CannotDeleteSystemTeamsError extends BaseError {\n override readonly code = \"CANNOT_DELETE_SYSTEM_TEAMS\" as const;\n\n constructor() {\n super({\n message: \"Cannot delete system teams.\"\n });\n }\n}\n\ntype TeamValidationErrorData = {\n message: string;\n};\n\nexport class TeamValidationError extends BaseError<TeamValidationErrorData> {\n override readonly code = \"TEAM_VALIDATION_ERROR\" as const;\n\n constructor(message: string) {\n super({\n message,\n data: { message }\n });\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,qBAAqB;AAE/C,OAAO,MAAMC,gBAAgB,SAASD,SAAS,CAAC;EAC1BE,IAAI,GAAG,oBAAoB;EAE7CC,WAAWA,CAACC,KAAY,EAAE;IACtB,KAAK,CAAC;MACFC,OAAO,EAAED,KAAK,CAACC;IACnB,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAMC,iBAAiB,SAASN,SAAS,CAAC;EAC3BE,IAAI,GAAG,gBAAgB;EAEzCC,WAAWA,CAAA,EAAG;IACV,KAAK,CAAC;MACFE,OAAO,EAAE;IACb,CAAC,CAAC;EACN;AACJ;AAMA,OAAO,MAAME,kBAAkB,SAASP,SAAS,CAAyB;EACpDE,IAAI,GAAG,gBAAgB;EAEzCC,WAAWA,CAACK,IAA4B,GAAG,CAAC,CAAC,EAAE;IAC3C,KAAK,CAAC;MACFH,OAAO,EAAEG,IAAI,CAACH,OAAO,IAAI,iBAAiB;MAC1CG;IACJ,CAAC,CAAC;EACN;AACJ;AAMA,OAAO,MAAMC,eAAe,SAAST,SAAS,CAAsB;EAC9CE,IAAI,GAAG,aAAa;EAEtCC,WAAWA,CAACO,IAAY,EAAE;IACtB,KAAK,CAAC;MACFL,OAAO,EAAE,mBAAmBK,IAAI,mBAAmB;MACnDF,IAAI,EAAE;QAAEE;MAAK;IACjB,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAMC,4BAA4B,SAASX,SAAS,CAAC;EACtCE,IAAI,GAAG,4BAA4B;EAErDC,WAAWA,CAAA,EAAG;IACV,KAAK,CAAC;MACFE,OAAO,EAAE;IACb,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAMO,4BAA4B,SAASZ,SAAS,CAAC;EACtCE,IAAI,GAAG,4BAA4B;EAErDC,WAAWA,CAAA,EAAG;IACV,KAAK,CAAC;MACFE,OAAO,EAAE;IACb,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAMQ,4BAA4B,SAASb,SAAS,CAAC;EACtCE,IAAI,GAAG,4BAA4B;EAErDC,WAAWA,CAAA,EAAG;IACV,KAAK,CAAC;MACFE,OAAO,EAAE;IACb,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAMS,4BAA4B,SAASd,SAAS,CAAC;EACtCE,IAAI,GAAG,4BAA4B;EAErDC,WAAWA,CAAA,EAAG;IACV,KAAK,CAAC;MACFE,OAAO,EAAE;IACb,CAAC,CAAC;EACN;AACJ;AAMA,OAAO,MAAMU,mBAAmB,SAASf,SAAS,CAA0B;EACtDE,IAAI,GAAG,uBAAuB;EAEhDC,WAAWA,CAACE,OAAe,EAAE;IACzB,KAAK,CAAC;MACFA,OAAO;MACPG,IAAI,EAAE;QAAEH;MAAQ;IACpB,CAAC,CAAC;EACN;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"features/security/teams/shared/errors.js","sources":["../../../../../src/features/security/teams/shared/errors.ts"],"sourcesContent":["import { BaseError } from \"@webiny/feature/api\";\n\nexport class TeamStorageError extends BaseError {\n override readonly code = \"TEAM_STORAGE_ERROR\" as const;\n\n constructor(error: Error) {\n super({\n message: error.message\n });\n }\n}\n\nexport class TeamNotFoundError extends BaseError {\n override readonly code = \"TEAM_NOT_FOUND\" as const;\n\n constructor() {\n super({\n message: `Team was not found!`\n });\n }\n}\n\ntype NotAuthorizedErrorData = {\n message?: string;\n};\n\nexport class NotAuthorizedError extends BaseError<NotAuthorizedErrorData> {\n override readonly code = \"NOT_AUTHORIZED\" as const;\n\n constructor(data: NotAuthorizedErrorData = {}) {\n super({\n message: data.message || \"Not authorized!\",\n data\n });\n }\n}\n\ntype TeamExistsErrorData = {\n slug: string;\n};\n\nexport class TeamExistsError extends BaseError<TeamExistsErrorData> {\n override readonly code = \"TEAM_EXISTS\" as const;\n\n constructor(slug: string) {\n super({\n message: `Team with slug \"${slug}\" already exists.`,\n data: { slug }\n });\n }\n}\n\nexport class CannotUpdatePluginTeamsError extends BaseError {\n override readonly code = \"CANNOT_UPDATE_PLUGIN_TEAMS\" as const;\n\n constructor() {\n super({\n message: \"Cannot update teams created via plugins.\"\n });\n }\n}\n\nexport class CannotDeletePluginTeamsError extends BaseError {\n override readonly code = \"CANNOT_DELETE_PLUGIN_TEAMS\" as const;\n\n constructor() {\n super({\n message: \"Cannot delete teams created via plugins.\"\n });\n }\n}\n\nexport class CannotUpdateSystemTeamsError extends BaseError {\n override readonly code = \"CANNOT_UPDATE_SYSTEM_TEAMS\" as const;\n\n constructor() {\n super({\n message: \"Cannot update system teams.\"\n });\n }\n}\n\nexport class CannotDeleteSystemTeamsError extends BaseError {\n override readonly code = \"CANNOT_DELETE_SYSTEM_TEAMS\" as const;\n\n constructor() {\n super({\n message: \"Cannot delete system teams.\"\n });\n }\n}\n\ntype TeamValidationErrorData = {\n message: string;\n};\n\nexport class TeamValidationError extends BaseError<TeamValidationErrorData> {\n override readonly code = \"TEAM_VALIDATION_ERROR\" as const;\n\n constructor(message: string) {\n super({\n message,\n data: { message }\n });\n }\n}\n"],"names":["TeamStorageError","BaseError","error","TeamNotFoundError","NotAuthorizedError","data","TeamExistsError","slug","CannotUpdatePluginTeamsError","CannotDeletePluginTeamsError","CannotUpdateSystemTeamsError","CannotDeleteSystemTeamsError","TeamValidationError","message"],"mappings":";AAEO,MAAMA,yBAAyBC;IAGlC,YAAYC,KAAY,CAAE;QACtB,KAAK,CAAC;YACF,SAASA,MAAM,OAAO;QAC1B,SALc,IAAI,GAAG;IAMzB;AACJ;AAEO,MAAMC,0BAA0BF;IAGnC,aAAc;QACV,KAAK,CAAC;YACF,SAAS;QACb,SALc,IAAI,GAAG;IAMzB;AACJ;AAMO,MAAMG,2BAA2BH;IAGpC,YAAYI,OAA+B,CAAC,CAAC,CAAE;QAC3C,KAAK,CAAC;YACF,SAASA,KAAK,OAAO,IAAI;YACzBA;QACJ,SANc,IAAI,GAAG;IAOzB;AACJ;AAMO,MAAMC,wBAAwBL;IAGjC,YAAYM,IAAY,CAAE;QACtB,KAAK,CAAC;YACF,SAAS,CAAC,gBAAgB,EAAEA,KAAK,iBAAiB,CAAC;YACnD,MAAM;gBAAEA;YAAK;QACjB,SANc,IAAI,GAAG;IAOzB;AACJ;AAEO,MAAMC,qCAAqCP;IAG9C,aAAc;QACV,KAAK,CAAC;YACF,SAAS;QACb,SALc,IAAI,GAAG;IAMzB;AACJ;AAEO,MAAMQ,qCAAqCR;IAG9C,aAAc;QACV,KAAK,CAAC;YACF,SAAS;QACb,SALc,IAAI,GAAG;IAMzB;AACJ;AAEO,MAAMS,qCAAqCT;IAG9C,aAAc;QACV,KAAK,CAAC;YACF,SAAS;QACb,SALc,IAAI,GAAG;IAMzB;AACJ;AAEO,MAAMU,qCAAqCV;IAG9C,aAAc;QACV,KAAK,CAAC;YACF,SAAS;QACb,SALc,IAAI,GAAG;IAMzB;AACJ;AAMO,MAAMW,4BAA4BX;IAGrC,YAAYY,OAAe,CAAE;QACzB,KAAK,CAAC;YACFA;YACA,MAAM;gBAAEA;YAAQ;QACpB,SANc,IAAI,GAAG;IAOzB;AACJ"}
@@ -1,3 +0,0 @@
1
- export {};
2
-
3
- //# sourceMappingURL=types.js.map
@@ -1,99 +1,60 @@
1
1
  const FULL_ACCESS_PERMISSION_NAME = "*";
2
- export class AppPermissions {
3
- constructor({
4
- getIdentity,
5
- getPermissions,
6
- fullAccessPermissionName
7
- }) {
8
- this.getIdentity = getIdentity;
9
- this.getPermissions = getPermissions;
10
- this.fullAccessPermissions = [FULL_ACCESS_PERMISSION_NAME, fullAccessPermissionName || ""].filter(Boolean);
11
- }
12
- async ensure(params = {}) {
13
- if (await this.hasFullAccess()) {
14
- return true;
2
+ class AppPermissions {
3
+ constructor({ getIdentity, getPermissions, fullAccessPermissionName }){
4
+ this.getIdentity = getIdentity;
5
+ this.getPermissions = getPermissions;
6
+ this.fullAccessPermissions = [
7
+ FULL_ACCESS_PERMISSION_NAME,
8
+ fullAccessPermissionName || ""
9
+ ].filter(Boolean);
15
10
  }
16
- if (params.owns) {
17
- if (await this.canAccessNonOwnedRecords()) {
18
- return true;
19
- }
20
-
21
- // If we got here, that means we didn't encounter a permission object
22
- // that gives us the ability to access non-owned records.
23
- const identity = await this.getIdentity();
24
- if (identity.id === params.owns.id) {
25
- return true;
26
- }
27
- return false;
11
+ async ensure(params = {}) {
12
+ if (await this.hasFullAccess()) return true;
13
+ if (params.owns) {
14
+ if (await this.canAccessNonOwnedRecords()) return true;
15
+ const identity = await this.getIdentity();
16
+ if (identity.id === params.owns.id) return true;
17
+ return false;
18
+ }
19
+ const permissions = await this.getPermissions();
20
+ const hasPermission = permissions.some((current)=>{
21
+ if (params.rwd && !this.hasRwd(current, params.rwd)) return false;
22
+ if (params.pw && !this.hasPw(current, params.pw)) return false;
23
+ return true;
24
+ });
25
+ return hasPermission;
28
26
  }
29
- const permissions = await this.getPermissions();
30
- const hasPermission = permissions.some(current => {
31
- if (params.rwd && !this.hasRwd(current, params.rwd)) {
32
- return false;
33
- }
34
- if (params.pw && !this.hasPw(current, params.pw)) {
35
- return false;
36
- }
37
- return true;
38
- });
39
- return hasPermission;
40
- }
41
- async hasFullAccess() {
42
- const permissions = await this.getPermissions();
43
- return permissions.some(p => this.fullAccessPermissions.filter(Boolean).includes(p.name));
44
- }
45
- async canAccessNonOwnedRecords() {
46
- // First pass - check if we have full access.
47
- if (await this.hasFullAccess()) {
48
- return true;
27
+ async hasFullAccess() {
28
+ const permissions = await this.getPermissions();
29
+ return permissions.some((p)=>this.fullAccessPermissions.filter(Boolean).includes(p.name));
49
30
  }
50
-
51
- // Second pass - if there's at least one permission that doesn't
52
- // prevent us from accessing non-owned records, then we grant access.
53
- const permissions = await this.getPermissions();
54
- return permissions.some(p => !p.own);
55
- }
56
- async canAccessOnlyOwnRecords() {
57
- // First pass - check if we have full access to Page Builder.
58
- if (await this.hasFullAccess()) {
59
- return false;
31
+ async canAccessNonOwnedRecords() {
32
+ if (await this.hasFullAccess()) return true;
33
+ const permissions = await this.getPermissions();
34
+ return permissions.some((p)=>!p.own);
60
35
  }
61
-
62
- // Second pass - if there's at least one permission that doesn't
63
- // prevent us from accessing non-owned records, then we grant access.
64
- const permissions = await this.getPermissions();
65
- return !permissions.some(p => !p.own);
66
- }
67
- hasRwd(permission, rwd) {
68
- return typeof permission.rwd !== "string" || permission.rwd.includes(rwd);
69
- }
70
-
71
- // Has publishing workflow permissions?
72
- hasPw(permission, pw) {
73
- // `name` and `_src` properties are always present.
74
- const permissionWithoutSystemProperties = this.filterOutSystemPermissionsObjectProperties(permission);
75
- const isCustom = Object.keys(permissionWithoutSystemProperties).length > 0;
76
- if (!isCustom) {
77
- // Means it's a "full-access" permission.
78
- return true;
36
+ async canAccessOnlyOwnRecords() {
37
+ if (await this.hasFullAccess()) return false;
38
+ const permissions = await this.getPermissions();
39
+ return !permissions.some((p)=>!p.own);
79
40
  }
80
- if (typeof permission["pw"] !== "string") {
81
- return false;
41
+ hasRwd(permission, rwd) {
42
+ return "string" != typeof permission.rwd || permission.rwd.includes(rwd);
43
+ }
44
+ hasPw(permission, pw) {
45
+ const permissionWithoutSystemProperties = this.filterOutSystemPermissionsObjectProperties(permission);
46
+ const isCustom = Object.keys(permissionWithoutSystemProperties).length > 0;
47
+ if (!isCustom) return true;
48
+ if ("string" != typeof permission["pw"]) return false;
49
+ return permission["pw"].includes(pw);
50
+ }
51
+ filterOutSystemPermissionsObjectProperties(permission) {
52
+ return Object.keys(permission).reduce((acc, key)=>{
53
+ if ("name" !== key && "_src" !== key) acc[key] = permission[key];
54
+ return acc;
55
+ }, {});
82
56
  }
83
- return permission["pw"].includes(pw);
84
- }
85
-
86
- /**
87
- * Filters out base `name` and `_src` properties from the permission object.
88
- */
89
- filterOutSystemPermissionsObjectProperties(permission) {
90
- return Object.keys(permission).reduce((acc, key) => {
91
- if (key !== "name" && key !== "_src") {
92
- acc[key] = permission[key];
93
- }
94
- return acc;
95
- }, {});
96
- }
97
57
  }
58
+ export { AppPermissions };
98
59
 
99
60
  //# sourceMappingURL=AppPermissions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["FULL_ACCESS_PERMISSION_NAME","AppPermissions","constructor","getIdentity","getPermissions","fullAccessPermissionName","fullAccessPermissions","filter","Boolean","ensure","params","hasFullAccess","owns","canAccessNonOwnedRecords","identity","id","permissions","hasPermission","some","current","rwd","hasRwd","pw","hasPw","p","includes","name","own","canAccessOnlyOwnRecords","permission","permissionWithoutSystemProperties","filterOutSystemPermissionsObjectProperties","isCustom","Object","keys","length","reduce","acc","key"],"sources":["AppPermissions.ts"],"sourcesContent":["import type { SecurityPermission, SecurityIdentity, CreatedBy } from \"~/types/security.js\";\n\nconst FULL_ACCESS_PERMISSION_NAME = \"*\";\n\nexport interface AppPermissionsParams<TPermission extends SecurityPermission = SecurityPermission> {\n getIdentity: () => SecurityIdentity | Promise<SecurityIdentity>;\n getPermissions: () => TPermission[] | Promise<TPermission[]>;\n fullAccessPermissionName?: string;\n}\n\nexport type EnsureParams = Partial<{\n rwd: string;\n pw: string;\n owns: CreatedBy;\n}>;\n\nexport class AppPermissions<TPermission extends SecurityPermission = SecurityPermission> {\n getIdentity: () => SecurityIdentity | Promise<SecurityIdentity>;\n getPermissions: () => TPermission[] | Promise<TPermission[]>;\n private fullAccessPermissions: string[];\n\n constructor({\n getIdentity,\n getPermissions,\n fullAccessPermissionName\n }: AppPermissionsParams<TPermission>) {\n this.getIdentity = getIdentity;\n this.getPermissions = getPermissions;\n this.fullAccessPermissions = [\n FULL_ACCESS_PERMISSION_NAME,\n fullAccessPermissionName || \"\"\n ].filter(Boolean);\n }\n\n async ensure(params: EnsureParams = {}): Promise<boolean> {\n if (await this.hasFullAccess()) {\n return true;\n }\n\n if (params.owns) {\n if (await this.canAccessNonOwnedRecords()) {\n return true;\n }\n\n // If we got here, that means we didn't encounter a permission object\n // that gives us the ability to access non-owned records.\n const identity = await this.getIdentity();\n if (identity.id === params.owns.id) {\n return true;\n }\n\n return false;\n }\n\n const permissions = await this.getPermissions();\n const hasPermission = permissions.some(current => {\n if (params.rwd && !this.hasRwd(current, params.rwd)) {\n return false;\n }\n\n if (params.pw && !this.hasPw(current, params.pw)) {\n return false;\n }\n\n return true;\n });\n\n return hasPermission;\n }\n\n async hasFullAccess() {\n const permissions = await this.getPermissions();\n return permissions.some(p => this.fullAccessPermissions.filter(Boolean).includes(p.name));\n }\n\n async canAccessNonOwnedRecords() {\n // First pass - check if we have full access.\n if (await this.hasFullAccess()) {\n return true;\n }\n\n // Second pass - if there's at least one permission that doesn't\n // prevent us from accessing non-owned records, then we grant access.\n const permissions = await this.getPermissions();\n return permissions.some(p => !p.own);\n }\n\n async canAccessOnlyOwnRecords() {\n // First pass - check if we have full access to Page Builder.\n if (await this.hasFullAccess()) {\n return false;\n }\n\n // Second pass - if there's at least one permission that doesn't\n // prevent us from accessing non-owned records, then we grant access.\n const permissions = await this.getPermissions();\n return !permissions.some(p => !p.own);\n }\n\n private hasRwd(permission: TPermission, rwd: string) {\n return typeof permission.rwd !== \"string\" || permission.rwd.includes(rwd);\n }\n\n // Has publishing workflow permissions?\n private hasPw(permission: TPermission, pw: string) {\n // `name` and `_src` properties are always present.\n const permissionWithoutSystemProperties =\n this.filterOutSystemPermissionsObjectProperties(permission);\n\n const isCustom = Object.keys(permissionWithoutSystemProperties).length > 0;\n\n if (!isCustom) {\n // Means it's a \"full-access\" permission.\n return true;\n }\n\n if (typeof permission[\"pw\"] !== \"string\") {\n return false;\n }\n\n return permission[\"pw\"].includes(pw);\n }\n\n /**\n * Filters out base `name` and `_src` properties from the permission object.\n */\n private filterOutSystemPermissionsObjectProperties(permission: SecurityPermission) {\n return Object.keys(permission).reduce(\n (acc, key) => {\n if (key !== \"name\" && key !== \"_src\") {\n acc[key] = permission[key];\n }\n return acc;\n },\n {} as Record<string, any>\n );\n }\n}\n"],"mappings":"AAEA,MAAMA,2BAA2B,GAAG,GAAG;AAcvC,OAAO,MAAMC,cAAc,CAA8D;EAKrFC,WAAWA,CAAC;IACRC,WAAW;IACXC,cAAc;IACdC;EAC+B,CAAC,EAAE;IAClC,IAAI,CAACF,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACC,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACE,qBAAqB,GAAG,CACzBN,2BAA2B,EAC3BK,wBAAwB,IAAI,EAAE,CACjC,CAACE,MAAM,CAACC,OAAO,CAAC;EACrB;EAEA,MAAMC,MAAMA,CAACC,MAAoB,GAAG,CAAC,CAAC,EAAoB;IACtD,IAAI,MAAM,IAAI,CAACC,aAAa,CAAC,CAAC,EAAE;MAC5B,OAAO,IAAI;IACf;IAEA,IAAID,MAAM,CAACE,IAAI,EAAE;MACb,IAAI,MAAM,IAAI,CAACC,wBAAwB,CAAC,CAAC,EAAE;QACvC,OAAO,IAAI;MACf;;MAEA;MACA;MACA,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACX,WAAW,CAAC,CAAC;MACzC,IAAIW,QAAQ,CAACC,EAAE,KAAKL,MAAM,CAACE,IAAI,CAACG,EAAE,EAAE;QAChC,OAAO,IAAI;MACf;MAEA,OAAO,KAAK;IAChB;IAEA,MAAMC,WAAW,GAAG,MAAM,IAAI,CAACZ,cAAc,CAAC,CAAC;IAC/C,MAAMa,aAAa,GAAGD,WAAW,CAACE,IAAI,CAACC,OAAO,IAAI;MAC9C,IAAIT,MAAM,CAACU,GAAG,IAAI,CAAC,IAAI,CAACC,MAAM,CAACF,OAAO,EAAET,MAAM,CAACU,GAAG,CAAC,EAAE;QACjD,OAAO,KAAK;MAChB;MAEA,IAAIV,MAAM,CAACY,EAAE,IAAI,CAAC,IAAI,CAACC,KAAK,CAACJ,OAAO,EAAET,MAAM,CAACY,EAAE,CAAC,EAAE;QAC9C,OAAO,KAAK;MAChB;MAEA,OAAO,IAAI;IACf,CAAC,CAAC;IAEF,OAAOL,aAAa;EACxB;EAEA,MAAMN,aAAaA,CAAA,EAAG;IAClB,MAAMK,WAAW,GAAG,MAAM,IAAI,CAACZ,cAAc,CAAC,CAAC;IAC/C,OAAOY,WAAW,CAACE,IAAI,CAACM,CAAC,IAAI,IAAI,CAAClB,qBAAqB,CAACC,MAAM,CAACC,OAAO,CAAC,CAACiB,QAAQ,CAACD,CAAC,CAACE,IAAI,CAAC,CAAC;EAC7F;EAEA,MAAMb,wBAAwBA,CAAA,EAAG;IAC7B;IACA,IAAI,MAAM,IAAI,CAACF,aAAa,CAAC,CAAC,EAAE;MAC5B,OAAO,IAAI;IACf;;IAEA;IACA;IACA,MAAMK,WAAW,GAAG,MAAM,IAAI,CAACZ,cAAc,CAAC,CAAC;IAC/C,OAAOY,WAAW,CAACE,IAAI,CAACM,CAAC,IAAI,CAACA,CAAC,CAACG,GAAG,CAAC;EACxC;EAEA,MAAMC,uBAAuBA,CAAA,EAAG;IAC5B;IACA,IAAI,MAAM,IAAI,CAACjB,aAAa,CAAC,CAAC,EAAE;MAC5B,OAAO,KAAK;IAChB;;IAEA;IACA;IACA,MAAMK,WAAW,GAAG,MAAM,IAAI,CAACZ,cAAc,CAAC,CAAC;IAC/C,OAAO,CAACY,WAAW,CAACE,IAAI,CAACM,CAAC,IAAI,CAACA,CAAC,CAACG,GAAG,CAAC;EACzC;EAEQN,MAAMA,CAACQ,UAAuB,EAAET,GAAW,EAAE;IACjD,OAAO,OAAOS,UAAU,CAACT,GAAG,KAAK,QAAQ,IAAIS,UAAU,CAACT,GAAG,CAACK,QAAQ,CAACL,GAAG,CAAC;EAC7E;;EAEA;EACQG,KAAKA,CAACM,UAAuB,EAAEP,EAAU,EAAE;IAC/C;IACA,MAAMQ,iCAAiC,GACnC,IAAI,CAACC,0CAA0C,CAACF,UAAU,CAAC;IAE/D,MAAMG,QAAQ,GAAGC,MAAM,CAACC,IAAI,CAACJ,iCAAiC,CAAC,CAACK,MAAM,GAAG,CAAC;IAE1E,IAAI,CAACH,QAAQ,EAAE;MACX;MACA,OAAO,IAAI;IACf;IAEA,IAAI,OAAOH,UAAU,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE;MACtC,OAAO,KAAK;IAChB;IAEA,OAAOA,UAAU,CAAC,IAAI,CAAC,CAACJ,QAAQ,CAACH,EAAE,CAAC;EACxC;;EAEA;AACJ;AACA;EACYS,0CAA0CA,CAACF,UAA8B,EAAE;IAC/E,OAAOI,MAAM,CAACC,IAAI,CAACL,UAAU,CAAC,CAACO,MAAM,CACjC,CAACC,GAAG,EAAEC,GAAG,KAAK;MACV,IAAIA,GAAG,KAAK,MAAM,IAAIA,GAAG,KAAK,MAAM,EAAE;QAClCD,GAAG,CAACC,GAAG,CAAC,GAAGT,UAAU,CAACS,GAAG,CAAC;MAC9B;MACA,OAAOD,GAAG;IACd,CAAC,EACD,CAAC,CACL,CAAC;EACL;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"features/security/utils/AppPermissions.js","sources":["../../../../src/features/security/utils/AppPermissions.ts"],"sourcesContent":["import type { SecurityPermission, SecurityIdentity, CreatedBy } from \"~/types/security.js\";\n\nconst FULL_ACCESS_PERMISSION_NAME = \"*\";\n\nexport interface AppPermissionsParams<TPermission extends SecurityPermission = SecurityPermission> {\n getIdentity: () => SecurityIdentity | Promise<SecurityIdentity>;\n getPermissions: () => TPermission[] | Promise<TPermission[]>;\n fullAccessPermissionName?: string;\n}\n\nexport type EnsureParams = Partial<{\n rwd: string;\n pw: string;\n owns: CreatedBy;\n}>;\n\nexport class AppPermissions<TPermission extends SecurityPermission = SecurityPermission> {\n getIdentity: () => SecurityIdentity | Promise<SecurityIdentity>;\n getPermissions: () => TPermission[] | Promise<TPermission[]>;\n private fullAccessPermissions: string[];\n\n constructor({\n getIdentity,\n getPermissions,\n fullAccessPermissionName\n }: AppPermissionsParams<TPermission>) {\n this.getIdentity = getIdentity;\n this.getPermissions = getPermissions;\n this.fullAccessPermissions = [\n FULL_ACCESS_PERMISSION_NAME,\n fullAccessPermissionName || \"\"\n ].filter(Boolean);\n }\n\n async ensure(params: EnsureParams = {}): Promise<boolean> {\n if (await this.hasFullAccess()) {\n return true;\n }\n\n if (params.owns) {\n if (await this.canAccessNonOwnedRecords()) {\n return true;\n }\n\n // If we got here, that means we didn't encounter a permission object\n // that gives us the ability to access non-owned records.\n const identity = await this.getIdentity();\n if (identity.id === params.owns.id) {\n return true;\n }\n\n return false;\n }\n\n const permissions = await this.getPermissions();\n const hasPermission = permissions.some(current => {\n if (params.rwd && !this.hasRwd(current, params.rwd)) {\n return false;\n }\n\n if (params.pw && !this.hasPw(current, params.pw)) {\n return false;\n }\n\n return true;\n });\n\n return hasPermission;\n }\n\n async hasFullAccess() {\n const permissions = await this.getPermissions();\n return permissions.some(p => this.fullAccessPermissions.filter(Boolean).includes(p.name));\n }\n\n async canAccessNonOwnedRecords() {\n // First pass - check if we have full access.\n if (await this.hasFullAccess()) {\n return true;\n }\n\n // Second pass - if there's at least one permission that doesn't\n // prevent us from accessing non-owned records, then we grant access.\n const permissions = await this.getPermissions();\n return permissions.some(p => !p.own);\n }\n\n async canAccessOnlyOwnRecords() {\n // First pass - check if we have full access to Page Builder.\n if (await this.hasFullAccess()) {\n return false;\n }\n\n // Second pass - if there's at least one permission that doesn't\n // prevent us from accessing non-owned records, then we grant access.\n const permissions = await this.getPermissions();\n return !permissions.some(p => !p.own);\n }\n\n private hasRwd(permission: TPermission, rwd: string) {\n return typeof permission.rwd !== \"string\" || permission.rwd.includes(rwd);\n }\n\n // Has publishing workflow permissions?\n private hasPw(permission: TPermission, pw: string) {\n // `name` and `_src` properties are always present.\n const permissionWithoutSystemProperties =\n this.filterOutSystemPermissionsObjectProperties(permission);\n\n const isCustom = Object.keys(permissionWithoutSystemProperties).length > 0;\n\n if (!isCustom) {\n // Means it's a \"full-access\" permission.\n return true;\n }\n\n if (typeof permission[\"pw\"] !== \"string\") {\n return false;\n }\n\n return permission[\"pw\"].includes(pw);\n }\n\n /**\n * Filters out base `name` and `_src` properties from the permission object.\n */\n private filterOutSystemPermissionsObjectProperties(permission: SecurityPermission) {\n return Object.keys(permission).reduce(\n (acc, key) => {\n if (key !== \"name\" && key !== \"_src\") {\n acc[key] = permission[key];\n }\n return acc;\n },\n {} as Record<string, any>\n );\n }\n}\n"],"names":["FULL_ACCESS_PERMISSION_NAME","AppPermissions","getIdentity","getPermissions","fullAccessPermissionName","Boolean","params","identity","permissions","hasPermission","current","p","permission","rwd","pw","permissionWithoutSystemProperties","isCustom","Object","acc","key"],"mappings":"AAEA,MAAMA,8BAA8B;AAc7B,MAAMC;IAKT,YAAY,EACRC,WAAW,EACXC,cAAc,EACdC,wBAAwB,EACQ,CAAE;QAClC,IAAI,CAAC,WAAW,GAAGF;QACnB,IAAI,CAAC,cAAc,GAAGC;QACtB,IAAI,CAAC,qBAAqB,GAAG;YACzBH;YACAI,4BAA4B;SAC/B,CAAC,MAAM,CAACC;IACb;IAEA,MAAM,OAAOC,SAAuB,CAAC,CAAC,EAAoB;QACtD,IAAI,MAAM,IAAI,CAAC,aAAa,IACxB,OAAO;QAGX,IAAIA,OAAO,IAAI,EAAE;YACb,IAAI,MAAM,IAAI,CAAC,wBAAwB,IACnC,OAAO;YAKX,MAAMC,WAAW,MAAM,IAAI,CAAC,WAAW;YACvC,IAAIA,SAAS,EAAE,KAAKD,OAAO,IAAI,CAAC,EAAE,EAC9B,OAAO;YAGX,OAAO;QACX;QAEA,MAAME,cAAc,MAAM,IAAI,CAAC,cAAc;QAC7C,MAAMC,gBAAgBD,YAAY,IAAI,CAACE,CAAAA;YACnC,IAAIJ,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAACI,SAASJ,OAAO,GAAG,GAC9C,OAAO;YAGX,IAAIA,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAACI,SAASJ,OAAO,EAAE,GAC3C,OAAO;YAGX,OAAO;QACX;QAEA,OAAOG;IACX;IAEA,MAAM,gBAAgB;QAClB,MAAMD,cAAc,MAAM,IAAI,CAAC,cAAc;QAC7C,OAAOA,YAAY,IAAI,CAACG,CAAAA,IAAK,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAACN,SAAS,QAAQ,CAACM,EAAE,IAAI;IAC3F;IAEA,MAAM,2BAA2B;QAE7B,IAAI,MAAM,IAAI,CAAC,aAAa,IACxB,OAAO;QAKX,MAAMH,cAAc,MAAM,IAAI,CAAC,cAAc;QAC7C,OAAOA,YAAY,IAAI,CAACG,CAAAA,IAAK,CAACA,EAAE,GAAG;IACvC;IAEA,MAAM,0BAA0B;QAE5B,IAAI,MAAM,IAAI,CAAC,aAAa,IACxB,OAAO;QAKX,MAAMH,cAAc,MAAM,IAAI,CAAC,cAAc;QAC7C,OAAO,CAACA,YAAY,IAAI,CAACG,CAAAA,IAAK,CAACA,EAAE,GAAG;IACxC;IAEQ,OAAOC,UAAuB,EAAEC,GAAW,EAAE;QACjD,OAAO,AAA0B,YAA1B,OAAOD,WAAW,GAAG,IAAiBA,WAAW,GAAG,CAAC,QAAQ,CAACC;IACzE;IAGQ,MAAMD,UAAuB,EAAEE,EAAU,EAAE;QAE/C,MAAMC,oCACF,IAAI,CAAC,0CAA0C,CAACH;QAEpD,MAAMI,WAAWC,OAAO,IAAI,CAACF,mCAAmC,MAAM,GAAG;QAEzE,IAAI,CAACC,UAED,OAAO;QAGX,IAAI,AAA4B,YAA5B,OAAOJ,UAAU,CAAC,KAAK,EACvB,OAAO;QAGX,OAAOA,UAAU,CAAC,KAAK,CAAC,QAAQ,CAACE;IACrC;IAKQ,2CAA2CF,UAA8B,EAAE;QAC/E,OAAOK,OAAO,IAAI,CAACL,YAAY,MAAM,CACjC,CAACM,KAAKC;YACF,IAAIA,AAAQ,WAARA,OAAkBA,AAAQ,WAARA,KAClBD,GAAG,CAACC,IAAI,GAAGP,UAAU,CAACO,IAAI;YAE9B,OAAOD;QACX,GACA,CAAC;IAET;AACJ"}
@@ -1,27 +1,24 @@
1
- export class IdentityValue {
2
- constructor(value) {
3
- this.value = value;
4
- }
5
- static create(identity) {
6
- return new IdentityValue(identity);
7
- }
8
- getValue() {
9
- if (!this.value) {
10
- return null;
1
+ class IdentityValue {
2
+ constructor(value){
3
+ this.value = value;
11
4
  }
12
- return {
13
- id: this.value.id,
14
- displayName: this.value.displayName,
15
- type: this.value.type
16
- };
17
- }
18
- getValueOrFallback(fallback) {
19
- const value = this.getValue();
20
- if (value) {
21
- return value;
5
+ static create(identity) {
6
+ return new IdentityValue(identity);
7
+ }
8
+ getValue() {
9
+ if (!this.value) return null;
10
+ return {
11
+ id: this.value.id,
12
+ displayName: this.value.displayName,
13
+ type: this.value.type
14
+ };
15
+ }
16
+ getValueOrFallback(fallback) {
17
+ const value = this.getValue();
18
+ if (value) return value;
19
+ return IdentityValue.create(fallback).getValue();
22
20
  }
23
- return IdentityValue.create(fallback).getValue();
24
- }
25
21
  }
22
+ export { IdentityValue };
26
23
 
27
24
  //# sourceMappingURL=IdentityValue.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["IdentityValue","constructor","value","create","identity","getValue","id","displayName","type","getValueOrFallback","fallback"],"sources":["IdentityValue.ts"],"sourcesContent":["import type { SecurityIdentity } from \"~/types/security.js\";\n\ntype IdentityInput = SecurityIdentity | null | undefined;\n\nexport class IdentityValue {\n private readonly value: IdentityInput;\n\n private constructor(value: IdentityInput) {\n this.value = value;\n }\n\n static create(identity: IdentityInput) {\n return new IdentityValue(identity);\n }\n\n getValue() {\n if (!this.value) {\n return null;\n }\n\n return {\n id: this.value.id,\n displayName: this.value.displayName,\n type: this.value.type\n };\n }\n\n getValueOrFallback(fallback: IdentityInput) {\n const value = this.getValue();\n\n if (value) {\n return value;\n }\n\n return IdentityValue.create(fallback).getValue();\n }\n}\n"],"mappings":"AAIA,OAAO,MAAMA,aAAa,CAAC;EAGfC,WAAWA,CAACC,KAAoB,EAAE;IACtC,IAAI,CAACA,KAAK,GAAGA,KAAK;EACtB;EAEA,OAAOC,MAAMA,CAACC,QAAuB,EAAE;IACnC,OAAO,IAAIJ,aAAa,CAACI,QAAQ,CAAC;EACtC;EAEAC,QAAQA,CAAA,EAAG;IACP,IAAI,CAAC,IAAI,CAACH,KAAK,EAAE;MACb,OAAO,IAAI;IACf;IAEA,OAAO;MACHI,EAAE,EAAE,IAAI,CAACJ,KAAK,CAACI,EAAE;MACjBC,WAAW,EAAE,IAAI,CAACL,KAAK,CAACK,WAAW;MACnCC,IAAI,EAAE,IAAI,CAACN,KAAK,CAACM;IACrB,CAAC;EACL;EAEAC,kBAAkBA,CAACC,QAAuB,EAAE;IACxC,MAAMR,KAAK,GAAG,IAAI,CAACG,QAAQ,CAAC,CAAC;IAE7B,IAAIH,KAAK,EAAE;MACP,OAAOA,KAAK;IAChB;IAEA,OAAOF,aAAa,CAACG,MAAM,CAACO,QAAQ,CAAC,CAACL,QAAQ,CAAC,CAAC;EACpD;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"features/security/utils/IdentityValue.js","sources":["../../../../src/features/security/utils/IdentityValue.ts"],"sourcesContent":["import type { SecurityIdentity } from \"~/types/security.js\";\n\ntype IdentityInput = SecurityIdentity | null | undefined;\n\nexport class IdentityValue {\n private readonly value: IdentityInput;\n\n private constructor(value: IdentityInput) {\n this.value = value;\n }\n\n static create(identity: IdentityInput) {\n return new IdentityValue(identity);\n }\n\n getValue() {\n if (!this.value) {\n return null;\n }\n\n return {\n id: this.value.id,\n displayName: this.value.displayName,\n type: this.value.type\n };\n }\n\n getValueOrFallback(fallback: IdentityInput) {\n const value = this.getValue();\n\n if (value) {\n return value;\n }\n\n return IdentityValue.create(fallback).getValue();\n }\n}\n"],"names":["IdentityValue","value","identity","fallback"],"mappings":"AAIO,MAAMA;IAGT,YAAoBC,KAAoB,CAAE;QACtC,IAAI,CAAC,KAAK,GAAGA;IACjB;IAEA,OAAO,OAAOC,QAAuB,EAAE;QACnC,OAAO,IAAIF,cAAcE;IAC7B;IAEA,WAAW;QACP,IAAI,CAAC,IAAI,CAAC,KAAK,EACX,OAAO;QAGX,OAAO;YACH,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE;YACjB,aAAa,IAAI,CAAC,KAAK,CAAC,WAAW;YACnC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI;QACzB;IACJ;IAEA,mBAAmBC,QAAuB,EAAE;QACxC,MAAMF,QAAQ,IAAI,CAAC,QAAQ;QAE3B,IAAIA,OACA,OAAOA;QAGX,OAAOD,cAAc,MAAM,CAACG,UAAU,QAAQ;IAClD;AACJ"}
@@ -1,29 +1,26 @@
1
- const WBY_APPS_PERMISSIONS_PREFIXES = ["pb", "fb", "fm", "cms", "security", "adminUsers", "i18n"];
2
- export const filterOutCustomWbyAppsPermissions = permissions => {
3
- return permissions.filter(permission => {
4
- // Just in case, if the `name` property is missing, we don't omit the permission.
5
- if (!permission.name) {
6
- return true;
7
- }
8
- let isWbyAppPermission = false,
9
- wbyAppPermissionPrefix = "";
10
- for (let i = 0; i < WBY_APPS_PERMISSIONS_PREFIXES.length; i++) {
11
- const prefix = WBY_APPS_PERMISSIONS_PREFIXES[i];
12
- if (permission.name.startsWith(`${prefix}.`)) {
13
- isWbyAppPermission = true;
14
- wbyAppPermissionPrefix = prefix;
15
- break;
16
- }
17
- }
18
-
19
- // Not a Webiny app permission? Then don't omit the permission.
20
- if (!isWbyAppPermission) {
21
- return true;
22
- }
23
-
24
- // Only allow full access (`${wbyAppPermissionPrefix}.*`) permissions.
25
- return permission.name === `${wbyAppPermissionPrefix}.*`;
26
- });
27
- };
1
+ const WBY_APPS_PERMISSIONS_PREFIXES = [
2
+ "pb",
3
+ "fb",
4
+ "fm",
5
+ "cms",
6
+ "security",
7
+ "adminUsers",
8
+ "i18n"
9
+ ];
10
+ const filterOutCustomWbyAppsPermissions = (permissions)=>permissions.filter((permission)=>{
11
+ if (!permission.name) return true;
12
+ let isWbyAppPermission = false, wbyAppPermissionPrefix = "";
13
+ for(let i = 0; i < WBY_APPS_PERMISSIONS_PREFIXES.length; i++){
14
+ const prefix = WBY_APPS_PERMISSIONS_PREFIXES[i];
15
+ if (permission.name.startsWith(`${prefix}.`)) {
16
+ isWbyAppPermission = true;
17
+ wbyAppPermissionPrefix = prefix;
18
+ break;
19
+ }
20
+ }
21
+ if (!isWbyAppPermission) return true;
22
+ return permission.name === `${wbyAppPermissionPrefix}.*`;
23
+ });
24
+ export { filterOutCustomWbyAppsPermissions };
28
25
 
29
26
  //# sourceMappingURL=filterOutCustomWbyAppsPermissions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["WBY_APPS_PERMISSIONS_PREFIXES","filterOutCustomWbyAppsPermissions","permissions","filter","permission","name","isWbyAppPermission","wbyAppPermissionPrefix","i","length","prefix","startsWith"],"sources":["filterOutCustomWbyAppsPermissions.ts"],"sourcesContent":["import type { SecurityPermission } from \"~/types/security.js\";\n\nconst WBY_APPS_PERMISSIONS_PREFIXES = [\"pb\", \"fb\", \"fm\", \"cms\", \"security\", \"adminUsers\", \"i18n\"];\n\nexport const filterOutCustomWbyAppsPermissions = (permissions: SecurityPermission[]) => {\n return permissions.filter(permission => {\n // Just in case, if the `name` property is missing, we don't omit the permission.\n if (!permission.name) {\n return true;\n }\n\n let isWbyAppPermission = false,\n wbyAppPermissionPrefix = \"\";\n for (let i = 0; i < WBY_APPS_PERMISSIONS_PREFIXES.length; i++) {\n const prefix = WBY_APPS_PERMISSIONS_PREFIXES[i];\n if (permission.name.startsWith(`${prefix}.`)) {\n isWbyAppPermission = true;\n wbyAppPermissionPrefix = prefix;\n break;\n }\n }\n\n // Not a Webiny app permission? Then don't omit the permission.\n if (!isWbyAppPermission) {\n return true;\n }\n\n // Only allow full access (`${wbyAppPermissionPrefix}.*`) permissions.\n return permission.name === `${wbyAppPermissionPrefix}.*`;\n });\n};\n"],"mappings":"AAEA,MAAMA,6BAA6B,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC;AAEjG,OAAO,MAAMC,iCAAiC,GAAIC,WAAiC,IAAK;EACpF,OAAOA,WAAW,CAACC,MAAM,CAACC,UAAU,IAAI;IACpC;IACA,IAAI,CAACA,UAAU,CAACC,IAAI,EAAE;MAClB,OAAO,IAAI;IACf;IAEA,IAAIC,kBAAkB,GAAG,KAAK;MAC1BC,sBAAsB,GAAG,EAAE;IAC/B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGR,6BAA6B,CAACS,MAAM,EAAED,CAAC,EAAE,EAAE;MAC3D,MAAME,MAAM,GAAGV,6BAA6B,CAACQ,CAAC,CAAC;MAC/C,IAAIJ,UAAU,CAACC,IAAI,CAACM,UAAU,CAAC,GAAGD,MAAM,GAAG,CAAC,EAAE;QAC1CJ,kBAAkB,GAAG,IAAI;QACzBC,sBAAsB,GAAGG,MAAM;QAC/B;MACJ;IACJ;;IAEA;IACA,IAAI,CAACJ,kBAAkB,EAAE;MACrB,OAAO,IAAI;IACf;;IAEA;IACA,OAAOF,UAAU,CAACC,IAAI,KAAK,GAAGE,sBAAsB,IAAI;EAC5D,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/utils/filterOutCustomWbyAppsPermissions.js","sources":["../../../../src/features/security/utils/filterOutCustomWbyAppsPermissions.ts"],"sourcesContent":["import type { SecurityPermission } from \"~/types/security.js\";\n\nconst WBY_APPS_PERMISSIONS_PREFIXES = [\"pb\", \"fb\", \"fm\", \"cms\", \"security\", \"adminUsers\", \"i18n\"];\n\nexport const filterOutCustomWbyAppsPermissions = (permissions: SecurityPermission[]) => {\n return permissions.filter(permission => {\n // Just in case, if the `name` property is missing, we don't omit the permission.\n if (!permission.name) {\n return true;\n }\n\n let isWbyAppPermission = false,\n wbyAppPermissionPrefix = \"\";\n for (let i = 0; i < WBY_APPS_PERMISSIONS_PREFIXES.length; i++) {\n const prefix = WBY_APPS_PERMISSIONS_PREFIXES[i];\n if (permission.name.startsWith(`${prefix}.`)) {\n isWbyAppPermission = true;\n wbyAppPermissionPrefix = prefix;\n break;\n }\n }\n\n // Not a Webiny app permission? Then don't omit the permission.\n if (!isWbyAppPermission) {\n return true;\n }\n\n // Only allow full access (`${wbyAppPermissionPrefix}.*`) permissions.\n return permission.name === `${wbyAppPermissionPrefix}.*`;\n });\n};\n"],"names":["WBY_APPS_PERMISSIONS_PREFIXES","filterOutCustomWbyAppsPermissions","permissions","permission","isWbyAppPermission","wbyAppPermissionPrefix","i","prefix"],"mappings":"AAEA,MAAMA,gCAAgC;IAAC;IAAM;IAAM;IAAM;IAAO;IAAY;IAAc;CAAO;AAE1F,MAAMC,oCAAoC,CAACC,cACvCA,YAAY,MAAM,CAACC,CAAAA;QAEtB,IAAI,CAACA,WAAW,IAAI,EAChB,OAAO;QAGX,IAAIC,qBAAqB,OACrBC,yBAAyB;QAC7B,IAAK,IAAIC,IAAI,GAAGA,IAAIN,8BAA8B,MAAM,EAAEM,IAAK;YAC3D,MAAMC,SAASP,6BAA6B,CAACM,EAAE;YAC/C,IAAIH,WAAW,IAAI,CAAC,UAAU,CAAC,GAAGI,OAAO,CAAC,CAAC,GAAG;gBAC1CH,qBAAqB;gBACrBC,yBAAyBE;gBACzB;YACJ;QACJ;QAGA,IAAI,CAACH,oBACD,OAAO;QAIX,OAAOD,WAAW,IAAI,KAAK,GAAGE,uBAAuB,EAAE,CAAC;IAC5D"}
@@ -1,12 +1,7 @@
1
- // This filter was introduced when we added the `teams` feature and the ability to
2
- // have multiple security roles assigned to a user.
3
- export const getPermissionsFromRoles = securityGroups => {
4
- return securityGroups.flatMap(securityRole => securityRole.permissions.map(permission => {
5
- return {
6
- ...permission,
7
- _src: "role:" + securityRole.id
8
- };
9
- }));
10
- };
1
+ const getPermissionsFromRoles = (securityGroups)=>securityGroups.flatMap((securityRole)=>securityRole.permissions.map((permission)=>({
2
+ ...permission,
3
+ _src: "role:" + securityRole.id
4
+ })));
5
+ export { getPermissionsFromRoles };
11
6
 
12
7
  //# sourceMappingURL=getPermissionsFromRoles.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getPermissionsFromRoles","securityGroups","flatMap","securityRole","permissions","map","permission","_src","id"],"sources":["getPermissionsFromRoles.ts"],"sourcesContent":["import type { SecurityPermission } from \"~/types/security.js\";\n\n// This filter was introduced when we added the `teams` feature and the ability to\n// have multiple security roles assigned to a user.\nexport const getPermissionsFromRoles = (\n securityGroups: Array<{ permissions: SecurityPermission[]; id: string }>\n) => {\n return securityGroups.flatMap(securityRole =>\n securityRole.permissions.map(permission => {\n return {\n ...permission,\n _src: \"role:\" + securityRole.id\n };\n })\n );\n};\n"],"mappings":"AAEA;AACA;AACA,OAAO,MAAMA,uBAAuB,GAChCC,cAAwE,IACvE;EACD,OAAOA,cAAc,CAACC,OAAO,CAACC,YAAY,IACtCA,YAAY,CAACC,WAAW,CAACC,GAAG,CAACC,UAAU,IAAI;IACvC,OAAO;MACH,GAAGA,UAAU;MACbC,IAAI,EAAE,OAAO,GAAGJ,YAAY,CAACK;IACjC,CAAC;EACL,CAAC,CACL,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/utils/getPermissionsFromRoles.js","sources":["../../../../src/features/security/utils/getPermissionsFromRoles.ts"],"sourcesContent":["import type { SecurityPermission } from \"~/types/security.js\";\n\n// This filter was introduced when we added the `teams` feature and the ability to\n// have multiple security roles assigned to a user.\nexport const getPermissionsFromRoles = (\n securityGroups: Array<{ permissions: SecurityPermission[]; id: string }>\n) => {\n return securityGroups.flatMap(securityRole =>\n securityRole.permissions.map(permission => {\n return {\n ...permission,\n _src: \"role:\" + securityRole.id\n };\n })\n );\n};\n"],"names":["getPermissionsFromRoles","securityGroups","securityRole","permission"],"mappings":"AAIO,MAAMA,0BAA0B,CACnCC,iBAEOA,eAAe,OAAO,CAACC,CAAAA,eAC1BA,aAAa,WAAW,CAAC,GAAG,CAACC,CAAAA,aAClB;gBACH,GAAGA,UAAU;gBACb,MAAM,UAAUD,aAAa,EAAE;YACnC"}
@@ -1,3 +1,4 @@
1
- export const isJwt = token => token.split(".").length === 3;
1
+ const isJwt = (token)=>3 === token.split(".").length;
2
+ export { isJwt };
2
3
 
3
4
  //# sourceMappingURL=isJwt.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["isJwt","token","split","length"],"sources":["isJwt.ts"],"sourcesContent":["export const isJwt = (token: string) => token.split(\".\").length === 3;\n"],"mappings":"AAAA,OAAO,MAAMA,KAAK,GAAIC,KAAa,IAAKA,KAAK,CAACC,KAAK,CAAC,GAAG,CAAC,CAACC,MAAM,KAAK,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/utils/isJwt.js","sources":["../../../../src/features/security/utils/isJwt.ts"],"sourcesContent":["export const isJwt = (token: string) => token.split(\".\").length === 3;\n"],"names":["isJwt","token"],"mappings":"AAAO,MAAMA,QAAQ,CAACC,QAAkBA,AAA4B,MAA5BA,MAAM,KAAK,CAAC,KAAK,MAAM"}
@@ -1,8 +1,6 @@
1
1
  import jwt from "jsonwebtoken";
2
- export interface Jwk {
3
- kid: string;
4
- [key: string]: string;
5
- }
2
+ import { type JWK } from "jose";
3
+ export type Jwk = JWK;
6
4
  export type Jwt = {
7
5
  header: jwt.JwtHeader;
8
6
  payload: jwt.JwtPayload;
@@ -1,11 +1,10 @@
1
- import jwt from "jsonwebtoken";
2
- import { importJWK, exportSPKI } from "jose";
3
- export const verifyJwtUsingJwk = async (token, jwk) => {
4
- // Casting to `any` because `jose` v5 has some incompatibilities with types.
5
- // v6 works as expected, but we can't have v6 because it's ESM-only.
6
- const key = await importJWK(jwk);
7
- const pemKey = await exportSPKI(key);
8
- return jwt.verify(token, pemKey);
1
+ import jsonwebtoken from "jsonwebtoken";
2
+ import { exportSPKI, importJWK } from "jose";
3
+ const verifyJwtUsingJwk = async (token, jwk)=>{
4
+ const key = await importJWK(jwk);
5
+ const pemKey = await exportSPKI(key);
6
+ return jsonwebtoken.verify(token, pemKey);
9
7
  };
8
+ export { verifyJwtUsingJwk };
10
9
 
11
10
  //# sourceMappingURL=verifyJwtUsingJwk.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["jwt","importJWK","exportSPKI","verifyJwtUsingJwk","token","jwk","key","pemKey","verify"],"sources":["verifyJwtUsingJwk.ts"],"sourcesContent":["import jwt from \"jsonwebtoken\";\nimport { importJWK, exportSPKI } from \"jose\";\n\nexport interface Jwk {\n kid: string;\n [key: string]: string;\n}\n\nexport type Jwt = {\n header: jwt.JwtHeader;\n payload: jwt.JwtPayload;\n};\n\nexport const verifyJwtUsingJwk = async (token: string, jwk: Jwk) => {\n // Casting to `any` because `jose` v5 has some incompatibilities with types.\n // v6 works as expected, but we can't have v6 because it's ESM-only.\n const key = (await importJWK(jwk as any)) as CryptoKey;\n const pemKey = await exportSPKI(key);\n\n return jwt.verify(token, pemKey) as jwt.JwtPayload;\n};\n"],"mappings":"AAAA,OAAOA,GAAG,MAAM,cAAc;AAC9B,SAASC,SAAS,EAAEC,UAAU,QAAQ,MAAM;AAY5C,OAAO,MAAMC,iBAAiB,GAAG,MAAAA,CAAOC,KAAa,EAAEC,GAAQ,KAAK;EAChE;EACA;EACA,MAAMC,GAAG,GAAI,MAAML,SAAS,CAACI,GAAU,CAAe;EACtD,MAAME,MAAM,GAAG,MAAML,UAAU,CAACI,GAAG,CAAC;EAEpC,OAAON,GAAG,CAACQ,MAAM,CAACJ,KAAK,EAAEG,MAAM,CAAC;AACpC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/utils/verifyJwtUsingJwk.js","sources":["../../../../src/features/security/utils/verifyJwtUsingJwk.ts"],"sourcesContent":["import jwt from \"jsonwebtoken\";\nimport { exportSPKI, importJWK, type JWK } from \"jose\";\n\nexport type Jwk = JWK;\n\nexport type Jwt = {\n header: jwt.JwtHeader;\n payload: jwt.JwtPayload;\n};\n\nexport const verifyJwtUsingJwk = async (token: string, jwk: Jwk) => {\n // Casting to `any` because `jose` v5 has some incompatibilities with types.\n // v6 works as expected, but we can't have v6 because it's ESM-only.\n const key = (await importJWK(jwk)) as CryptoKey;\n const pemKey = await exportSPKI(key);\n\n return jwt.verify(token, pemKey) as jwt.JwtPayload;\n};\n"],"names":["verifyJwtUsingJwk","token","jwk","key","importJWK","pemKey","exportSPKI","jwt"],"mappings":";;AAUO,MAAMA,oBAAoB,OAAOC,OAAeC;IAGnD,MAAMC,MAAO,MAAMC,UAAUF;IAC7B,MAAMG,SAAS,MAAMC,WAAWH;IAEhC,OAAOI,aAAAA,MAAU,CAACN,OAAOI;AAC7B"}
@@ -1,6 +1,6 @@
1
1
  import { Result, createImplementation } from "@webiny/feature/api";
2
2
  import { EventPublisher } from "../../eventPublisher/index.js";
3
- import { InstallSystemUseCase as UseCaseAbstraction } from "./abstractions.js";
3
+ import { InstallSystemUseCase } from "./abstractions.js";
4
4
  import { InstallTenantUseCase } from "../../tenancy/InstallTenant/index.js";
5
5
  import { GetRootTenantUseCase } from "../../tenancy/GetRootTenant/index.js";
6
6
  import { CreateTenantUseCase } from "../../tenancy/CreateTenant/index.js";
@@ -10,52 +10,53 @@ import { IdentityContext } from "../../security/IdentityContext/index.js";
10
10
  import { SystemAlreadyInstalledError } from "./errors.js";
11
11
  import { SystemInstalledEvent } from "./events.js";
12
12
  class InstallSystemUseCaseImpl {
13
- constructor(identityContext, tenantContext, eventPublisher, installTenantUseCase, getRootTenantUseCase, createTenantUseCase, deleteTenantUseCase) {
14
- this.identityContext = identityContext;
15
- this.tenantContext = tenantContext;
16
- this.eventPublisher = eventPublisher;
17
- this.installTenantUseCase = installTenantUseCase;
18
- this.getRootTenantUseCase = getRootTenantUseCase;
19
- this.createTenantUseCase = createTenantUseCase;
20
- this.deleteTenantUseCase = deleteTenantUseCase;
21
- }
22
- async execute(installationInput) {
23
- const rootTenantResult = await this.getRootTenantUseCase.execute();
24
- if (rootTenantResult.isOk()) {
25
- return Result.fail(new SystemAlreadyInstalledError());
13
+ constructor(identityContext, tenantContext, eventPublisher, installTenantUseCase, getRootTenantUseCase, createTenantUseCase, deleteTenantUseCase){
14
+ this.identityContext = identityContext;
15
+ this.tenantContext = tenantContext;
16
+ this.eventPublisher = eventPublisher;
17
+ this.installTenantUseCase = installTenantUseCase;
18
+ this.getRootTenantUseCase = getRootTenantUseCase;
19
+ this.createTenantUseCase = createTenantUseCase;
20
+ this.deleteTenantUseCase = deleteTenantUseCase;
26
21
  }
27
- const createTenantResult = await this.createTenantUseCase.execute({
28
- id: "root",
29
- name: "Root",
30
- tags: [],
31
- description: "The top-level Webiny tenant.",
32
- parent: ""
33
- });
34
- if (createTenantResult.isFail()) {
35
- return Result.fail(createTenantResult.error);
22
+ async execute(installationInput) {
23
+ const rootTenantResult = await this.getRootTenantUseCase.execute();
24
+ if (rootTenantResult.isOk()) return Result.fail(new SystemAlreadyInstalledError());
25
+ const createTenantResult = await this.createTenantUseCase.execute({
26
+ id: "root",
27
+ name: "Root",
28
+ tags: [],
29
+ description: "The top-level Webiny tenant.",
30
+ parent: ""
31
+ });
32
+ if (createTenantResult.isFail()) return Result.fail(createTenantResult.error);
33
+ const rootTenant = createTenantResult.value;
34
+ this.tenantContext.setTenant(rootTenant);
35
+ const installResult = await this.identityContext.withoutAuthorization(()=>this.installTenantUseCase.execute({
36
+ tenant: rootTenant,
37
+ installationInput
38
+ }));
39
+ if (installResult.isOk()) {
40
+ await this.eventPublisher.publish(new SystemInstalledEvent());
41
+ return Result.ok();
42
+ }
43
+ await this.deleteTenantUseCase.execute("root");
44
+ return Result.fail(installResult.error);
36
45
  }
37
- const rootTenant = createTenantResult.value;
38
- this.tenantContext.setTenant(rootTenant);
39
- const installResult = await this.identityContext.withoutAuthorization(() => {
40
- return this.installTenantUseCase.execute({
41
- tenant: rootTenant,
42
- installationInput
43
- });
44
- });
45
- if (installResult.isOk()) {
46
- await this.eventPublisher.publish(new SystemInstalledEvent());
47
- return Result.ok();
48
- }
49
-
50
- // If tenant installation failed, delete the root tenant
51
- await this.deleteTenantUseCase.execute("root");
52
- return Result.fail(installResult.error);
53
- }
54
46
  }
55
- export const InstallSystemUseCase = createImplementation({
56
- abstraction: UseCaseAbstraction,
57
- implementation: InstallSystemUseCaseImpl,
58
- dependencies: [IdentityContext, TenantContext, EventPublisher, InstallTenantUseCase, GetRootTenantUseCase, CreateTenantUseCase, DeleteTenantUseCase]
47
+ const InstallSystemUseCase_InstallSystemUseCase = createImplementation({
48
+ abstraction: InstallSystemUseCase,
49
+ implementation: InstallSystemUseCaseImpl,
50
+ dependencies: [
51
+ IdentityContext,
52
+ TenantContext,
53
+ EventPublisher,
54
+ InstallTenantUseCase,
55
+ GetRootTenantUseCase,
56
+ CreateTenantUseCase,
57
+ DeleteTenantUseCase
58
+ ]
59
59
  });
60
+ export { InstallSystemUseCase_InstallSystemUseCase as InstallSystemUseCase };
60
61
 
61
62
  //# sourceMappingURL=InstallSystemUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","createImplementation","EventPublisher","InstallSystemUseCase","UseCaseAbstraction","InstallTenantUseCase","GetRootTenantUseCase","CreateTenantUseCase","DeleteTenantUseCase","TenantContext","IdentityContext","SystemAlreadyInstalledError","SystemInstalledEvent","InstallSystemUseCaseImpl","constructor","identityContext","tenantContext","eventPublisher","installTenantUseCase","getRootTenantUseCase","createTenantUseCase","deleteTenantUseCase","execute","installationInput","rootTenantResult","isOk","fail","createTenantResult","id","name","tags","description","parent","isFail","error","rootTenant","value","setTenant","installResult","withoutAuthorization","tenant","publish","ok","abstraction","implementation","dependencies"],"sources":["InstallSystemUseCase.ts"],"sourcesContent":["import { Result, createImplementation } from \"@webiny/feature/api\";\nimport { EventPublisher } from \"~/features/eventPublisher/index.js\";\nimport { InstallSystemUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { InstallTenantUseCase } from \"~/features/tenancy/InstallTenant/index.js\";\nimport { GetRootTenantUseCase } from \"~/features/tenancy/GetRootTenant/index.js\";\nimport { CreateTenantUseCase } from \"~/features/tenancy/CreateTenant/index.js\";\nimport { DeleteTenantUseCase } from \"~/features/tenancy/DeleteTenant/index.js\";\nimport { TenantContext } from \"~/features/tenancy/TenantContext/index.js\";\nimport { IdentityContext } from \"~/features/security/IdentityContext/index.js\";\nimport type { InstallSystemInput } from \"./abstractions.js\";\nimport { SystemAlreadyInstalledError } from \"./errors.js\";\nimport { SystemInstalledEvent } from \"./events.js\";\n\nclass InstallSystemUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private tenantContext: TenantContext.Interface,\n private eventPublisher: EventPublisher.Interface,\n private installTenantUseCase: InstallTenantUseCase.Interface,\n private getRootTenantUseCase: GetRootTenantUseCase.Interface,\n private createTenantUseCase: CreateTenantUseCase.Interface,\n private deleteTenantUseCase: DeleteTenantUseCase.Interface\n ) {}\n\n async execute(installationInput: InstallSystemInput) {\n const rootTenantResult = await this.getRootTenantUseCase.execute();\n\n if (rootTenantResult.isOk()) {\n return Result.fail(new SystemAlreadyInstalledError());\n }\n\n const createTenantResult = await this.createTenantUseCase.execute({\n id: \"root\",\n name: \"Root\",\n tags: [],\n description: \"The top-level Webiny tenant.\",\n parent: \"\"\n });\n\n if (createTenantResult.isFail()) {\n return Result.fail(createTenantResult.error);\n }\n\n const rootTenant = createTenantResult.value;\n\n this.tenantContext.setTenant(rootTenant);\n\n const installResult = await this.identityContext.withoutAuthorization(() => {\n return this.installTenantUseCase.execute({\n tenant: rootTenant,\n installationInput\n });\n });\n\n if (installResult.isOk()) {\n await this.eventPublisher.publish(new SystemInstalledEvent());\n return Result.ok();\n }\n\n // If tenant installation failed, delete the root tenant\n await this.deleteTenantUseCase.execute(\"root\");\n\n return Result.fail(installResult.error);\n }\n}\n\nexport const InstallSystemUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: InstallSystemUseCaseImpl,\n dependencies: [\n IdentityContext,\n TenantContext,\n EventPublisher,\n InstallTenantUseCase,\n GetRootTenantUseCase,\n CreateTenantUseCase,\n DeleteTenantUseCase\n ]\n});\n"],"mappings":"AAAA,SAASA,MAAM,EAAEC,oBAAoB,QAAQ,qBAAqB;AAClE,SAASC,cAAc;AACvB,SAASC,oBAAoB,IAAIC,kBAAkB;AACnD,SAASC,oBAAoB;AAC7B,SAASC,oBAAoB;AAC7B,SAASC,mBAAmB;AAC5B,SAASC,mBAAmB;AAC5B,SAASC,aAAa;AACtB,SAASC,eAAe;AAExB,SAASC,2BAA2B;AACpC,SAASC,oBAAoB;AAE7B,MAAMC,wBAAwB,CAAyC;EACnEC,WAAWA,CACCC,eAA0C,EAC1CC,aAAsC,EACtCC,cAAwC,EACxCC,oBAAoD,EACpDC,oBAAoD,EACpDC,mBAAkD,EAClDC,mBAAkD,EAC5D;IAAA,KAPUN,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,aAAsC,GAAtCA,aAAsC;IAAA,KACtCC,cAAwC,GAAxCA,cAAwC;IAAA,KACxCC,oBAAoD,GAApDA,oBAAoD;IAAA,KACpDC,oBAAoD,GAApDA,oBAAoD;IAAA,KACpDC,mBAAkD,GAAlDA,mBAAkD;IAAA,KAClDC,mBAAkD,GAAlDA,mBAAkD;EAC3D;EAEH,MAAMC,OAAOA,CAACC,iBAAqC,EAAE;IACjD,MAAMC,gBAAgB,GAAG,MAAM,IAAI,CAACL,oBAAoB,CAACG,OAAO,CAAC,CAAC;IAElE,IAAIE,gBAAgB,CAACC,IAAI,CAAC,CAAC,EAAE;MACzB,OAAOzB,MAAM,CAAC0B,IAAI,CAAC,IAAIf,2BAA2B,CAAC,CAAC,CAAC;IACzD;IAEA,MAAMgB,kBAAkB,GAAG,MAAM,IAAI,CAACP,mBAAmB,CAACE,OAAO,CAAC;MAC9DM,EAAE,EAAE,MAAM;MACVC,IAAI,EAAE,MAAM;MACZC,IAAI,EAAE,EAAE;MACRC,WAAW,EAAE,8BAA8B;MAC3CC,MAAM,EAAE;IACZ,CAAC,CAAC;IAEF,IAAIL,kBAAkB,CAACM,MAAM,CAAC,CAAC,EAAE;MAC7B,OAAOjC,MAAM,CAAC0B,IAAI,CAACC,kBAAkB,CAACO,KAAK,CAAC;IAChD;IAEA,MAAMC,UAAU,GAAGR,kBAAkB,CAACS,KAAK;IAE3C,IAAI,CAACpB,aAAa,CAACqB,SAAS,CAACF,UAAU,CAAC;IAExC,MAAMG,aAAa,GAAG,MAAM,IAAI,CAACvB,eAAe,CAACwB,oBAAoB,CAAC,MAAM;MACxE,OAAO,IAAI,CAACrB,oBAAoB,CAACI,OAAO,CAAC;QACrCkB,MAAM,EAAEL,UAAU;QAClBZ;MACJ,CAAC,CAAC;IACN,CAAC,CAAC;IAEF,IAAIe,aAAa,CAACb,IAAI,CAAC,CAAC,EAAE;MACtB,MAAM,IAAI,CAACR,cAAc,CAACwB,OAAO,CAAC,IAAI7B,oBAAoB,CAAC,CAAC,CAAC;MAC7D,OAAOZ,MAAM,CAAC0C,EAAE,CAAC,CAAC;IACtB;;IAEA;IACA,MAAM,IAAI,CAACrB,mBAAmB,CAACC,OAAO,CAAC,MAAM,CAAC;IAE9C,OAAOtB,MAAM,CAAC0B,IAAI,CAACY,aAAa,CAACJ,KAAK,CAAC;EAC3C;AACJ;AAEA,OAAO,MAAM/B,oBAAoB,GAAGF,oBAAoB,CAAC;EACrD0C,WAAW,EAAEvC,kBAAkB;EAC/BwC,cAAc,EAAE/B,wBAAwB;EACxCgC,YAAY,EAAE,CACVnC,eAAe,EACfD,aAAa,EACbP,cAAc,EACdG,oBAAoB,EACpBC,oBAAoB,EACpBC,mBAAmB,EACnBC,mBAAmB;AAE3B,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/system/InstallSystem/InstallSystemUseCase.js","sources":["../../../../src/features/system/InstallSystem/InstallSystemUseCase.ts"],"sourcesContent":["import { Result, createImplementation } from \"@webiny/feature/api\";\nimport { EventPublisher } from \"~/features/eventPublisher/index.js\";\nimport { InstallSystemUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { InstallTenantUseCase } from \"~/features/tenancy/InstallTenant/index.js\";\nimport { GetRootTenantUseCase } from \"~/features/tenancy/GetRootTenant/index.js\";\nimport { CreateTenantUseCase } from \"~/features/tenancy/CreateTenant/index.js\";\nimport { DeleteTenantUseCase } from \"~/features/tenancy/DeleteTenant/index.js\";\nimport { TenantContext } from \"~/features/tenancy/TenantContext/index.js\";\nimport { IdentityContext } from \"~/features/security/IdentityContext/index.js\";\nimport type { InstallSystemInput } from \"./abstractions.js\";\nimport { SystemAlreadyInstalledError } from \"./errors.js\";\nimport { SystemInstalledEvent } from \"./events.js\";\n\nclass InstallSystemUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private tenantContext: TenantContext.Interface,\n private eventPublisher: EventPublisher.Interface,\n private installTenantUseCase: InstallTenantUseCase.Interface,\n private getRootTenantUseCase: GetRootTenantUseCase.Interface,\n private createTenantUseCase: CreateTenantUseCase.Interface,\n private deleteTenantUseCase: DeleteTenantUseCase.Interface\n ) {}\n\n async execute(installationInput: InstallSystemInput) {\n const rootTenantResult = await this.getRootTenantUseCase.execute();\n\n if (rootTenantResult.isOk()) {\n return Result.fail(new SystemAlreadyInstalledError());\n }\n\n const createTenantResult = await this.createTenantUseCase.execute({\n id: \"root\",\n name: \"Root\",\n tags: [],\n description: \"The top-level Webiny tenant.\",\n parent: \"\"\n });\n\n if (createTenantResult.isFail()) {\n return Result.fail(createTenantResult.error);\n }\n\n const rootTenant = createTenantResult.value;\n\n this.tenantContext.setTenant(rootTenant);\n\n const installResult = await this.identityContext.withoutAuthorization(() => {\n return this.installTenantUseCase.execute({\n tenant: rootTenant,\n installationInput\n });\n });\n\n if (installResult.isOk()) {\n await this.eventPublisher.publish(new SystemInstalledEvent());\n return Result.ok();\n }\n\n // If tenant installation failed, delete the root tenant\n await this.deleteTenantUseCase.execute(\"root\");\n\n return Result.fail(installResult.error);\n }\n}\n\nexport const InstallSystemUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: InstallSystemUseCaseImpl,\n dependencies: [\n IdentityContext,\n TenantContext,\n EventPublisher,\n InstallTenantUseCase,\n GetRootTenantUseCase,\n CreateTenantUseCase,\n DeleteTenantUseCase\n ]\n});\n"],"names":["InstallSystemUseCaseImpl","identityContext","tenantContext","eventPublisher","installTenantUseCase","getRootTenantUseCase","createTenantUseCase","deleteTenantUseCase","installationInput","rootTenantResult","Result","SystemAlreadyInstalledError","createTenantResult","rootTenant","installResult","SystemInstalledEvent","InstallSystemUseCase","createImplementation","UseCaseAbstraction","IdentityContext","TenantContext","EventPublisher","InstallTenantUseCase","GetRootTenantUseCase","CreateTenantUseCase","DeleteTenantUseCase"],"mappings":";;;;;;;;;;;AAaA,MAAMA;IACF,YACYC,eAA0C,EAC1CC,aAAsC,EACtCC,cAAwC,EACxCC,oBAAoD,EACpDC,oBAAoD,EACpDC,mBAAkD,EAClDC,mBAAkD,CAC5D;aAPUN,eAAe,GAAfA;aACAC,aAAa,GAAbA;aACAC,cAAc,GAAdA;aACAC,oBAAoB,GAApBA;aACAC,oBAAoB,GAApBA;aACAC,mBAAmB,GAAnBA;aACAC,mBAAmB,GAAnBA;IACT;IAEH,MAAM,QAAQC,iBAAqC,EAAE;QACjD,MAAMC,mBAAmB,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO;QAEhE,IAAIA,iBAAiB,IAAI,IACrB,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAG3B,MAAMC,qBAAqB,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;YAC9D,IAAI;YACJ,MAAM;YACN,MAAM,EAAE;YACR,aAAa;YACb,QAAQ;QACZ;QAEA,IAAIA,mBAAmB,MAAM,IACzB,OAAOF,OAAO,IAAI,CAACE,mBAAmB,KAAK;QAG/C,MAAMC,aAAaD,mBAAmB,KAAK;QAE3C,IAAI,CAAC,aAAa,CAAC,SAAS,CAACC;QAE7B,MAAMC,gBAAgB,MAAM,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAC3D,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC;gBACrC,QAAQD;gBACRL;YACJ;QAGJ,IAAIM,cAAc,IAAI,IAAI;YACtB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAIC;YACtC,OAAOL,OAAO,EAAE;QACpB;QAGA,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;QAEvC,OAAOA,OAAO,IAAI,CAACI,cAAc,KAAK;IAC1C;AACJ;AAEO,MAAME,4CAAuBC,qBAAqB;IACrD,aAAaC;IACb,gBAAgBlB;IAChB,cAAc;QACVmB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}