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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (786) hide show
  1. package/ApiCoreFeature.js +18 -18
  2. package/ApiCoreFeature.js.map +1 -1
  3. package/createApiCore.d.ts +1 -1
  4. package/createApiCore.js +14 -9
  5. package/createApiCore.js.map +1 -1
  6. package/domain/identity/SystemIdentityValue.js +9 -8
  7. package/domain/identity/SystemIdentityValue.js.map +1 -1
  8. package/domain/security/ApiToken.js +5 -11
  9. package/domain/security/ApiToken.js.map +1 -1
  10. package/domain/tenancy/RootTenantValue.js +9 -8
  11. package/domain/tenancy/RootTenantValue.js.map +1 -1
  12. package/domain/tenancy/errors.js +0 -3
  13. package/exports/api/build-params.js +0 -3
  14. package/exports/api/event-publisher.js +0 -3
  15. package/exports/api/graphql.js +0 -2
  16. package/exports/api/key-value-store.js +0 -3
  17. package/exports/api/logger.js +0 -3
  18. package/exports/api/security/api-key.js +0 -2
  19. package/exports/api/security/authentication.js +0 -2
  20. package/exports/api/security/role.js +1 -3
  21. package/exports/api/security/user.js +0 -2
  22. package/exports/api/security.js +3 -7
  23. package/exports/api/system.js +0 -2
  24. package/exports/api/tasks.js +0 -2
  25. package/exports/api/tenancy.js +4 -6
  26. package/exports/api.js +1 -3
  27. package/features/ai/Ai.js +100 -117
  28. package/features/ai/Ai.js.map +1 -1
  29. package/features/ai/AiSdkTools.js +23 -19
  30. package/features/ai/AiSdkTools.js.map +1 -1
  31. package/features/ai/AnthropicSdkFactory.js +82 -65
  32. package/features/ai/AnthropicSdkFactory.js.map +1 -1
  33. package/features/ai/OpenAiSdkFactory.js +234 -181
  34. package/features/ai/OpenAiSdkFactory.js.map +1 -1
  35. package/features/ai/abstractions.js +7 -32
  36. package/features/ai/abstractions.js.map +1 -1
  37. package/features/ai/feature.js +9 -8
  38. package/features/ai/feature.js.map +1 -1
  39. package/features/ai/index.js +1 -3
  40. package/features/buildParams/BuildParams.js +20 -14
  41. package/features/buildParams/BuildParams.js.map +1 -1
  42. package/features/buildParams/abstractions.js +3 -4
  43. package/features/buildParams/abstractions.js.map +1 -1
  44. package/features/buildParams/feature.js +6 -5
  45. package/features/buildParams/feature.js.map +1 -1
  46. package/features/buildParams/index.js +0 -2
  47. package/features/encryption/EncryptionService.js +50 -46
  48. package/features/encryption/EncryptionService.js.map +1 -1
  49. package/features/encryption/abstractions.js +2 -2
  50. package/features/encryption/abstractions.js.map +1 -1
  51. package/features/encryption/feature.js +6 -5
  52. package/features/encryption/feature.js.map +1 -1
  53. package/features/encryption/index.js +0 -2
  54. package/features/eventPublisher/EventPublisher.js +9 -15
  55. package/features/eventPublisher/EventPublisher.js.map +1 -1
  56. package/features/eventPublisher/__tests__/EventPublisher.test.js +385 -419
  57. package/features/eventPublisher/__tests__/EventPublisher.test.js.map +1 -1
  58. package/features/eventPublisher/abstractions.js +7 -12
  59. package/features/eventPublisher/abstractions.js.map +1 -1
  60. package/features/eventPublisher/feature.js +8 -7
  61. package/features/eventPublisher/feature.js.map +1 -1
  62. package/features/eventPublisher/index.js +0 -2
  63. package/features/featureFlags/FeatureFlags.js +15 -12
  64. package/features/featureFlags/FeatureFlags.js.map +1 -1
  65. package/features/featureFlags/abstractions.js +2 -1
  66. package/features/featureFlags/abstractions.js.map +1 -1
  67. package/features/featureFlags/feature.js +6 -5
  68. package/features/featureFlags/feature.js.map +1 -1
  69. package/features/keyValueStore/GlobalKeyValueStore.js +28 -23
  70. package/features/keyValueStore/GlobalKeyValueStore.js.map +1 -1
  71. package/features/keyValueStore/KeyValueStore.js +30 -27
  72. package/features/keyValueStore/KeyValueStore.js.map +1 -1
  73. package/features/keyValueStore/KeyValueStoreRepository.d.ts +2 -2
  74. package/features/keyValueStore/KeyValueStoreRepository.js +34 -41
  75. package/features/keyValueStore/KeyValueStoreRepository.js.map +1 -1
  76. package/features/keyValueStore/abstractions.d.ts +6 -2
  77. package/features/keyValueStore/abstractions.js +5 -20
  78. package/features/keyValueStore/abstractions.js.map +1 -1
  79. package/features/keyValueStore/errors.js +16 -17
  80. package/features/keyValueStore/errors.js.map +1 -1
  81. package/features/keyValueStore/feature.js +9 -9
  82. package/features/keyValueStore/feature.js.map +1 -1
  83. package/features/keyValueStore/index.js +1 -3
  84. package/features/logger/LoggerService.js +41 -45
  85. package/features/logger/LoggerService.js.map +1 -1
  86. package/features/logger/abstractions.js +2 -2
  87. package/features/logger/abstractions.js.map +1 -1
  88. package/features/logger/feature.js +6 -5
  89. package/features/logger/feature.js.map +1 -1
  90. package/features/logger/index.js +0 -2
  91. package/features/masker/Masker.js +11 -14
  92. package/features/masker/Masker.js.map +1 -1
  93. package/features/masker/abstractions.js +2 -1
  94. package/features/masker/abstractions.js.map +1 -1
  95. package/features/masker/feature.js +7 -6
  96. package/features/masker/feature.js.map +1 -1
  97. package/features/masker/index.js +0 -2
  98. package/features/security/IdentityContext/AnonymousIdentity.js +12 -16
  99. package/features/security/IdentityContext/AnonymousIdentity.js.map +1 -1
  100. package/features/security/IdentityContext/AuthenticatedIdentity.js +5 -8
  101. package/features/security/IdentityContext/AuthenticatedIdentity.js.map +1 -1
  102. package/features/security/IdentityContext/Identity.js +63 -71
  103. package/features/security/IdentityContext/Identity.js.map +1 -1
  104. package/features/security/IdentityContext/IdentityContext.js +69 -106
  105. package/features/security/IdentityContext/IdentityContext.js.map +1 -1
  106. package/features/security/IdentityContext/abstractions.js +2 -2
  107. package/features/security/IdentityContext/abstractions.js.map +1 -1
  108. package/features/security/IdentityContext/feature.js +6 -5
  109. package/features/security/IdentityContext/feature.js.map +1 -1
  110. package/features/security/IdentityContext/index.js +0 -3
  111. package/features/security/SecurityFeature.js +13 -21
  112. package/features/security/SecurityFeature.js.map +1 -1
  113. package/features/security/apiKeys/CreateApiKey/CreateApiKeyUseCase.js +48 -49
  114. package/features/security/apiKeys/CreateApiKey/CreateApiKeyUseCase.js.map +1 -1
  115. package/features/security/apiKeys/CreateApiKey/abstractions.js +2 -2
  116. package/features/security/apiKeys/CreateApiKey/abstractions.js.map +1 -1
  117. package/features/security/apiKeys/CreateApiKey/events.js +17 -16
  118. package/features/security/apiKeys/CreateApiKey/events.js.map +1 -1
  119. package/features/security/apiKeys/CreateApiKey/feature.js +6 -5
  120. package/features/security/apiKeys/CreateApiKey/feature.js.map +1 -1
  121. package/features/security/apiKeys/CreateApiKey/index.js +0 -2
  122. package/features/security/apiKeys/DeleteApiKey/DeleteApiKeyUseCase.js +29 -30
  123. package/features/security/apiKeys/DeleteApiKey/DeleteApiKeyUseCase.js.map +1 -1
  124. package/features/security/apiKeys/DeleteApiKey/abstractions.js +2 -2
  125. package/features/security/apiKeys/DeleteApiKey/abstractions.js.map +1 -1
  126. package/features/security/apiKeys/DeleteApiKey/events.js +17 -16
  127. package/features/security/apiKeys/DeleteApiKey/events.js.map +1 -1
  128. package/features/security/apiKeys/DeleteApiKey/feature.js +6 -5
  129. package/features/security/apiKeys/DeleteApiKey/feature.js.map +1 -1
  130. package/features/security/apiKeys/DeleteApiKey/index.js +0 -2
  131. package/features/security/apiKeys/GetApiKey/GetApiKeyUseCase.js +16 -14
  132. package/features/security/apiKeys/GetApiKey/GetApiKeyUseCase.js.map +1 -1
  133. package/features/security/apiKeys/GetApiKey/abstractions.js +2 -2
  134. package/features/security/apiKeys/GetApiKey/abstractions.js.map +1 -1
  135. package/features/security/apiKeys/GetApiKey/feature.js +6 -5
  136. package/features/security/apiKeys/GetApiKey/feature.js.map +1 -1
  137. package/features/security/apiKeys/GetApiKey/index.js +0 -2
  138. package/features/security/apiKeys/GetApiKeyBySlug/GetApiKeyBySlugUseCase.js +13 -10
  139. package/features/security/apiKeys/GetApiKeyBySlug/GetApiKeyBySlugUseCase.js.map +1 -1
  140. package/features/security/apiKeys/GetApiKeyBySlug/abstractions.js +2 -2
  141. package/features/security/apiKeys/GetApiKeyBySlug/abstractions.js.map +1 -1
  142. package/features/security/apiKeys/GetApiKeyBySlug/feature.js +6 -5
  143. package/features/security/apiKeys/GetApiKeyBySlug/feature.js.map +1 -1
  144. package/features/security/apiKeys/GetApiKeyBySlug/index.js +0 -2
  145. package/features/security/apiKeys/GetApiKeyByToken/GetApiKeyByTokenUseCase.js +13 -10
  146. package/features/security/apiKeys/GetApiKeyByToken/GetApiKeyByTokenUseCase.js.map +1 -1
  147. package/features/security/apiKeys/GetApiKeyByToken/abstractions.js +2 -2
  148. package/features/security/apiKeys/GetApiKeyByToken/abstractions.js.map +1 -1
  149. package/features/security/apiKeys/GetApiKeyByToken/feature.js +6 -5
  150. package/features/security/apiKeys/GetApiKeyByToken/feature.js.map +1 -1
  151. package/features/security/apiKeys/GetApiKeyByToken/index.js +0 -2
  152. package/features/security/apiKeys/ListApiKeys/ListApiKeysUseCase.js +17 -17
  153. package/features/security/apiKeys/ListApiKeys/ListApiKeysUseCase.js.map +1 -1
  154. package/features/security/apiKeys/ListApiKeys/abstractions.js +2 -2
  155. package/features/security/apiKeys/ListApiKeys/abstractions.js.map +1 -1
  156. package/features/security/apiKeys/ListApiKeys/feature.js +6 -5
  157. package/features/security/apiKeys/ListApiKeys/feature.js.map +1 -1
  158. package/features/security/apiKeys/ListApiKeys/index.js +0 -2
  159. package/features/security/apiKeys/UpdateApiKey/UpdateApiKeyUseCase.js +39 -42
  160. package/features/security/apiKeys/UpdateApiKey/UpdateApiKeyUseCase.js.map +1 -1
  161. package/features/security/apiKeys/UpdateApiKey/abstractions.js +2 -2
  162. package/features/security/apiKeys/UpdateApiKey/abstractions.js.map +1 -1
  163. package/features/security/apiKeys/UpdateApiKey/events.js +17 -16
  164. package/features/security/apiKeys/UpdateApiKey/events.js.map +1 -1
  165. package/features/security/apiKeys/UpdateApiKey/feature.js +6 -5
  166. package/features/security/apiKeys/UpdateApiKey/feature.js.map +1 -1
  167. package/features/security/apiKeys/UpdateApiKey/index.js +0 -2
  168. package/features/security/apiKeys/feature.js +14 -16
  169. package/features/security/apiKeys/feature.js.map +1 -1
  170. package/features/security/apiKeys/shared/ApiKeyProvider.js +42 -42
  171. package/features/security/apiKeys/shared/ApiKeyProvider.js.map +1 -1
  172. package/features/security/apiKeys/shared/ApiKeysRepository.js +108 -135
  173. package/features/security/apiKeys/shared/ApiKeysRepository.js.map +1 -1
  174. package/features/security/apiKeys/shared/abstractions.js +4 -6
  175. package/features/security/apiKeys/shared/abstractions.js.map +1 -1
  176. package/features/security/apiKeys/shared/errors.js +29 -32
  177. package/features/security/apiKeys/shared/errors.js.map +1 -1
  178. package/features/security/apiKeys/shared/generateToken.js +6 -16
  179. package/features/security/apiKeys/shared/generateToken.js.map +1 -1
  180. package/features/security/apiKeys/shared/schemas.js +27 -23
  181. package/features/security/apiKeys/shared/schemas.js.map +1 -1
  182. package/features/security/apiKeys/shared/types.js +0 -3
  183. package/features/security/authentication/AuthenticationContext/AuthenticationContext.js +44 -38
  184. package/features/security/authentication/AuthenticationContext/AuthenticationContext.js.map +1 -1
  185. package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.js +33 -43
  186. package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.js.map +1 -1
  187. package/features/security/authentication/AuthenticationContext/abstractions.js +2 -2
  188. package/features/security/authentication/AuthenticationContext/abstractions.js.map +1 -1
  189. package/features/security/authentication/AuthenticationContext/errors.js +51 -116
  190. package/features/security/authentication/AuthenticationContext/errors.js.map +1 -1
  191. package/features/security/authentication/AuthenticationContext/events.js +17 -16
  192. package/features/security/authentication/AuthenticationContext/events.js.map +1 -1
  193. package/features/security/authentication/AuthenticationContext/feature.js +6 -5
  194. package/features/security/authentication/AuthenticationContext/feature.js.map +1 -1
  195. package/features/security/authentication/AuthenticationContext/index.js +2 -4
  196. package/features/security/authentication/Authenticator/abstractions.js +2 -2
  197. package/features/security/authentication/Authenticator/abstractions.js.map +1 -1
  198. package/features/security/authentication/Authenticator/index.js +0 -2
  199. package/features/security/authorization/AuthorizationContext/AuthorizationContext.js +46 -59
  200. package/features/security/authorization/AuthorizationContext/AuthorizationContext.js.map +1 -1
  201. package/features/security/authorization/AuthorizationContext/abstractions.js +3 -4
  202. package/features/security/authorization/AuthorizationContext/abstractions.js.map +1 -1
  203. package/features/security/authorization/AuthorizationContext/feature.js +10 -9
  204. package/features/security/authorization/AuthorizationContext/feature.js.map +1 -1
  205. package/features/security/authorization/AuthorizationContext/index.js +1 -4
  206. package/features/security/authorization/Authorizer/abstractions.js +2 -2
  207. package/features/security/authorization/Authorizer/abstractions.js.map +1 -1
  208. package/features/security/authorization/Authorizer/index.js +0 -2
  209. package/features/security/authorization/GroupsTeamsAuthorizer/GetPermissionsFromIdentity.js +60 -64
  210. package/features/security/authorization/GroupsTeamsAuthorizer/GetPermissionsFromIdentity.js.map +1 -1
  211. package/features/security/authorization/GroupsTeamsAuthorizer/RolesTeamsAuthorizer.js +26 -40
  212. package/features/security/authorization/GroupsTeamsAuthorizer/RolesTeamsAuthorizer.js.map +1 -1
  213. package/features/security/authorization/GroupsTeamsAuthorizer/abstractions.js +2 -1
  214. package/features/security/authorization/GroupsTeamsAuthorizer/abstractions.js.map +1 -1
  215. package/features/security/authorization/GroupsTeamsAuthorizer/feature.js +7 -6
  216. package/features/security/authorization/GroupsTeamsAuthorizer/feature.js.map +1 -1
  217. package/features/security/login/abstractions.js +9 -8
  218. package/features/security/login/abstractions.js.map +1 -1
  219. package/features/security/login/index.js +0 -2
  220. package/features/security/permissions/createPermissionSchema.js +6 -5
  221. package/features/security/permissions/createPermissionSchema.js.map +1 -1
  222. package/features/security/permissions/createPermissions.js +148 -236
  223. package/features/security/permissions/createPermissions.js.map +1 -1
  224. package/features/security/permissions/index.js +0 -2
  225. package/features/security/permissions/types.js +0 -3
  226. package/features/security/roles/CreateRole/CreateRoleUseCase.js +53 -59
  227. package/features/security/roles/CreateRole/CreateRoleUseCase.js.map +1 -1
  228. package/features/security/roles/CreateRole/abstractions.js +2 -2
  229. package/features/security/roles/CreateRole/abstractions.js.map +1 -1
  230. package/features/security/roles/CreateRole/events.js +17 -16
  231. package/features/security/roles/CreateRole/events.js.map +1 -1
  232. package/features/security/roles/CreateRole/feature.js +6 -5
  233. package/features/security/roles/CreateRole/feature.js.map +1 -1
  234. package/features/security/roles/CreateRole/index.js +0 -2
  235. package/features/security/roles/CreateRole/schema.js +8 -7
  236. package/features/security/roles/CreateRole/schema.js.map +1 -1
  237. package/features/security/roles/DeleteRole/DeleteRoleUseCase.js +35 -41
  238. package/features/security/roles/DeleteRole/DeleteRoleUseCase.js.map +1 -1
  239. package/features/security/roles/DeleteRole/abstractions.js +2 -2
  240. package/features/security/roles/DeleteRole/abstractions.js.map +1 -1
  241. package/features/security/roles/DeleteRole/events.js +17 -16
  242. package/features/security/roles/DeleteRole/events.js.map +1 -1
  243. package/features/security/roles/DeleteRole/feature.js +6 -5
  244. package/features/security/roles/DeleteRole/feature.js.map +1 -1
  245. package/features/security/roles/DeleteRole/index.js +0 -2
  246. package/features/security/roles/GetRole/GetRoleUseCase.js +19 -18
  247. package/features/security/roles/GetRole/GetRoleUseCase.js.map +1 -1
  248. package/features/security/roles/GetRole/abstractions.js +2 -2
  249. package/features/security/roles/GetRole/abstractions.js.map +1 -1
  250. package/features/security/roles/GetRole/feature.js +6 -5
  251. package/features/security/roles/GetRole/feature.js.map +1 -1
  252. package/features/security/roles/GetRole/index.js +0 -2
  253. package/features/security/roles/Installer/RolesInstaller.js +38 -35
  254. package/features/security/roles/Installer/RolesInstaller.js.map +1 -1
  255. package/features/security/roles/ListRoles/ListRolesUseCase.js +18 -17
  256. package/features/security/roles/ListRoles/ListRolesUseCase.js.map +1 -1
  257. package/features/security/roles/ListRoles/abstractions.js +2 -2
  258. package/features/security/roles/ListRoles/abstractions.js.map +1 -1
  259. package/features/security/roles/ListRoles/feature.js +6 -5
  260. package/features/security/roles/ListRoles/feature.js.map +1 -1
  261. package/features/security/roles/ListRoles/index.js +0 -2
  262. package/features/security/roles/UpdateRole/UpdateRoleUseCase.js +43 -50
  263. package/features/security/roles/UpdateRole/UpdateRoleUseCase.js.map +1 -1
  264. package/features/security/roles/UpdateRole/abstractions.js +2 -2
  265. package/features/security/roles/UpdateRole/abstractions.js.map +1 -1
  266. package/features/security/roles/UpdateRole/events.js +17 -16
  267. package/features/security/roles/UpdateRole/events.js.map +1 -1
  268. package/features/security/roles/UpdateRole/feature.js +6 -5
  269. package/features/security/roles/UpdateRole/feature.js.map +1 -1
  270. package/features/security/roles/UpdateRole/index.js +0 -2
  271. package/features/security/roles/UpdateRole/schema.js +7 -6
  272. package/features/security/roles/UpdateRole/schema.js.map +1 -1
  273. package/features/security/roles/feature.js +14 -18
  274. package/features/security/roles/feature.js.map +1 -1
  275. package/features/security/roles/shared/RoleProvider.js +27 -21
  276. package/features/security/roles/shared/RoleProvider.js.map +1 -1
  277. package/features/security/roles/shared/RolesRepository.js +96 -113
  278. package/features/security/roles/shared/RolesRepository.js.map +1 -1
  279. package/features/security/roles/shared/abstractions.js +3 -4
  280. package/features/security/roles/shared/abstractions.js.map +1 -1
  281. package/features/security/roles/shared/decorators/ListCache.js +23 -22
  282. package/features/security/roles/shared/decorators/ListCache.js.map +1 -1
  283. package/features/security/roles/shared/decorators/RolesRepositoryCachingDecorator.js +40 -62
  284. package/features/security/roles/shared/decorators/RolesRepositoryCachingDecorator.js.map +1 -1
  285. package/features/security/roles/shared/errors.js +50 -56
  286. package/features/security/roles/shared/errors.js.map +1 -1
  287. package/features/security/roles/shared/types.js +0 -3
  288. package/features/security/shared/abstractions.js +4 -6
  289. package/features/security/shared/abstractions.js.map +1 -1
  290. package/features/security/shared/errors.js +8 -8
  291. package/features/security/shared/errors.js.map +1 -1
  292. package/features/security/shared/index.js +0 -2
  293. package/features/security/teams/CreateTeam/CreateTeamUseCase.js +53 -59
  294. package/features/security/teams/CreateTeam/CreateTeamUseCase.js.map +1 -1
  295. package/features/security/teams/CreateTeam/abstractions.js +2 -2
  296. package/features/security/teams/CreateTeam/abstractions.js.map +1 -1
  297. package/features/security/teams/CreateTeam/events.js +17 -16
  298. package/features/security/teams/CreateTeam/events.js.map +1 -1
  299. package/features/security/teams/CreateTeam/feature.js +6 -5
  300. package/features/security/teams/CreateTeam/feature.js.map +1 -1
  301. package/features/security/teams/CreateTeam/index.js +0 -2
  302. package/features/security/teams/CreateTeam/schema.js +6 -5
  303. package/features/security/teams/CreateTeam/schema.js.map +1 -1
  304. package/features/security/teams/DeleteTeam/DeleteTeamUseCase.js +36 -46
  305. package/features/security/teams/DeleteTeam/DeleteTeamUseCase.js.map +1 -1
  306. package/features/security/teams/DeleteTeam/abstractions.js +2 -2
  307. package/features/security/teams/DeleteTeam/abstractions.js.map +1 -1
  308. package/features/security/teams/DeleteTeam/events.js +17 -16
  309. package/features/security/teams/DeleteTeam/events.js.map +1 -1
  310. package/features/security/teams/DeleteTeam/feature.js +6 -5
  311. package/features/security/teams/DeleteTeam/feature.js.map +1 -1
  312. package/features/security/teams/DeleteTeam/index.js +0 -2
  313. package/features/security/teams/GetTeam/GetTeamUseCase.js +17 -17
  314. package/features/security/teams/GetTeam/GetTeamUseCase.js.map +1 -1
  315. package/features/security/teams/GetTeam/abstractions.js +2 -2
  316. package/features/security/teams/GetTeam/abstractions.js.map +1 -1
  317. package/features/security/teams/GetTeam/feature.js +6 -5
  318. package/features/security/teams/GetTeam/feature.js.map +1 -1
  319. package/features/security/teams/GetTeam/index.js +0 -2
  320. package/features/security/teams/ListTeams/ListTeamsUseCase.js +20 -21
  321. package/features/security/teams/ListTeams/ListTeamsUseCase.js.map +1 -1
  322. package/features/security/teams/ListTeams/abstractions.js +2 -2
  323. package/features/security/teams/ListTeams/abstractions.js.map +1 -1
  324. package/features/security/teams/ListTeams/feature.js +6 -5
  325. package/features/security/teams/ListTeams/feature.js.map +1 -1
  326. package/features/security/teams/ListTeams/index.js +0 -2
  327. package/features/security/teams/UpdateTeam/UpdateTeamUseCase.js +46 -58
  328. package/features/security/teams/UpdateTeam/UpdateTeamUseCase.js.map +1 -1
  329. package/features/security/teams/UpdateTeam/abstractions.js +2 -2
  330. package/features/security/teams/UpdateTeam/abstractions.js.map +1 -1
  331. package/features/security/teams/UpdateTeam/events.js +17 -16
  332. package/features/security/teams/UpdateTeam/events.js.map +1 -1
  333. package/features/security/teams/UpdateTeam/feature.js +6 -5
  334. package/features/security/teams/UpdateTeam/feature.js.map +1 -1
  335. package/features/security/teams/UpdateTeam/index.js +0 -2
  336. package/features/security/teams/UpdateTeam/schema.js +5 -4
  337. package/features/security/teams/UpdateTeam/schema.js.map +1 -1
  338. package/features/security/teams/feature.js +13 -17
  339. package/features/security/teams/feature.js.map +1 -1
  340. package/features/security/teams/shared/TeamProvider.js +27 -21
  341. package/features/security/teams/shared/TeamProvider.js.map +1 -1
  342. package/features/security/teams/shared/TeamsRepository.js +100 -118
  343. package/features/security/teams/shared/TeamsRepository.js.map +1 -1
  344. package/features/security/teams/shared/abstractions.js +3 -4
  345. package/features/security/teams/shared/abstractions.js.map +1 -1
  346. package/features/security/teams/shared/decorators/TeamsRepositoryCachingDecorator.js +40 -62
  347. package/features/security/teams/shared/decorators/TeamsRepositoryCachingDecorator.js.map +1 -1
  348. package/features/security/teams/shared/errors.js +62 -70
  349. package/features/security/teams/shared/errors.js.map +1 -1
  350. package/features/security/teams/shared/types.js +0 -3
  351. package/features/security/utils/AppPermissions.js +50 -89
  352. package/features/security/utils/AppPermissions.js.map +1 -1
  353. package/features/security/utils/IdentityValue.js +19 -22
  354. package/features/security/utils/IdentityValue.js.map +1 -1
  355. package/features/security/utils/filterOutCustomWbyAppsPermissions.js +24 -27
  356. package/features/security/utils/filterOutCustomWbyAppsPermissions.js.map +1 -1
  357. package/features/security/utils/getPermissionsFromRoles.js +5 -10
  358. package/features/security/utils/getPermissionsFromRoles.js.map +1 -1
  359. package/features/security/utils/isJwt.js +2 -1
  360. package/features/security/utils/isJwt.js.map +1 -1
  361. package/features/security/utils/verifyJwtUsingJwk.js +6 -7
  362. package/features/security/utils/verifyJwtUsingJwk.js.map +1 -1
  363. package/features/system/InstallSystem/InstallSystemUseCase.js +45 -44
  364. package/features/system/InstallSystem/InstallSystemUseCase.js.map +1 -1
  365. package/features/system/InstallSystem/abstractions.js +3 -17
  366. package/features/system/InstallSystem/abstractions.js.map +1 -1
  367. package/features/system/InstallSystem/errors.js +15 -16
  368. package/features/system/InstallSystem/errors.js.map +1 -1
  369. package/features/system/InstallSystem/events.js +8 -5
  370. package/features/system/InstallSystem/events.js.map +1 -1
  371. package/features/system/InstallSystem/feature.js +6 -7
  372. package/features/system/InstallSystem/feature.js.map +1 -1
  373. package/features/system/InstallSystem/index.js +2 -6
  374. package/features/system/SystemFeature.js +6 -5
  375. package/features/system/SystemFeature.js.map +1 -1
  376. package/features/task/TaskController/abstractions.js +2 -10
  377. package/features/task/TaskController/abstractions.js.map +1 -1
  378. package/features/task/TaskController/index.js +0 -2
  379. package/features/task/TaskDefinition/abstractions.js +8 -40
  380. package/features/task/TaskDefinition/abstractions.js.map +1 -1
  381. package/features/task/TaskDefinition/index.js +0 -2
  382. package/features/task/TaskService/abstractions.js +9 -13
  383. package/features/task/TaskService/abstractions.js.map +1 -1
  384. package/features/task/TaskService/index.js +0 -2
  385. package/features/tenancy/CreateTenant/CreateTenantGateway.js +14 -11
  386. package/features/tenancy/CreateTenant/CreateTenantGateway.js.map +1 -1
  387. package/features/tenancy/CreateTenant/CreateTenantRepository.js +18 -15
  388. package/features/tenancy/CreateTenant/CreateTenantRepository.js.map +1 -1
  389. package/features/tenancy/CreateTenant/CreateTenantUseCase.js +44 -41
  390. package/features/tenancy/CreateTenant/CreateTenantUseCase.js.map +1 -1
  391. package/features/tenancy/CreateTenant/abstractions.js +6 -29
  392. package/features/tenancy/CreateTenant/abstractions.js.map +1 -1
  393. package/features/tenancy/CreateTenant/decorators/CreateTenantWithWcpIncrement.js +16 -15
  394. package/features/tenancy/CreateTenant/decorators/CreateTenantWithWcpIncrement.js.map +1 -1
  395. package/features/tenancy/CreateTenant/errors.js +8 -8
  396. package/features/tenancy/CreateTenant/errors.js.map +1 -1
  397. package/features/tenancy/CreateTenant/events.js +16 -11
  398. package/features/tenancy/CreateTenant/events.js.map +1 -1
  399. package/features/tenancy/CreateTenant/feature.js +9 -8
  400. package/features/tenancy/CreateTenant/feature.js.map +1 -1
  401. package/features/tenancy/CreateTenant/index.js +2 -4
  402. package/features/tenancy/DeleteTenant/DeleteTenantGateway.js +15 -12
  403. package/features/tenancy/DeleteTenant/DeleteTenantGateway.js.map +1 -1
  404. package/features/tenancy/DeleteTenant/DeleteTenantRepository.js +22 -19
  405. package/features/tenancy/DeleteTenant/DeleteTenantRepository.js.map +1 -1
  406. package/features/tenancy/DeleteTenant/DeleteTenantUseCase.js +29 -27
  407. package/features/tenancy/DeleteTenant/DeleteTenantUseCase.js.map +1 -1
  408. package/features/tenancy/DeleteTenant/abstractions.js +6 -10
  409. package/features/tenancy/DeleteTenant/abstractions.js.map +1 -1
  410. package/features/tenancy/DeleteTenant/decorators/DeleteTenantWithWcpDecrement.js +16 -13
  411. package/features/tenancy/DeleteTenant/decorators/DeleteTenantWithWcpDecrement.js.map +1 -1
  412. package/features/tenancy/DeleteTenant/events.js +16 -11
  413. package/features/tenancy/DeleteTenant/events.js.map +1 -1
  414. package/features/tenancy/DeleteTenant/feature.js +9 -8
  415. package/features/tenancy/DeleteTenant/feature.js.map +1 -1
  416. package/features/tenancy/DeleteTenant/index.js +2 -4
  417. package/features/tenancy/GetRootTenant/GetRootTenantUseCase.js +15 -12
  418. package/features/tenancy/GetRootTenant/GetRootTenantUseCase.js.map +1 -1
  419. package/features/tenancy/GetRootTenant/abstractions.js +2 -4
  420. package/features/tenancy/GetRootTenant/abstractions.js.map +1 -1
  421. package/features/tenancy/GetRootTenant/feature.js +6 -5
  422. package/features/tenancy/GetRootTenant/feature.js.map +1 -1
  423. package/features/tenancy/GetRootTenant/index.js +0 -2
  424. package/features/tenancy/GetTenantById/GetTenantByIdGateway.js +17 -12
  425. package/features/tenancy/GetTenantById/GetTenantByIdGateway.js.map +1 -1
  426. package/features/tenancy/GetTenantById/GetTenantByIdRepository.js +18 -19
  427. package/features/tenancy/GetTenantById/GetTenantByIdRepository.js.map +1 -1
  428. package/features/tenancy/GetTenantById/GetTenantByIdUseCase.js +17 -17
  429. package/features/tenancy/GetTenantById/GetTenantByIdUseCase.js.map +1 -1
  430. package/features/tenancy/GetTenantById/abstractions.js +4 -6
  431. package/features/tenancy/GetTenantById/abstractions.js.map +1 -1
  432. package/features/tenancy/GetTenantById/feature.js +8 -12
  433. package/features/tenancy/GetTenantById/feature.js.map +1 -1
  434. package/features/tenancy/GetTenantById/index.js +1 -3
  435. package/features/tenancy/InstallTenant/DependencyResolver.js +53 -65
  436. package/features/tenancy/InstallTenant/DependencyResolver.js.map +1 -1
  437. package/features/tenancy/InstallTenant/InstallTenantUseCase.js +95 -113
  438. package/features/tenancy/InstallTenant/InstallTenantUseCase.js.map +1 -1
  439. package/features/tenancy/InstallTenant/abstractions.js +4 -15
  440. package/features/tenancy/InstallTenant/abstractions.js.map +1 -1
  441. package/features/tenancy/InstallTenant/errors.js +15 -16
  442. package/features/tenancy/InstallTenant/errors.js.map +1 -1
  443. package/features/tenancy/InstallTenant/events.js +8 -5
  444. package/features/tenancy/InstallTenant/events.js.map +1 -1
  445. package/features/tenancy/InstallTenant/feature.js +6 -5
  446. package/features/tenancy/InstallTenant/feature.js.map +1 -1
  447. package/features/tenancy/InstallTenant/index.js +1 -3
  448. package/features/tenancy/ListTenants/ListTenantsGateway.js +14 -11
  449. package/features/tenancy/ListTenants/ListTenantsGateway.js.map +1 -1
  450. package/features/tenancy/ListTenants/ListTenantsRepository.js +14 -12
  451. package/features/tenancy/ListTenants/ListTenantsRepository.js.map +1 -1
  452. package/features/tenancy/ListTenants/ListTenantsUseCase.js +16 -14
  453. package/features/tenancy/ListTenants/ListTenantsUseCase.js.map +1 -1
  454. package/features/tenancy/ListTenants/abstractions.js +4 -12
  455. package/features/tenancy/ListTenants/abstractions.js.map +1 -1
  456. package/features/tenancy/ListTenants/feature.js +8 -7
  457. package/features/tenancy/ListTenants/feature.js.map +1 -1
  458. package/features/tenancy/ListTenants/index.js +1 -3
  459. package/features/tenancy/TenancyFeature.js +20 -26
  460. package/features/tenancy/TenancyFeature.js.map +1 -1
  461. package/features/tenancy/TenantContext/TenantContext.js +46 -48
  462. package/features/tenancy/TenantContext/TenantContext.js.map +1 -1
  463. package/features/tenancy/TenantContext/abstractions.js +2 -2
  464. package/features/tenancy/TenantContext/abstractions.js.map +1 -1
  465. package/features/tenancy/TenantContext/errors.js +7 -7
  466. package/features/tenancy/TenantContext/errors.js.map +1 -1
  467. package/features/tenancy/TenantContext/feature.js +6 -5
  468. package/features/tenancy/TenantContext/feature.js.map +1 -1
  469. package/features/tenancy/TenantContext/index.js +0 -2
  470. package/features/tenancy/UpdateTenant/UpdateTenantGateway.js +14 -11
  471. package/features/tenancy/UpdateTenant/UpdateTenantGateway.js.map +1 -1
  472. package/features/tenancy/UpdateTenant/UpdateTenantRepository.js +19 -16
  473. package/features/tenancy/UpdateTenant/UpdateTenantRepository.js.map +1 -1
  474. package/features/tenancy/UpdateTenant/UpdateTenantUseCase.js +37 -36
  475. package/features/tenancy/UpdateTenant/UpdateTenantUseCase.js.map +1 -1
  476. package/features/tenancy/UpdateTenant/abstractions.js +6 -10
  477. package/features/tenancy/UpdateTenant/abstractions.js.map +1 -1
  478. package/features/tenancy/UpdateTenant/events.js +16 -11
  479. package/features/tenancy/UpdateTenant/events.js.map +1 -1
  480. package/features/tenancy/UpdateTenant/feature.js +8 -7
  481. package/features/tenancy/UpdateTenant/feature.js.map +1 -1
  482. package/features/tenancy/UpdateTenant/index.js +2 -4
  483. package/features/tenancy/shared/TenantCache.js +18 -17
  484. package/features/tenancy/shared/TenantCache.js.map +1 -1
  485. package/features/tenancy/shared/abstractions.js +2 -1
  486. package/features/tenancy/shared/abstractions.js.map +1 -1
  487. package/features/tenancy/shared/storageOperations.js +2 -5
  488. package/features/tenancy/shared/storageOperations.js.map +1 -1
  489. package/features/users/AdminUsersFeature.js +15 -19
  490. package/features/users/AdminUsersFeature.js.map +1 -1
  491. package/features/users/CreateUser/CreateUserUseCase.js +65 -100
  492. package/features/users/CreateUser/CreateUserUseCase.js.map +1 -1
  493. package/features/users/CreateUser/abstractions.js +2 -13
  494. package/features/users/CreateUser/abstractions.js.map +1 -1
  495. package/features/users/CreateUser/decorators/CreateUserWithWcpIncrement.js +16 -15
  496. package/features/users/CreateUser/decorators/CreateUserWithWcpIncrement.js.map +1 -1
  497. package/features/users/CreateUser/events.js +17 -18
  498. package/features/users/CreateUser/events.js.map +1 -1
  499. package/features/users/CreateUser/feature.js +7 -6
  500. package/features/users/CreateUser/feature.js.map +1 -1
  501. package/features/users/CreateUser/index.js +0 -2
  502. package/features/users/CreateUser/schema.js +14 -18
  503. package/features/users/CreateUser/schema.js.map +1 -1
  504. package/features/users/DeleteUser/DeleteUserUseCase.js +35 -50
  505. package/features/users/DeleteUser/DeleteUserUseCase.js.map +1 -1
  506. package/features/users/DeleteUser/abstractions.js +2 -13
  507. package/features/users/DeleteUser/abstractions.js.map +1 -1
  508. package/features/users/DeleteUser/decorators/DeleteUserWithWcpDecrement.js +15 -16
  509. package/features/users/DeleteUser/decorators/DeleteUserWithWcpDecrement.js.map +1 -1
  510. package/features/users/DeleteUser/errors.js +7 -7
  511. package/features/users/DeleteUser/errors.js.map +1 -1
  512. package/features/users/DeleteUser/events.js +17 -18
  513. package/features/users/DeleteUser/events.js.map +1 -1
  514. package/features/users/DeleteUser/feature.js +7 -6
  515. package/features/users/DeleteUser/feature.js.map +1 -1
  516. package/features/users/DeleteUser/index.js +0 -2
  517. package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.js +60 -74
  518. package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.js.map +1 -1
  519. package/features/users/ExternalIdpUserSync/feature.js +6 -5
  520. package/features/users/ExternalIdpUserSync/feature.js.map +1 -1
  521. package/features/users/ExternalIdpUserSync/index.js +0 -2
  522. package/features/users/GetIdentityProfile/GetIdentityProfileUseCase.js +29 -39
  523. package/features/users/GetIdentityProfile/GetIdentityProfileUseCase.js.map +1 -1
  524. package/features/users/GetIdentityProfile/abstractions.js +2 -11
  525. package/features/users/GetIdentityProfile/abstractions.js.map +1 -1
  526. package/features/users/GetIdentityProfile/feature.js +6 -5
  527. package/features/users/GetIdentityProfile/feature.js.map +1 -1
  528. package/features/users/GetIdentityProfile/index.js +0 -2
  529. package/features/users/GetIdentityProfile/types.js +0 -3
  530. package/features/users/GetUser/GetUserUseCase.js +19 -23
  531. package/features/users/GetUser/GetUserUseCase.js.map +1 -1
  532. package/features/users/GetUser/abstractions.js +2 -11
  533. package/features/users/GetUser/abstractions.js.map +1 -1
  534. package/features/users/GetUser/feature.js +6 -5
  535. package/features/users/GetUser/feature.js.map +1 -1
  536. package/features/users/GetUser/index.js +0 -2
  537. package/features/users/ListUserTeams/ListUserTeamsUseCase.js +33 -42
  538. package/features/users/ListUserTeams/ListUserTeamsUseCase.js.map +1 -1
  539. package/features/users/ListUserTeams/abstractions.js +2 -11
  540. package/features/users/ListUserTeams/abstractions.js.map +1 -1
  541. package/features/users/ListUserTeams/feature.js +6 -5
  542. package/features/users/ListUserTeams/feature.js.map +1 -1
  543. package/features/users/ListUserTeams/index.js +0 -2
  544. package/features/users/ListUsers/ListUsersUseCase.js +19 -23
  545. package/features/users/ListUsers/ListUsersUseCase.js.map +1 -1
  546. package/features/users/ListUsers/abstractions.js +2 -11
  547. package/features/users/ListUsers/abstractions.js.map +1 -1
  548. package/features/users/ListUsers/feature.js +6 -5
  549. package/features/users/ListUsers/feature.js.map +1 -1
  550. package/features/users/ListUsers/index.js +0 -2
  551. package/features/users/UpdateUser/UpdateUserUseCase.js +52 -74
  552. package/features/users/UpdateUser/UpdateUserUseCase.js.map +1 -1
  553. package/features/users/UpdateUser/abstractions.js +2 -13
  554. package/features/users/UpdateUser/abstractions.js.map +1 -1
  555. package/features/users/UpdateUser/events.js +17 -18
  556. package/features/users/UpdateUser/events.js.map +1 -1
  557. package/features/users/UpdateUser/feature.js +6 -5
  558. package/features/users/UpdateUser/feature.js.map +1 -1
  559. package/features/users/UpdateUser/index.js +0 -2
  560. package/features/users/UpdateUser/schema.js +11 -10
  561. package/features/users/UpdateUser/schema.js.map +1 -1
  562. package/features/users/shared/AdminUsersRepository.js +104 -112
  563. package/features/users/shared/AdminUsersRepository.js.map +1 -1
  564. package/features/users/shared/abstractions.js +2 -9
  565. package/features/users/shared/abstractions.js.map +1 -1
  566. package/features/users/shared/errors.js +40 -46
  567. package/features/users/shared/errors.js.map +1 -1
  568. package/features/users/shared/loaders.js +52 -66
  569. package/features/users/shared/loaders.js.map +1 -1
  570. package/features/users/shared/storageAbstractions.js +2 -2
  571. package/features/users/shared/storageAbstractions.js.map +1 -1
  572. package/features/users/shared/types.js +0 -3
  573. package/features/wcp/WcpContext/WcpContext.js +138 -142
  574. package/features/wcp/WcpContext/WcpContext.js.map +1 -1
  575. package/features/wcp/WcpContext/abstractions.js +2 -6
  576. package/features/wcp/WcpContext/abstractions.js.map +1 -1
  577. package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.js +135 -134
  578. package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.js.map +1 -1
  579. package/features/wcp/WcpContext/feature.js +6 -5
  580. package/features/wcp/WcpContext/feature.js.map +1 -1
  581. package/features/wcp/WcpContext/index.js +0 -2
  582. package/features/wcp/WcpContext/types.js +0 -3
  583. package/features/wcp/WcpContext/utils.js +35 -53
  584. package/features/wcp/WcpContext/utils.js.map +1 -1
  585. package/features/wcp/WcpFeature.js +7 -6
  586. package/features/wcp/WcpFeature.js.map +1 -1
  587. package/graphql/security/NotAuthorizedResponse.js +11 -14
  588. package/graphql/security/NotAuthorizedResponse.js.map +1 -1
  589. package/graphql/security/ProfileMapper.js +12 -11
  590. package/graphql/security/ProfileMapper.js.map +1 -1
  591. package/graphql/security/apiKey.gql.js +38 -47
  592. package/graphql/security/apiKey.gql.js.map +1 -1
  593. package/graphql/security/base.gql.js +11 -10
  594. package/graphql/security/base.gql.js.map +1 -1
  595. package/graphql/security/identity.gql.js +87 -97
  596. package/graphql/security/identity.gql.js.map +1 -1
  597. package/graphql/security/index.js +13 -8
  598. package/graphql/security/index.js.map +1 -1
  599. package/graphql/security/role.gql.js +49 -57
  600. package/graphql/security/role.gql.js.map +1 -1
  601. package/graphql/security/team.gql.js +61 -69
  602. package/graphql/security/team.gql.js.map +1 -1
  603. package/graphql/system/createSystemGraphQL.js +31 -34
  604. package/graphql/system/createSystemGraphQL.js.map +1 -1
  605. package/graphql/users/user.gql.js +87 -105
  606. package/graphql/users/user.gql.js.map +1 -1
  607. package/graphql/wcp/graphql.js +25 -28
  608. package/graphql/wcp/graphql.js.map +1 -1
  609. package/idp/JwksCache.js +22 -28
  610. package/idp/JwksCache.js.map +1 -1
  611. package/idp/JwtAuthenticator.js +34 -46
  612. package/idp/JwtAuthenticator.js.map +1 -1
  613. package/idp/OidcJwtIdentityProvider.js +55 -82
  614. package/idp/OidcJwtIdentityProvider.js.map +1 -1
  615. package/idp/abstractions.js +5 -14
  616. package/idp/abstractions.js.map +1 -1
  617. package/idp/feature.js +8 -7
  618. package/idp/feature.js.map +1 -1
  619. package/idp/index.js +1 -3
  620. package/idp/types.js +0 -3
  621. package/index.js +0 -2
  622. package/legacy/security/LegacyContext.js +133 -186
  623. package/legacy/security/LegacyContext.js.map +1 -1
  624. package/legacy/security/createSecurityContext.js +5 -9
  625. package/legacy/security/createSecurityContext.js.map +1 -1
  626. package/legacy/security/plugins/apiKeyAuthentication.js +15 -24
  627. package/legacy/security/plugins/apiKeyAuthentication.js.map +1 -1
  628. package/legacy/security/plugins/apiKeyAuthorization.js +9 -18
  629. package/legacy/security/plugins/apiKeyAuthorization.js.map +1 -1
  630. package/legacy/security/plugins/authenticateUsingCookie.js +18 -22
  631. package/legacy/security/plugins/authenticateUsingCookie.js.map +1 -1
  632. package/legacy/security/plugins/authenticateUsingHttpHeader.d.ts +1 -1
  633. package/legacy/security/plugins/authenticateUsingHttpHeader.js +15 -18
  634. package/legacy/security/plugins/authenticateUsingHttpHeader.js.map +1 -1
  635. package/legacy/security/plugins/secureHeaders.js +28 -21
  636. package/legacy/security/plugins/secureHeaders.js.map +1 -1
  637. package/legacy/tenancy/LegacyContext.js +45 -52
  638. package/legacy/tenancy/LegacyContext.js.map +1 -1
  639. package/legacy/tenancy/createTenancyContext.js +22 -42
  640. package/legacy/tenancy/createTenancyContext.js.map +1 -1
  641. package/legacy/users/LegacyContext.js +39 -54
  642. package/legacy/users/LegacyContext.js.map +1 -1
  643. package/legacy/users/createAdminUsersContext.js +7 -7
  644. package/legacy/users/createAdminUsersContext.js.map +1 -1
  645. package/legacy/wcp/LegacyWcpContext.js +80 -79
  646. package/legacy/wcp/LegacyWcpContext.js.map +1 -1
  647. package/legacy/wcp/context.d.ts +1 -3
  648. package/legacy/wcp/context.js +33 -37
  649. package/legacy/wcp/context.js.map +1 -1
  650. package/models/base/BaseModel.js +51 -56
  651. package/models/base/BaseModel.js.map +1 -1
  652. package/models/base/ModelBuilder.js +65 -78
  653. package/models/base/ModelBuilder.js.map +1 -1
  654. package/models/base/ModelFactory.js +0 -3
  655. package/models/base/__tests__/ModelBuilder.test.js +437 -454
  656. package/models/base/__tests__/ModelBuilder.test.js.map +1 -1
  657. package/models/base/abstractions.js +0 -3
  658. package/models/cms/FieldBuilder.js +112 -121
  659. package/models/cms/FieldBuilder.js.map +1 -1
  660. package/models/cms/FieldBuilderRegistry.js +13 -12
  661. package/models/cms/FieldBuilderRegistry.js.map +1 -1
  662. package/models/cms/FieldDefinitionsBuilder.js +37 -54
  663. package/models/cms/FieldDefinitionsBuilder.js.map +1 -1
  664. package/models/cms/PrivateCmsModelBuilder.js +84 -89
  665. package/models/cms/PrivateCmsModelBuilder.js.map +1 -1
  666. package/models/cms/PrivatePage/Page.fields.js +7 -6
  667. package/models/cms/PrivatePage/Page.fields.js.map +1 -1
  668. package/models/cms/PrivatePage/PageModelBuilder.js +18 -15
  669. package/models/cms/PrivatePage/PageModelBuilder.js.map +1 -1
  670. package/models/cms/PrivatePage/PageModelFactory.js +20 -25
  671. package/models/cms/PrivatePage/PageModelFactory.js.map +1 -1
  672. package/models/cms/PrivatePage/__tests__/PageModelFactory.test.js +218 -234
  673. package/models/cms/PrivatePage/__tests__/PageModelFactory.test.js.map +1 -1
  674. package/models/cms/PrivatePage/__tests__/PagePublishingDecorator.js +33 -36
  675. package/models/cms/PrivatePage/__tests__/PagePublishingDecorator.js.map +1 -1
  676. package/models/cms/PrivatePage/__tests__/PageSeoDecorator.js +25 -26
  677. package/models/cms/PrivatePage/__tests__/PageSeoDecorator.js.map +1 -1
  678. package/models/cms/PrivatePage/abstractions.js +3 -9
  679. package/models/cms/PrivatePage/abstractions.js.map +1 -1
  680. package/models/cms/__tests__/PrivateCmsModelBuilder.test.js +173 -185
  681. package/models/cms/__tests__/PrivateCmsModelBuilder.test.js.map +1 -1
  682. package/models/cms/abstractions.js +3 -20
  683. package/models/cms/abstractions.js.map +1 -1
  684. package/models/cms/types.js +0 -3
  685. package/models/simple/Page/PageModelBuilder.js +15 -14
  686. package/models/simple/Page/PageModelBuilder.js.map +1 -1
  687. package/models/simple/Page/PageModelFactory.js +16 -15
  688. package/models/simple/Page/PageModelFactory.js.map +1 -1
  689. package/models/simple/Page/__tests__/PageModelBuilderDecorator.js +21 -20
  690. package/models/simple/Page/__tests__/PageModelBuilderDecorator.js.map +1 -1
  691. package/models/simple/Page/__tests__/PageModelBuilderDecorator2.js +17 -16
  692. package/models/simple/Page/__tests__/PageModelBuilderDecorator2.js.map +1 -1
  693. package/models/simple/Page/__tests__/PageModelFactory.test.js +28 -28
  694. package/models/simple/Page/__tests__/PageModelFactory.test.js.map +1 -1
  695. package/models/simple/Page/abstractions.js +9 -8
  696. package/models/simple/Page/abstractions.js.map +1 -1
  697. package/package.json +21 -21
  698. package/types/core.js +0 -3
  699. package/types/security.js +0 -3
  700. package/types/tenancy.js +0 -3
  701. package/types/users.js +0 -3
  702. package/domain/tenancy/errors.js.map +0 -1
  703. package/exports/api/build-params.js.map +0 -1
  704. package/exports/api/event-publisher.js.map +0 -1
  705. package/exports/api/graphql.js.map +0 -1
  706. package/exports/api/key-value-store.js.map +0 -1
  707. package/exports/api/logger.js.map +0 -1
  708. package/exports/api/security/api-key.js.map +0 -1
  709. package/exports/api/security/authentication.js.map +0 -1
  710. package/exports/api/security/role.js.map +0 -1
  711. package/exports/api/security/user.js.map +0 -1
  712. package/exports/api/security.js.map +0 -1
  713. package/exports/api/system.js.map +0 -1
  714. package/exports/api/tasks.js.map +0 -1
  715. package/exports/api/tenancy.js.map +0 -1
  716. package/exports/api.js.map +0 -1
  717. package/features/ai/index.js.map +0 -1
  718. package/features/buildParams/index.js.map +0 -1
  719. package/features/encryption/index.js.map +0 -1
  720. package/features/eventPublisher/index.js.map +0 -1
  721. package/features/keyValueStore/index.js.map +0 -1
  722. package/features/logger/index.js.map +0 -1
  723. package/features/masker/index.js.map +0 -1
  724. package/features/security/IdentityContext/index.js.map +0 -1
  725. package/features/security/apiKeys/CreateApiKey/index.js.map +0 -1
  726. package/features/security/apiKeys/DeleteApiKey/index.js.map +0 -1
  727. package/features/security/apiKeys/GetApiKey/index.js.map +0 -1
  728. package/features/security/apiKeys/GetApiKeyBySlug/index.js.map +0 -1
  729. package/features/security/apiKeys/GetApiKeyByToken/index.js.map +0 -1
  730. package/features/security/apiKeys/ListApiKeys/index.js.map +0 -1
  731. package/features/security/apiKeys/UpdateApiKey/index.js.map +0 -1
  732. package/features/security/apiKeys/shared/types.js.map +0 -1
  733. package/features/security/authentication/AuthenticationContext/index.js.map +0 -1
  734. package/features/security/authentication/Authenticator/index.js.map +0 -1
  735. package/features/security/authorization/AuthorizationContext/index.js.map +0 -1
  736. package/features/security/authorization/Authorizer/index.js.map +0 -1
  737. package/features/security/login/index.js.map +0 -1
  738. package/features/security/permissions/index.js.map +0 -1
  739. package/features/security/permissions/types.js.map +0 -1
  740. package/features/security/roles/CreateRole/index.js.map +0 -1
  741. package/features/security/roles/DeleteRole/index.js.map +0 -1
  742. package/features/security/roles/GetRole/index.js.map +0 -1
  743. package/features/security/roles/ListRoles/index.js.map +0 -1
  744. package/features/security/roles/UpdateRole/index.js.map +0 -1
  745. package/features/security/roles/shared/types.js.map +0 -1
  746. package/features/security/shared/index.js.map +0 -1
  747. package/features/security/teams/CreateTeam/index.js.map +0 -1
  748. package/features/security/teams/DeleteTeam/index.js.map +0 -1
  749. package/features/security/teams/GetTeam/index.js.map +0 -1
  750. package/features/security/teams/ListTeams/index.js.map +0 -1
  751. package/features/security/teams/UpdateTeam/index.js.map +0 -1
  752. package/features/security/teams/shared/types.js.map +0 -1
  753. package/features/system/InstallSystem/index.js.map +0 -1
  754. package/features/task/TaskController/index.js.map +0 -1
  755. package/features/task/TaskDefinition/index.js.map +0 -1
  756. package/features/task/TaskService/index.js.map +0 -1
  757. package/features/tenancy/CreateTenant/index.js.map +0 -1
  758. package/features/tenancy/DeleteTenant/index.js.map +0 -1
  759. package/features/tenancy/GetRootTenant/index.js.map +0 -1
  760. package/features/tenancy/GetTenantById/index.js.map +0 -1
  761. package/features/tenancy/InstallTenant/index.js.map +0 -1
  762. package/features/tenancy/ListTenants/index.js.map +0 -1
  763. package/features/tenancy/TenantContext/index.js.map +0 -1
  764. package/features/tenancy/UpdateTenant/index.js.map +0 -1
  765. package/features/users/CreateUser/index.js.map +0 -1
  766. package/features/users/DeleteUser/index.js.map +0 -1
  767. package/features/users/ExternalIdpUserSync/index.js.map +0 -1
  768. package/features/users/GetIdentityProfile/index.js.map +0 -1
  769. package/features/users/GetIdentityProfile/types.js.map +0 -1
  770. package/features/users/GetUser/index.js.map +0 -1
  771. package/features/users/ListUserTeams/index.js.map +0 -1
  772. package/features/users/ListUsers/index.js.map +0 -1
  773. package/features/users/UpdateUser/index.js.map +0 -1
  774. package/features/users/shared/types.js.map +0 -1
  775. package/features/wcp/WcpContext/index.js.map +0 -1
  776. package/features/wcp/WcpContext/types.js.map +0 -1
  777. package/idp/index.js.map +0 -1
  778. package/idp/types.js.map +0 -1
  779. package/index.js.map +0 -1
  780. package/models/base/ModelFactory.js.map +0 -1
  781. package/models/base/abstractions.js.map +0 -1
  782. package/models/cms/types.js.map +0 -1
  783. package/types/core.js.map +0 -1
  784. package/types/security.js.map +0 -1
  785. package/types/tenancy.js.map +0 -1
  786. package/types/users.js.map +0 -1
@@ -1,63 +1,62 @@
1
1
  import { mdbid } from "@webiny/utils";
2
2
  import { Result } from "@webiny/feature/api";
3
3
  import { EventPublisher } from "../../../eventPublisher/index.js";
4
- import { CreateApiKeyUseCase as CreateApiKeyUseCaseAbstraction } from "./abstractions.js";
4
+ import { CreateApiKeyUseCase } from "./abstractions.js";
5
5
  import { ApiKeysRepository } from "../shared/abstractions.js";
6
6
  import { IdentityContext } from "../../IdentityContext/abstractions.js";
7
7
  import { createApiKeyInputSchema } from "../shared/schemas.js";
8
- import { ApiKeyBeforeCreateEvent, ApiKeyAfterCreateEvent } from "./events.js";
8
+ import { ApiKeyAfterCreateEvent, ApiKeyBeforeCreateEvent } from "./events.js";
9
9
  import { generateToken } from "../shared/generateToken.js";
10
- import { ApiKeyValidationError, ApiKeyNotAuthorizedError } from "../shared/errors.js";
10
+ import { ApiKeyNotAuthorizedError, ApiKeyValidationError } from "../shared/errors.js";
11
11
  class CreateApiKeyUseCaseImpl {
12
- constructor(identityContext, eventPublisher, repository) {
13
- this.identityContext = identityContext;
14
- this.eventPublisher = eventPublisher;
15
- this.repository = repository;
16
- }
17
- async execute(input) {
18
- const hasPermission = await this.identityContext.getPermission("security.apiKey");
19
- if (!hasPermission) {
20
- return Result.fail(new ApiKeyNotAuthorizedError());
12
+ constructor(identityContext, eventPublisher, repository){
13
+ this.identityContext = identityContext;
14
+ this.eventPublisher = eventPublisher;
15
+ this.repository = repository;
21
16
  }
22
- const validation = createApiKeyInputSchema.safeParse(input);
23
- if (!validation.success) {
24
- return Result.fail(new ApiKeyValidationError(validation.error.issues[0].message));
17
+ async execute(input) {
18
+ const hasPermission = await this.identityContext.getPermission("security.apiKey");
19
+ if (!hasPermission) return Result.fail(new ApiKeyNotAuthorizedError());
20
+ const validation = createApiKeyInputSchema.safeParse(input);
21
+ if (!validation.success) return Result.fail(new ApiKeyValidationError(validation.error.issues[0].message));
22
+ const token = generateToken();
23
+ const identity = this.identityContext.getIdentity();
24
+ const data = validation.data;
25
+ const apiKey = {
26
+ id: mdbid(),
27
+ name: data.name,
28
+ slug: data.slug,
29
+ description: data.description,
30
+ token,
31
+ permissions: data.permissions,
32
+ createdOn: new Date().toISOString(),
33
+ createdBy: {
34
+ id: identity.id,
35
+ displayName: identity.displayName,
36
+ type: identity.type
37
+ }
38
+ };
39
+ await this.eventPublisher.publish(new ApiKeyBeforeCreateEvent({
40
+ apiKey,
41
+ input: validation.data
42
+ }));
43
+ const result = await this.repository.create(apiKey);
44
+ if (result.isFail()) return Result.fail(result.error);
45
+ await this.eventPublisher.publish(new ApiKeyAfterCreateEvent({
46
+ apiKey,
47
+ input: validation.data
48
+ }));
49
+ return Result.ok(apiKey);
25
50
  }
26
- const token = generateToken();
27
- const identity = this.identityContext.getIdentity();
28
- const data = validation.data;
29
- const apiKey = {
30
- id: mdbid(),
31
- name: data.name,
32
- slug: data.slug,
33
- description: data.description,
34
- token,
35
- permissions: data.permissions,
36
- createdOn: new Date().toISOString(),
37
- createdBy: {
38
- id: identity.id,
39
- displayName: identity.displayName,
40
- type: identity.type
41
- }
42
- };
43
- await this.eventPublisher.publish(new ApiKeyBeforeCreateEvent({
44
- apiKey,
45
- input: validation.data
46
- }));
47
- const result = await this.repository.create(apiKey);
48
- if (result.isFail()) {
49
- return Result.fail(result.error);
50
- }
51
- await this.eventPublisher.publish(new ApiKeyAfterCreateEvent({
52
- apiKey,
53
- input: validation.data
54
- }));
55
- return Result.ok(apiKey);
56
- }
57
51
  }
58
- export const CreateApiKeyUseCase = CreateApiKeyUseCaseAbstraction.createImplementation({
59
- implementation: CreateApiKeyUseCaseImpl,
60
- dependencies: [IdentityContext, EventPublisher, ApiKeysRepository]
52
+ const CreateApiKeyUseCase_CreateApiKeyUseCase = CreateApiKeyUseCase.createImplementation({
53
+ implementation: CreateApiKeyUseCaseImpl,
54
+ dependencies: [
55
+ IdentityContext,
56
+ EventPublisher,
57
+ ApiKeysRepository
58
+ ]
61
59
  });
60
+ export { CreateApiKeyUseCase_CreateApiKeyUseCase as CreateApiKeyUseCase };
62
61
 
63
62
  //# sourceMappingURL=CreateApiKeyUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["mdbid","Result","EventPublisher","CreateApiKeyUseCase","CreateApiKeyUseCaseAbstraction","ApiKeysRepository","IdentityContext","createApiKeyInputSchema","ApiKeyBeforeCreateEvent","ApiKeyAfterCreateEvent","generateToken","ApiKeyValidationError","ApiKeyNotAuthorizedError","CreateApiKeyUseCaseImpl","constructor","identityContext","eventPublisher","repository","execute","input","hasPermission","getPermission","fail","validation","safeParse","success","error","issues","message","token","identity","getIdentity","data","apiKey","id","name","slug","description","permissions","createdOn","Date","toISOString","createdBy","displayName","type","publish","result","create","isFail","ok","createImplementation","implementation","dependencies"],"sources":["CreateApiKeyUseCase.ts"],"sourcesContent":["import { mdbid } from \"@webiny/utils\";\nimport { Result } from \"@webiny/feature/api\";\nimport { EventPublisher } from \"~/features/eventPublisher/index.js\";\nimport { CreateApiKeyUseCase as CreateApiKeyUseCaseAbstraction } from \"./abstractions.js\";\nimport { ApiKeysRepository } from \"../shared/abstractions.js\";\nimport { IdentityContext } from \"../../IdentityContext/abstractions.js\";\nimport { createApiKeyInputSchema } from \"../shared/schemas.js\";\nimport { ApiKeyBeforeCreateEvent, ApiKeyAfterCreateEvent } from \"./events.js\";\nimport type { ApiKey, CreateApiKeyInput } from \"../shared/types.js\";\nimport type { ApiKeyPermission } from \"~/types/security.js\";\nimport { generateToken } from \"../shared/generateToken.js\";\nimport { ApiKeyValidationError, ApiKeyNotAuthorizedError } from \"../shared/errors.js\";\n\nclass CreateApiKeyUseCaseImpl implements CreateApiKeyUseCaseAbstraction.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private eventPublisher: EventPublisher.Interface,\n private repository: ApiKeysRepository.Interface\n ) {}\n\n async execute(\n input: CreateApiKeyInput\n ): Promise<Result<ApiKey, CreateApiKeyUseCaseAbstraction.Error>> {\n const hasPermission =\n await this.identityContext.getPermission<ApiKeyPermission>(\"security.apiKey\");\n\n if (!hasPermission) {\n return Result.fail(new ApiKeyNotAuthorizedError());\n }\n\n const validation = createApiKeyInputSchema.safeParse(input);\n if (!validation.success) {\n return Result.fail(new ApiKeyValidationError(validation.error.issues[0].message));\n }\n\n const token = generateToken();\n const identity = this.identityContext.getIdentity();\n const data = validation.data;\n\n const apiKey: ApiKey = {\n id: mdbid(),\n name: data.name,\n slug: data.slug,\n description: data.description,\n token,\n permissions: data.permissions,\n createdOn: new Date().toISOString(),\n createdBy: {\n id: identity.id,\n displayName: identity.displayName,\n type: identity.type\n }\n };\n\n await this.eventPublisher.publish(\n new ApiKeyBeforeCreateEvent({ apiKey, input: validation.data })\n );\n\n const result = await this.repository.create(apiKey);\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n await this.eventPublisher.publish(\n new ApiKeyAfterCreateEvent({ apiKey, input: validation.data })\n );\n\n return Result.ok(apiKey);\n }\n}\n\nexport const CreateApiKeyUseCase = CreateApiKeyUseCaseAbstraction.createImplementation({\n implementation: CreateApiKeyUseCaseImpl,\n dependencies: [IdentityContext, EventPublisher, ApiKeysRepository]\n});\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,eAAe;AACrC,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,cAAc;AACvB,SAASC,mBAAmB,IAAIC,8BAA8B;AAC9D,SAASC,iBAAiB;AAC1B,SAASC,eAAe;AACxB,SAASC,uBAAuB;AAChC,SAASC,uBAAuB,EAAEC,sBAAsB;AAGxD,SAASC,aAAa;AACtB,SAASC,qBAAqB,EAAEC,wBAAwB;AAExD,MAAMC,uBAAuB,CAAqD;EAC9EC,WAAWA,CACCC,eAA0C,EAC1CC,cAAwC,EACxCC,UAAuC,EACjD;IAAA,KAHUF,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,cAAwC,GAAxCA,cAAwC;IAAA,KACxCC,UAAuC,GAAvCA,UAAuC;EAChD;EAEH,MAAMC,OAAOA,CACTC,KAAwB,EACqC;IAC7D,MAAMC,aAAa,GACf,MAAM,IAAI,CAACL,eAAe,CAACM,aAAa,CAAmB,iBAAiB,CAAC;IAEjF,IAAI,CAACD,aAAa,EAAE;MAChB,OAAOnB,MAAM,CAACqB,IAAI,CAAC,IAAIV,wBAAwB,CAAC,CAAC,CAAC;IACtD;IAEA,MAAMW,UAAU,GAAGhB,uBAAuB,CAACiB,SAAS,CAACL,KAAK,CAAC;IAC3D,IAAI,CAACI,UAAU,CAACE,OAAO,EAAE;MACrB,OAAOxB,MAAM,CAACqB,IAAI,CAAC,IAAIX,qBAAqB,CAACY,UAAU,CAACG,KAAK,CAACC,MAAM,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;IACrF;IAEA,MAAMC,KAAK,GAAGnB,aAAa,CAAC,CAAC;IAC7B,MAAMoB,QAAQ,GAAG,IAAI,CAACf,eAAe,CAACgB,WAAW,CAAC,CAAC;IACnD,MAAMC,IAAI,GAAGT,UAAU,CAACS,IAAI;IAE5B,MAAMC,MAAc,GAAG;MACnBC,EAAE,EAAElC,KAAK,CAAC,CAAC;MACXmC,IAAI,EAAEH,IAAI,CAACG,IAAI;MACfC,IAAI,EAAEJ,IAAI,CAACI,IAAI;MACfC,WAAW,EAAEL,IAAI,CAACK,WAAW;MAC7BR,KAAK;MACLS,WAAW,EAAEN,IAAI,CAACM,WAAW;MAC7BC,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;MACnCC,SAAS,EAAE;QACPR,EAAE,EAAEJ,QAAQ,CAACI,EAAE;QACfS,WAAW,EAAEb,QAAQ,CAACa,WAAW;QACjCC,IAAI,EAAEd,QAAQ,CAACc;MACnB;IACJ,CAAC;IAED,MAAM,IAAI,CAAC5B,cAAc,CAAC6B,OAAO,CAC7B,IAAIrC,uBAAuB,CAAC;MAAEyB,MAAM;MAAEd,KAAK,EAAEI,UAAU,CAACS;IAAK,CAAC,CAClE,CAAC;IAED,MAAMc,MAAM,GAAG,MAAM,IAAI,CAAC7B,UAAU,CAAC8B,MAAM,CAACd,MAAM,CAAC;IAEnD,IAAIa,MAAM,CAACE,MAAM,CAAC,CAAC,EAAE;MACjB,OAAO/C,MAAM,CAACqB,IAAI,CAACwB,MAAM,CAACpB,KAAK,CAAC;IACpC;IAEA,MAAM,IAAI,CAACV,cAAc,CAAC6B,OAAO,CAC7B,IAAIpC,sBAAsB,CAAC;MAAEwB,MAAM;MAAEd,KAAK,EAAEI,UAAU,CAACS;IAAK,CAAC,CACjE,CAAC;IAED,OAAO/B,MAAM,CAACgD,EAAE,CAAChB,MAAM,CAAC;EAC5B;AACJ;AAEA,OAAO,MAAM9B,mBAAmB,GAAGC,8BAA8B,CAAC8C,oBAAoB,CAAC;EACnFC,cAAc,EAAEtC,uBAAuB;EACvCuC,YAAY,EAAE,CAAC9C,eAAe,EAAEJ,cAAc,EAAEG,iBAAiB;AACrE,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/apiKeys/CreateApiKey/CreateApiKeyUseCase.js","sources":["../../../../../src/features/security/apiKeys/CreateApiKey/CreateApiKeyUseCase.ts"],"sourcesContent":["import { mdbid } from \"@webiny/utils\";\nimport { Result } from \"@webiny/feature/api\";\nimport { EventPublisher } from \"~/features/eventPublisher/index.js\";\nimport { CreateApiKeyUseCase as CreateApiKeyUseCaseAbstraction } from \"./abstractions.js\";\nimport { ApiKeysRepository } from \"../shared/abstractions.js\";\nimport { IdentityContext } from \"../../IdentityContext/abstractions.js\";\nimport { createApiKeyInputSchema } from \"../shared/schemas.js\";\nimport { ApiKeyBeforeCreateEvent, ApiKeyAfterCreateEvent } from \"./events.js\";\nimport type { ApiKey, CreateApiKeyInput } from \"../shared/types.js\";\nimport type { ApiKeyPermission } from \"~/types/security.js\";\nimport { generateToken } from \"../shared/generateToken.js\";\nimport { ApiKeyValidationError, ApiKeyNotAuthorizedError } from \"../shared/errors.js\";\n\nclass CreateApiKeyUseCaseImpl implements CreateApiKeyUseCaseAbstraction.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private eventPublisher: EventPublisher.Interface,\n private repository: ApiKeysRepository.Interface\n ) {}\n\n async execute(\n input: CreateApiKeyInput\n ): Promise<Result<ApiKey, CreateApiKeyUseCaseAbstraction.Error>> {\n const hasPermission =\n await this.identityContext.getPermission<ApiKeyPermission>(\"security.apiKey\");\n\n if (!hasPermission) {\n return Result.fail(new ApiKeyNotAuthorizedError());\n }\n\n const validation = createApiKeyInputSchema.safeParse(input);\n if (!validation.success) {\n return Result.fail(new ApiKeyValidationError(validation.error.issues[0].message));\n }\n\n const token = generateToken();\n const identity = this.identityContext.getIdentity();\n const data = validation.data;\n\n const apiKey: ApiKey = {\n id: mdbid(),\n name: data.name,\n slug: data.slug,\n description: data.description,\n token,\n permissions: data.permissions,\n createdOn: new Date().toISOString(),\n createdBy: {\n id: identity.id,\n displayName: identity.displayName,\n type: identity.type\n }\n };\n\n await this.eventPublisher.publish(\n new ApiKeyBeforeCreateEvent({ apiKey, input: validation.data })\n );\n\n const result = await this.repository.create(apiKey);\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n await this.eventPublisher.publish(\n new ApiKeyAfterCreateEvent({ apiKey, input: validation.data })\n );\n\n return Result.ok(apiKey);\n }\n}\n\nexport const CreateApiKeyUseCase = CreateApiKeyUseCaseAbstraction.createImplementation({\n implementation: CreateApiKeyUseCaseImpl,\n dependencies: [IdentityContext, EventPublisher, ApiKeysRepository]\n});\n"],"names":["CreateApiKeyUseCaseImpl","identityContext","eventPublisher","repository","input","hasPermission","Result","ApiKeyNotAuthorizedError","validation","createApiKeyInputSchema","ApiKeyValidationError","token","generateToken","identity","data","apiKey","mdbid","Date","ApiKeyBeforeCreateEvent","result","ApiKeyAfterCreateEvent","CreateApiKeyUseCase","CreateApiKeyUseCaseAbstraction","IdentityContext","EventPublisher","ApiKeysRepository"],"mappings":";;;;;;;;;;AAaA,MAAMA;IACF,YACYC,eAA0C,EAC1CC,cAAwC,EACxCC,UAAuC,CACjD;aAHUF,eAAe,GAAfA;aACAC,cAAc,GAAdA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAM,QACFC,KAAwB,EACqC;QAC7D,MAAMC,gBACF,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAmB;QAE/D,IAAI,CAACA,eACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAG3B,MAAMC,aAAaC,wBAAwB,SAAS,CAACL;QACrD,IAAI,CAACI,WAAW,OAAO,EACnB,OAAOF,OAAO,IAAI,CAAC,IAAII,sBAAsBF,WAAW,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO;QAGnF,MAAMG,QAAQC;QACd,MAAMC,WAAW,IAAI,CAAC,eAAe,CAAC,WAAW;QACjD,MAAMC,OAAON,WAAW,IAAI;QAE5B,MAAMO,SAAiB;YACnB,IAAIC;YACJ,MAAMF,KAAK,IAAI;YACf,MAAMA,KAAK,IAAI;YACf,aAAaA,KAAK,WAAW;YAC7BH;YACA,aAAaG,KAAK,WAAW;YAC7B,WAAW,IAAIG,OAAO,WAAW;YACjC,WAAW;gBACP,IAAIJ,SAAS,EAAE;gBACf,aAAaA,SAAS,WAAW;gBACjC,MAAMA,SAAS,IAAI;YACvB;QACJ;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIK,wBAAwB;YAAEH;YAAQ,OAAOP,WAAW,IAAI;QAAC;QAGjE,MAAMW,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAACJ;QAE5C,IAAII,OAAO,MAAM,IACb,OAAOb,OAAO,IAAI,CAACa,OAAO,KAAK;QAGnC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIC,uBAAuB;YAAEL;YAAQ,OAAOP,WAAW,IAAI;QAAC;QAGhE,OAAOF,OAAO,EAAE,CAACS;IACrB;AACJ;AAEO,MAAMM,0CAAsBC,oBAAAA,oBAAmD,CAAC;IACnF,gBAAgBtB;IAChB,cAAc;QAACuB;QAAiBC;QAAgBC;KAAkB;AACtE"}
@@ -1,5 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
- /** Create a new API key. */
3
- export const CreateApiKeyUseCase = createAbstraction("CreateApiKeyUseCase");
2
+ const CreateApiKeyUseCase = createAbstraction("CreateApiKeyUseCase");
3
+ export { CreateApiKeyUseCase };
4
4
 
5
5
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","CreateApiKeyUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport type { ApiKey, CreateApiKeyInput } from \"../shared/types.js\";\nimport { ApiKeysRepository } from \"../shared/abstractions.js\";\nimport { ApiKeyNotAuthorizedError, ApiKeyValidationError } from \"../shared/errors.js\";\n\nexport interface ICreateApiKeyErrors {\n notAuthorized: ApiKeyNotAuthorizedError;\n validation: ApiKeyValidationError;\n}\n\ntype CreateApiKeyError = ICreateApiKeyErrors[keyof ICreateApiKeyErrors] | ApiKeysRepository.Error;\n\nexport interface ICreateApiKey {\n execute(input: CreateApiKeyInput): Promise<Result<ApiKey, CreateApiKeyError>>;\n}\n\n/** Create a new API key. */\nexport const CreateApiKeyUseCase = createAbstraction<ICreateApiKey>(\"CreateApiKeyUseCase\");\n\nexport namespace CreateApiKeyUseCase {\n export type Interface = ICreateApiKey;\n export type Error = CreateApiKeyError;\n}\n\nexport interface ApiKeyBeforeCreatePayload {\n apiKey: ApiKey;\n input: CreateApiKeyInput;\n}\n\nexport interface ApiKeyAfterCreatePayload {\n apiKey: ApiKey;\n input: CreateApiKeyInput;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAiBvD;AACA,OAAO,MAAMC,mBAAmB,GAAGD,iBAAiB,CAAgB,qBAAqB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/apiKeys/CreateApiKey/abstractions.js","sources":["../../../../../src/features/security/apiKeys/CreateApiKey/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport type { ApiKey, CreateApiKeyInput } from \"../shared/types.js\";\nimport { ApiKeysRepository } from \"../shared/abstractions.js\";\nimport { ApiKeyNotAuthorizedError, ApiKeyValidationError } from \"../shared/errors.js\";\n\nexport interface ICreateApiKeyErrors {\n notAuthorized: ApiKeyNotAuthorizedError;\n validation: ApiKeyValidationError;\n}\n\ntype CreateApiKeyError = ICreateApiKeyErrors[keyof ICreateApiKeyErrors] | ApiKeysRepository.Error;\n\nexport interface ICreateApiKey {\n execute(input: CreateApiKeyInput): Promise<Result<ApiKey, CreateApiKeyError>>;\n}\n\n/** Create a new API key. */\nexport const CreateApiKeyUseCase = createAbstraction<ICreateApiKey>(\"CreateApiKeyUseCase\");\n\nexport namespace CreateApiKeyUseCase {\n export type Interface = ICreateApiKey;\n export type Error = CreateApiKeyError;\n}\n\nexport interface ApiKeyBeforeCreatePayload {\n apiKey: ApiKey;\n input: CreateApiKeyInput;\n}\n\nexport interface ApiKeyAfterCreatePayload {\n apiKey: ApiKey;\n input: CreateApiKeyInput;\n}\n"],"names":["CreateApiKeyUseCase","createAbstraction"],"mappings":";AAkBO,MAAMA,sBAAsBC,kBAAiC"}
@@ -1,22 +1,23 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
2
  import { DomainEvent } from "../../../eventPublisher/index.js";
3
- export class ApiKeyBeforeCreateEvent extends DomainEvent {
4
- eventType = "apiKey.beforeCreate";
5
- getHandlerAbstraction() {
6
- return ApiKeyBeforeCreateEventHandler;
7
- }
3
+ class ApiKeyBeforeCreateEvent extends DomainEvent {
4
+ getHandlerAbstraction() {
5
+ return ApiKeyBeforeCreateEventHandler;
6
+ }
7
+ constructor(...args){
8
+ super(...args), this.eventType = "apiKey.beforeCreate";
9
+ }
8
10
  }
9
-
10
- /** Hook into API key lifecycle before an API key is created. */
11
- export const ApiKeyBeforeCreateEventHandler = createAbstraction("ApiKeyBeforeCreateEventHandler");
12
- export class ApiKeyAfterCreateEvent extends DomainEvent {
13
- eventType = "apiKey.afterCreate";
14
- getHandlerAbstraction() {
15
- return ApiKeyAfterCreateEventHandler;
16
- }
11
+ const ApiKeyBeforeCreateEventHandler = createAbstraction("ApiKeyBeforeCreateEventHandler");
12
+ class ApiKeyAfterCreateEvent extends DomainEvent {
13
+ getHandlerAbstraction() {
14
+ return ApiKeyAfterCreateEventHandler;
15
+ }
16
+ constructor(...args){
17
+ super(...args), this.eventType = "apiKey.afterCreate";
18
+ }
17
19
  }
18
-
19
- /** Hook into API key lifecycle after an API key is created. */
20
- export const ApiKeyAfterCreateEventHandler = createAbstraction("ApiKeyAfterCreateEventHandler");
20
+ const ApiKeyAfterCreateEventHandler = createAbstraction("ApiKeyAfterCreateEventHandler");
21
+ export { ApiKeyAfterCreateEvent, ApiKeyAfterCreateEventHandler, ApiKeyBeforeCreateEvent, ApiKeyBeforeCreateEventHandler };
21
22
 
22
23
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","DomainEvent","ApiKeyBeforeCreateEvent","eventType","getHandlerAbstraction","ApiKeyBeforeCreateEventHandler","ApiKeyAfterCreateEvent","ApiKeyAfterCreateEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport type { IEventHandler } from \"~/features/eventPublisher/index.js\";\nimport type { ApiKeyBeforeCreatePayload, ApiKeyAfterCreatePayload } from \"./abstractions.js\";\n\nexport class ApiKeyBeforeCreateEvent extends DomainEvent<ApiKeyBeforeCreatePayload> {\n eventType = \"apiKey.beforeCreate\" as const;\n\n getHandlerAbstraction() {\n return ApiKeyBeforeCreateEventHandler;\n }\n}\n\n/** Hook into API key lifecycle before an API key is created. */\nexport const ApiKeyBeforeCreateEventHandler = createAbstraction<\n IEventHandler<ApiKeyBeforeCreateEvent>\n>(\"ApiKeyBeforeCreateEventHandler\");\n\nexport namespace ApiKeyBeforeCreateEventHandler {\n export type Interface = IEventHandler<ApiKeyBeforeCreateEvent>;\n export type Event = ApiKeyBeforeCreateEvent;\n}\n\nexport class ApiKeyAfterCreateEvent extends DomainEvent<ApiKeyAfterCreatePayload> {\n eventType = \"apiKey.afterCreate\" as const;\n\n getHandlerAbstraction() {\n return ApiKeyAfterCreateEventHandler;\n }\n}\n\n/** Hook into API key lifecycle after an API key is created. */\nexport const ApiKeyAfterCreateEventHandler = createAbstraction<\n IEventHandler<ApiKeyAfterCreateEvent>\n>(\"ApiKeyAfterCreateEventHandler\");\n\nexport namespace ApiKeyAfterCreateEventHandler {\n export type Interface = IEventHandler<ApiKeyAfterCreateEvent>;\n export type Event = ApiKeyAfterCreateEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,WAAW;AAIpB,OAAO,MAAMC,uBAAuB,SAASD,WAAW,CAA4B;EAChFE,SAAS,GAAG,qBAAqB;EAEjCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,8BAA8B;EACzC;AACJ;;AAEA;AACA,OAAO,MAAMA,8BAA8B,GAAGL,iBAAiB,CAE7D,gCAAgC,CAAC;AAOnC,OAAO,MAAMM,sBAAsB,SAASL,WAAW,CAA2B;EAC9EE,SAAS,GAAG,oBAAoB;EAEhCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,6BAA6B;EACxC;AACJ;;AAEA;AACA,OAAO,MAAMA,6BAA6B,GAAGP,iBAAiB,CAE5D,+BAA+B,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/apiKeys/CreateApiKey/events.js","sources":["../../../../../src/features/security/apiKeys/CreateApiKey/events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport type { IEventHandler } from \"~/features/eventPublisher/index.js\";\nimport type { ApiKeyBeforeCreatePayload, ApiKeyAfterCreatePayload } from \"./abstractions.js\";\n\nexport class ApiKeyBeforeCreateEvent extends DomainEvent<ApiKeyBeforeCreatePayload> {\n eventType = \"apiKey.beforeCreate\" as const;\n\n getHandlerAbstraction() {\n return ApiKeyBeforeCreateEventHandler;\n }\n}\n\n/** Hook into API key lifecycle before an API key is created. */\nexport const ApiKeyBeforeCreateEventHandler = createAbstraction<\n IEventHandler<ApiKeyBeforeCreateEvent>\n>(\"ApiKeyBeforeCreateEventHandler\");\n\nexport namespace ApiKeyBeforeCreateEventHandler {\n export type Interface = IEventHandler<ApiKeyBeforeCreateEvent>;\n export type Event = ApiKeyBeforeCreateEvent;\n}\n\nexport class ApiKeyAfterCreateEvent extends DomainEvent<ApiKeyAfterCreatePayload> {\n eventType = \"apiKey.afterCreate\" as const;\n\n getHandlerAbstraction() {\n return ApiKeyAfterCreateEventHandler;\n }\n}\n\n/** Hook into API key lifecycle after an API key is created. */\nexport const ApiKeyAfterCreateEventHandler = createAbstraction<\n IEventHandler<ApiKeyAfterCreateEvent>\n>(\"ApiKeyAfterCreateEventHandler\");\n\nexport namespace ApiKeyAfterCreateEventHandler {\n export type Interface = IEventHandler<ApiKeyAfterCreateEvent>;\n export type Event = ApiKeyAfterCreateEvent;\n}\n"],"names":["ApiKeyBeforeCreateEvent","DomainEvent","ApiKeyBeforeCreateEventHandler","createAbstraction","ApiKeyAfterCreateEvent","ApiKeyAfterCreateEventHandler"],"mappings":";;AAKO,MAAMA,gCAAgCC;IAGzC,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMA,iCAAiCC,kBAE5C;AAOK,MAAMC,+BAA+BH;IAGxC,wBAAwB;QACpB,OAAOI;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMA,gCAAgCF,kBAE3C"}
@@ -1,10 +1,11 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { CreateApiKeyUseCase } from "./CreateApiKeyUseCase.js";
3
- export const CreateApiKeyFeature = createFeature({
4
- name: "CreateApiKey",
5
- register(container) {
6
- container.register(CreateApiKeyUseCase);
7
- }
3
+ const CreateApiKeyFeature = createFeature({
4
+ name: "CreateApiKey",
5
+ register (container) {
6
+ container.register(CreateApiKeyUseCase);
7
+ }
8
8
  });
9
+ export { CreateApiKeyFeature };
9
10
 
10
11
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","CreateApiKeyUseCase","CreateApiKeyFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CreateApiKeyUseCase } from \"./CreateApiKeyUseCase.js\";\n\nexport const CreateApiKeyFeature = createFeature({\n name: \"CreateApiKey\",\n register(container) {\n container.register(CreateApiKeyUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,mBAAmB;AAE5B,OAAO,MAAMC,mBAAmB,GAAGF,aAAa,CAAC;EAC7CG,IAAI,EAAE,cAAc;EACpBC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,mBAAmB,CAAC;EAC3C;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/apiKeys/CreateApiKey/feature.js","sources":["../../../../../src/features/security/apiKeys/CreateApiKey/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CreateApiKeyUseCase } from \"./CreateApiKeyUseCase.js\";\n\nexport const CreateApiKeyFeature = createFeature({\n name: \"CreateApiKey\",\n register(container) {\n container.register(CreateApiKeyUseCase);\n }\n});\n"],"names":["CreateApiKeyFeature","createFeature","container","CreateApiKeyUseCase"],"mappings":";;AAGO,MAAMA,sBAAsBC,cAAc;IAC7C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
@@ -1,4 +1,2 @@
1
1
  export * from "./abstractions.js";
2
2
  export * from "./events.js";
3
-
4
- //# sourceMappingURL=index.js.map
@@ -1,42 +1,41 @@
1
1
  import { EventPublisher } from "../../../eventPublisher/index.js";
2
2
  import { Result } from "@webiny/feature/api";
3
- import { DeleteApiKeyUseCase as DeleteApiKeyUseCaseAbstraction } from "./abstractions.js";
3
+ import { DeleteApiKeyUseCase } from "./abstractions.js";
4
4
  import { ApiKeysRepository } from "../shared/abstractions.js";
5
5
  import { IdentityContext } from "../../IdentityContext/abstractions.js";
6
- import { ApiKeyBeforeDeleteEvent, ApiKeyAfterDeleteEvent } from "./events.js";
6
+ import { ApiKeyAfterDeleteEvent, ApiKeyBeforeDeleteEvent } from "./events.js";
7
7
  import { ApiKeyNotAuthorizedError } from "../shared/errors.js";
8
8
  class DeleteApiKeyUseCaseImpl {
9
- constructor(repository, identityContext, eventPublisher) {
10
- this.repository = repository;
11
- this.identityContext = identityContext;
12
- this.eventPublisher = eventPublisher;
13
- }
14
- async execute(id) {
15
- const hasPermission = await this.identityContext.getPermission("security.apiKey");
16
- if (!hasPermission) {
17
- return Result.fail(new ApiKeyNotAuthorizedError());
9
+ constructor(repository, identityContext, eventPublisher){
10
+ this.repository = repository;
11
+ this.identityContext = identityContext;
12
+ this.eventPublisher = eventPublisher;
18
13
  }
19
- const existingResult = await this.repository.get(id);
20
- if (existingResult.isFail()) {
21
- return Result.fail(existingResult.error);
14
+ async execute(id) {
15
+ const hasPermission = await this.identityContext.getPermission("security.apiKey");
16
+ if (!hasPermission) return Result.fail(new ApiKeyNotAuthorizedError());
17
+ const existingResult = await this.repository.get(id);
18
+ if (existingResult.isFail()) return Result.fail(existingResult.error);
19
+ const existingApiKey = existingResult.value;
20
+ await this.eventPublisher.publish(new ApiKeyBeforeDeleteEvent({
21
+ apiKey: existingApiKey
22
+ }));
23
+ const result = await this.repository.delete(existingApiKey);
24
+ if (result.isFail()) return result;
25
+ await this.eventPublisher.publish(new ApiKeyAfterDeleteEvent({
26
+ apiKey: existingApiKey
27
+ }));
28
+ return Result.ok();
22
29
  }
23
- const existingApiKey = existingResult.value;
24
- await this.eventPublisher.publish(new ApiKeyBeforeDeleteEvent({
25
- apiKey: existingApiKey
26
- }));
27
- const result = await this.repository.delete(existingApiKey);
28
- if (result.isFail()) {
29
- return result;
30
- }
31
- await this.eventPublisher.publish(new ApiKeyAfterDeleteEvent({
32
- apiKey: existingApiKey
33
- }));
34
- return Result.ok();
35
- }
36
30
  }
37
- export const DeleteApiKeyUseCase = DeleteApiKeyUseCaseAbstraction.createImplementation({
38
- implementation: DeleteApiKeyUseCaseImpl,
39
- dependencies: [ApiKeysRepository, IdentityContext, EventPublisher]
31
+ const DeleteApiKeyUseCase_DeleteApiKeyUseCase = DeleteApiKeyUseCase.createImplementation({
32
+ implementation: DeleteApiKeyUseCaseImpl,
33
+ dependencies: [
34
+ ApiKeysRepository,
35
+ IdentityContext,
36
+ EventPublisher
37
+ ]
40
38
  });
39
+ export { DeleteApiKeyUseCase_DeleteApiKeyUseCase as DeleteApiKeyUseCase };
41
40
 
42
41
  //# sourceMappingURL=DeleteApiKeyUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["EventPublisher","Result","DeleteApiKeyUseCase","DeleteApiKeyUseCaseAbstraction","ApiKeysRepository","IdentityContext","ApiKeyBeforeDeleteEvent","ApiKeyAfterDeleteEvent","ApiKeyNotAuthorizedError","DeleteApiKeyUseCaseImpl","constructor","repository","identityContext","eventPublisher","execute","id","hasPermission","getPermission","fail","existingResult","get","isFail","error","existingApiKey","value","publish","apiKey","result","delete","ok","createImplementation","implementation","dependencies"],"sources":["DeleteApiKeyUseCase.ts"],"sourcesContent":["import { EventPublisher } from \"~/features/eventPublisher/index.js\";\nimport { Result } from \"@webiny/feature/api\";\nimport { DeleteApiKeyUseCase as DeleteApiKeyUseCaseAbstraction } from \"./abstractions.js\";\nimport { ApiKeysRepository } from \"../shared/abstractions.js\";\nimport { IdentityContext } from \"../../IdentityContext/abstractions.js\";\nimport { ApiKeyBeforeDeleteEvent, ApiKeyAfterDeleteEvent } from \"./events.js\";\nimport { ApiKeyNotAuthorizedError } from \"~/features/security/apiKeys/shared/errors.js\";\n\nclass DeleteApiKeyUseCaseImpl implements DeleteApiKeyUseCaseAbstraction.Interface {\n private repository: ApiKeysRepository.Interface;\n private identityContext: IdentityContext.Interface;\n private eventPublisher: EventPublisher.Interface;\n\n constructor(\n repository: ApiKeysRepository.Interface,\n identityContext: IdentityContext.Interface,\n eventPublisher: EventPublisher.Interface\n ) {\n this.repository = repository;\n this.identityContext = identityContext;\n this.eventPublisher = eventPublisher;\n }\n\n async execute(id: string): Promise<Result<void, DeleteApiKeyUseCaseAbstraction.Error>> {\n const hasPermission = await this.identityContext.getPermission(\"security.apiKey\");\n if (!hasPermission) {\n return Result.fail(new ApiKeyNotAuthorizedError());\n }\n\n const existingResult = await this.repository.get(id);\n if (existingResult.isFail()) {\n return Result.fail(existingResult.error);\n }\n\n const existingApiKey = existingResult.value;\n\n await this.eventPublisher.publish(new ApiKeyBeforeDeleteEvent({ apiKey: existingApiKey }));\n\n const result = await this.repository.delete(existingApiKey);\n\n if (result.isFail()) {\n return result;\n }\n\n await this.eventPublisher.publish(new ApiKeyAfterDeleteEvent({ apiKey: existingApiKey }));\n\n return Result.ok();\n }\n}\n\nexport const DeleteApiKeyUseCase = DeleteApiKeyUseCaseAbstraction.createImplementation({\n implementation: DeleteApiKeyUseCaseImpl,\n dependencies: [ApiKeysRepository, IdentityContext, EventPublisher]\n});\n"],"mappings":"AAAA,SAASA,cAAc;AACvB,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,mBAAmB,IAAIC,8BAA8B;AAC9D,SAASC,iBAAiB;AAC1B,SAASC,eAAe;AACxB,SAASC,uBAAuB,EAAEC,sBAAsB;AACxD,SAASC,wBAAwB;AAEjC,MAAMC,uBAAuB,CAAqD;EAK9EC,WAAWA,CACPC,UAAuC,EACvCC,eAA0C,EAC1CC,cAAwC,EAC1C;IACE,IAAI,CAACF,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACC,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACC,cAAc,GAAGA,cAAc;EACxC;EAEA,MAAMC,OAAOA,CAACC,EAAU,EAA+D;IACnF,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACJ,eAAe,CAACK,aAAa,CAAC,iBAAiB,CAAC;IACjF,IAAI,CAACD,aAAa,EAAE;MAChB,OAAOf,MAAM,CAACiB,IAAI,CAAC,IAAIV,wBAAwB,CAAC,CAAC,CAAC;IACtD;IAEA,MAAMW,cAAc,GAAG,MAAM,IAAI,CAACR,UAAU,CAACS,GAAG,CAACL,EAAE,CAAC;IACpD,IAAII,cAAc,CAACE,MAAM,CAAC,CAAC,EAAE;MACzB,OAAOpB,MAAM,CAACiB,IAAI,CAACC,cAAc,CAACG,KAAK,CAAC;IAC5C;IAEA,MAAMC,cAAc,GAAGJ,cAAc,CAACK,KAAK;IAE3C,MAAM,IAAI,CAACX,cAAc,CAACY,OAAO,CAAC,IAAInB,uBAAuB,CAAC;MAAEoB,MAAM,EAAEH;IAAe,CAAC,CAAC,CAAC;IAE1F,MAAMI,MAAM,GAAG,MAAM,IAAI,CAAChB,UAAU,CAACiB,MAAM,CAACL,cAAc,CAAC;IAE3D,IAAII,MAAM,CAACN,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOM,MAAM;IACjB;IAEA,MAAM,IAAI,CAACd,cAAc,CAACY,OAAO,CAAC,IAAIlB,sBAAsB,CAAC;MAAEmB,MAAM,EAAEH;IAAe,CAAC,CAAC,CAAC;IAEzF,OAAOtB,MAAM,CAAC4B,EAAE,CAAC,CAAC;EACtB;AACJ;AAEA,OAAO,MAAM3B,mBAAmB,GAAGC,8BAA8B,CAAC2B,oBAAoB,CAAC;EACnFC,cAAc,EAAEtB,uBAAuB;EACvCuB,YAAY,EAAE,CAAC5B,iBAAiB,EAAEC,eAAe,EAAEL,cAAc;AACrE,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/apiKeys/DeleteApiKey/DeleteApiKeyUseCase.js","sources":["../../../../../src/features/security/apiKeys/DeleteApiKey/DeleteApiKeyUseCase.ts"],"sourcesContent":["import { EventPublisher } from \"~/features/eventPublisher/index.js\";\nimport { Result } from \"@webiny/feature/api\";\nimport { DeleteApiKeyUseCase as DeleteApiKeyUseCaseAbstraction } from \"./abstractions.js\";\nimport { ApiKeysRepository } from \"../shared/abstractions.js\";\nimport { IdentityContext } from \"../../IdentityContext/abstractions.js\";\nimport { ApiKeyBeforeDeleteEvent, ApiKeyAfterDeleteEvent } from \"./events.js\";\nimport { ApiKeyNotAuthorizedError } from \"~/features/security/apiKeys/shared/errors.js\";\n\nclass DeleteApiKeyUseCaseImpl implements DeleteApiKeyUseCaseAbstraction.Interface {\n private repository: ApiKeysRepository.Interface;\n private identityContext: IdentityContext.Interface;\n private eventPublisher: EventPublisher.Interface;\n\n constructor(\n repository: ApiKeysRepository.Interface,\n identityContext: IdentityContext.Interface,\n eventPublisher: EventPublisher.Interface\n ) {\n this.repository = repository;\n this.identityContext = identityContext;\n this.eventPublisher = eventPublisher;\n }\n\n async execute(id: string): Promise<Result<void, DeleteApiKeyUseCaseAbstraction.Error>> {\n const hasPermission = await this.identityContext.getPermission(\"security.apiKey\");\n if (!hasPermission) {\n return Result.fail(new ApiKeyNotAuthorizedError());\n }\n\n const existingResult = await this.repository.get(id);\n if (existingResult.isFail()) {\n return Result.fail(existingResult.error);\n }\n\n const existingApiKey = existingResult.value;\n\n await this.eventPublisher.publish(new ApiKeyBeforeDeleteEvent({ apiKey: existingApiKey }));\n\n const result = await this.repository.delete(existingApiKey);\n\n if (result.isFail()) {\n return result;\n }\n\n await this.eventPublisher.publish(new ApiKeyAfterDeleteEvent({ apiKey: existingApiKey }));\n\n return Result.ok();\n }\n}\n\nexport const DeleteApiKeyUseCase = DeleteApiKeyUseCaseAbstraction.createImplementation({\n implementation: DeleteApiKeyUseCaseImpl,\n dependencies: [ApiKeysRepository, IdentityContext, EventPublisher]\n});\n"],"names":["DeleteApiKeyUseCaseImpl","repository","identityContext","eventPublisher","id","hasPermission","Result","ApiKeyNotAuthorizedError","existingResult","existingApiKey","ApiKeyBeforeDeleteEvent","result","ApiKeyAfterDeleteEvent","DeleteApiKeyUseCase","DeleteApiKeyUseCaseAbstraction","ApiKeysRepository","IdentityContext","EventPublisher"],"mappings":";;;;;;;AAQA,MAAMA;IAKF,YACIC,UAAuC,EACvCC,eAA0C,EAC1CC,cAAwC,CAC1C;QACE,IAAI,CAAC,UAAU,GAAGF;QAClB,IAAI,CAAC,eAAe,GAAGC;QACvB,IAAI,CAAC,cAAc,GAAGC;IAC1B;IAEA,MAAM,QAAQC,EAAU,EAA+D;QACnF,MAAMC,gBAAgB,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;QAC/D,IAAI,CAACA,eACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAG3B,MAAMC,iBAAiB,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAACJ;QACjD,IAAII,eAAe,MAAM,IACrB,OAAOF,OAAO,IAAI,CAACE,eAAe,KAAK;QAG3C,MAAMC,iBAAiBD,eAAe,KAAK;QAE3C,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAIE,wBAAwB;YAAE,QAAQD;QAAe;QAEvF,MAAME,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAACF;QAE5C,IAAIE,OAAO,MAAM,IACb,OAAOA;QAGX,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAIC,uBAAuB;YAAE,QAAQH;QAAe;QAEtF,OAAOH,OAAO,EAAE;IACpB;AACJ;AAEO,MAAMO,0CAAsBC,oBAAAA,oBAAmD,CAAC;IACnF,gBAAgBd;IAChB,cAAc;QAACe;QAAmBC;QAAiBC;KAAe;AACtE"}
@@ -1,5 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
- /** Delete an API key. */
3
- export const DeleteApiKeyUseCase = createAbstraction("DeleteApiKeyUseCase");
2
+ const DeleteApiKeyUseCase = createAbstraction("DeleteApiKeyUseCase");
3
+ export { DeleteApiKeyUseCase };
4
4
 
5
5
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","DeleteApiKeyUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport { ApiKeysRepository } from \"../shared/abstractions.js\";\nimport { ApiKeyNotAuthorizedError } from \"../shared/errors.js\";\nimport type { ApiKey } from \"../shared/types.js\";\n\nexport interface IDeleteApiKeyErrors {\n notAuthorized: ApiKeyNotAuthorizedError;\n}\n\ntype DeleteApiKeyError = IDeleteApiKeyErrors[keyof IDeleteApiKeyErrors] | ApiKeysRepository.Error;\n\nexport interface IDeleteApiKey {\n execute(id: string): Promise<Result<void, DeleteApiKeyError>>;\n}\n\n/** Delete an API key. */\nexport const DeleteApiKeyUseCase = createAbstraction<IDeleteApiKey>(\"DeleteApiKeyUseCase\");\n\nexport namespace DeleteApiKeyUseCase {\n export type Interface = IDeleteApiKey;\n export type Error = DeleteApiKeyError;\n}\n\nexport interface ApiKeyBeforeDeletePayload {\n apiKey: ApiKey;\n}\n\nexport interface ApiKeyAfterDeletePayload {\n apiKey: ApiKey;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAgBvD;AACA,OAAO,MAAMC,mBAAmB,GAAGD,iBAAiB,CAAgB,qBAAqB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/apiKeys/DeleteApiKey/abstractions.js","sources":["../../../../../src/features/security/apiKeys/DeleteApiKey/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport { ApiKeysRepository } from \"../shared/abstractions.js\";\nimport { ApiKeyNotAuthorizedError } from \"../shared/errors.js\";\nimport type { ApiKey } from \"../shared/types.js\";\n\nexport interface IDeleteApiKeyErrors {\n notAuthorized: ApiKeyNotAuthorizedError;\n}\n\ntype DeleteApiKeyError = IDeleteApiKeyErrors[keyof IDeleteApiKeyErrors] | ApiKeysRepository.Error;\n\nexport interface IDeleteApiKey {\n execute(id: string): Promise<Result<void, DeleteApiKeyError>>;\n}\n\n/** Delete an API key. */\nexport const DeleteApiKeyUseCase = createAbstraction<IDeleteApiKey>(\"DeleteApiKeyUseCase\");\n\nexport namespace DeleteApiKeyUseCase {\n export type Interface = IDeleteApiKey;\n export type Error = DeleteApiKeyError;\n}\n\nexport interface ApiKeyBeforeDeletePayload {\n apiKey: ApiKey;\n}\n\nexport interface ApiKeyAfterDeletePayload {\n apiKey: ApiKey;\n}\n"],"names":["DeleteApiKeyUseCase","createAbstraction"],"mappings":";AAiBO,MAAMA,sBAAsBC,kBAAiC"}
@@ -1,22 +1,23 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
2
  import { DomainEvent } from "../../../eventPublisher/index.js";
3
- export class ApiKeyBeforeDeleteEvent extends DomainEvent {
4
- eventType = "apiKey.beforeDelete";
5
- getHandlerAbstraction() {
6
- return ApiKeyBeforeDeleteEventHandler;
7
- }
3
+ class ApiKeyBeforeDeleteEvent extends DomainEvent {
4
+ getHandlerAbstraction() {
5
+ return ApiKeyBeforeDeleteEventHandler;
6
+ }
7
+ constructor(...args){
8
+ super(...args), this.eventType = "apiKey.beforeDelete";
9
+ }
8
10
  }
9
-
10
- /** Hook into API key lifecycle before an API key is deleted. */
11
- export const ApiKeyBeforeDeleteEventHandler = createAbstraction("ApiKeyBeforeDeleteEventHandler");
12
- export class ApiKeyAfterDeleteEvent extends DomainEvent {
13
- eventType = "apiKey.afterDelete";
14
- getHandlerAbstraction() {
15
- return ApiKeyAfterDeleteEventHandler;
16
- }
11
+ const ApiKeyBeforeDeleteEventHandler = createAbstraction("ApiKeyBeforeDeleteEventHandler");
12
+ class ApiKeyAfterDeleteEvent extends DomainEvent {
13
+ getHandlerAbstraction() {
14
+ return ApiKeyAfterDeleteEventHandler;
15
+ }
16
+ constructor(...args){
17
+ super(...args), this.eventType = "apiKey.afterDelete";
18
+ }
17
19
  }
18
-
19
- /** Hook into API key lifecycle after an API key is deleted. */
20
- export const ApiKeyAfterDeleteEventHandler = createAbstraction("ApiKeyAfterDeleteEventHandler");
20
+ const ApiKeyAfterDeleteEventHandler = createAbstraction("ApiKeyAfterDeleteEventHandler");
21
+ export { ApiKeyAfterDeleteEvent, ApiKeyAfterDeleteEventHandler, ApiKeyBeforeDeleteEvent, ApiKeyBeforeDeleteEventHandler };
21
22
 
22
23
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","DomainEvent","ApiKeyBeforeDeleteEvent","eventType","getHandlerAbstraction","ApiKeyBeforeDeleteEventHandler","ApiKeyAfterDeleteEvent","ApiKeyAfterDeleteEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport type { IEventHandler } from \"~/features/eventPublisher/index.js\";\nimport type { ApiKeyBeforeDeletePayload, ApiKeyAfterDeletePayload } from \"./abstractions.js\";\n\nexport class ApiKeyBeforeDeleteEvent extends DomainEvent<ApiKeyBeforeDeletePayload> {\n eventType = \"apiKey.beforeDelete\" as const;\n\n getHandlerAbstraction() {\n return ApiKeyBeforeDeleteEventHandler;\n }\n}\n\n/** Hook into API key lifecycle before an API key is deleted. */\nexport const ApiKeyBeforeDeleteEventHandler = createAbstraction<\n IEventHandler<ApiKeyBeforeDeleteEvent>\n>(\"ApiKeyBeforeDeleteEventHandler\");\n\nexport namespace ApiKeyBeforeDeleteEventHandler {\n export type Interface = IEventHandler<ApiKeyBeforeDeleteEvent>;\n export type Event = ApiKeyBeforeDeleteEvent;\n}\n\nexport class ApiKeyAfterDeleteEvent extends DomainEvent<ApiKeyAfterDeletePayload> {\n eventType = \"apiKey.afterDelete\" as const;\n\n getHandlerAbstraction() {\n return ApiKeyAfterDeleteEventHandler;\n }\n}\n\n/** Hook into API key lifecycle after an API key is deleted. */\nexport const ApiKeyAfterDeleteEventHandler = createAbstraction<\n IEventHandler<ApiKeyAfterDeleteEvent>\n>(\"ApiKeyAfterDeleteEventHandler\");\n\nexport namespace ApiKeyAfterDeleteEventHandler {\n export type Interface = IEventHandler<ApiKeyAfterDeleteEvent>;\n export type Event = ApiKeyAfterDeleteEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,WAAW;AAIpB,OAAO,MAAMC,uBAAuB,SAASD,WAAW,CAA4B;EAChFE,SAAS,GAAG,qBAAqB;EAEjCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,8BAA8B;EACzC;AACJ;;AAEA;AACA,OAAO,MAAMA,8BAA8B,GAAGL,iBAAiB,CAE7D,gCAAgC,CAAC;AAOnC,OAAO,MAAMM,sBAAsB,SAASL,WAAW,CAA2B;EAC9EE,SAAS,GAAG,oBAAoB;EAEhCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,6BAA6B;EACxC;AACJ;;AAEA;AACA,OAAO,MAAMA,6BAA6B,GAAGP,iBAAiB,CAE5D,+BAA+B,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/apiKeys/DeleteApiKey/events.js","sources":["../../../../../src/features/security/apiKeys/DeleteApiKey/events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport type { IEventHandler } from \"~/features/eventPublisher/index.js\";\nimport type { ApiKeyBeforeDeletePayload, ApiKeyAfterDeletePayload } from \"./abstractions.js\";\n\nexport class ApiKeyBeforeDeleteEvent extends DomainEvent<ApiKeyBeforeDeletePayload> {\n eventType = \"apiKey.beforeDelete\" as const;\n\n getHandlerAbstraction() {\n return ApiKeyBeforeDeleteEventHandler;\n }\n}\n\n/** Hook into API key lifecycle before an API key is deleted. */\nexport const ApiKeyBeforeDeleteEventHandler = createAbstraction<\n IEventHandler<ApiKeyBeforeDeleteEvent>\n>(\"ApiKeyBeforeDeleteEventHandler\");\n\nexport namespace ApiKeyBeforeDeleteEventHandler {\n export type Interface = IEventHandler<ApiKeyBeforeDeleteEvent>;\n export type Event = ApiKeyBeforeDeleteEvent;\n}\n\nexport class ApiKeyAfterDeleteEvent extends DomainEvent<ApiKeyAfterDeletePayload> {\n eventType = \"apiKey.afterDelete\" as const;\n\n getHandlerAbstraction() {\n return ApiKeyAfterDeleteEventHandler;\n }\n}\n\n/** Hook into API key lifecycle after an API key is deleted. */\nexport const ApiKeyAfterDeleteEventHandler = createAbstraction<\n IEventHandler<ApiKeyAfterDeleteEvent>\n>(\"ApiKeyAfterDeleteEventHandler\");\n\nexport namespace ApiKeyAfterDeleteEventHandler {\n export type Interface = IEventHandler<ApiKeyAfterDeleteEvent>;\n export type Event = ApiKeyAfterDeleteEvent;\n}\n"],"names":["ApiKeyBeforeDeleteEvent","DomainEvent","ApiKeyBeforeDeleteEventHandler","createAbstraction","ApiKeyAfterDeleteEvent","ApiKeyAfterDeleteEventHandler"],"mappings":";;AAKO,MAAMA,gCAAgCC;IAGzC,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMA,iCAAiCC,kBAE5C;AAOK,MAAMC,+BAA+BH;IAGxC,wBAAwB;QACpB,OAAOI;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMA,gCAAgCF,kBAE3C"}
@@ -1,10 +1,11 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { DeleteApiKeyUseCase } from "./DeleteApiKeyUseCase.js";
3
- export const DeleteApiKeyFeature = createFeature({
4
- name: "DeleteApiKey",
5
- register(container) {
6
- container.register(DeleteApiKeyUseCase);
7
- }
3
+ const DeleteApiKeyFeature = createFeature({
4
+ name: "DeleteApiKey",
5
+ register (container) {
6
+ container.register(DeleteApiKeyUseCase);
7
+ }
8
8
  });
9
+ export { DeleteApiKeyFeature };
9
10
 
10
11
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","DeleteApiKeyUseCase","DeleteApiKeyFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { DeleteApiKeyUseCase } from \"./DeleteApiKeyUseCase.js\";\n\nexport const DeleteApiKeyFeature = createFeature({\n name: \"DeleteApiKey\",\n register(container) {\n container.register(DeleteApiKeyUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,mBAAmB;AAE5B,OAAO,MAAMC,mBAAmB,GAAGF,aAAa,CAAC;EAC7CG,IAAI,EAAE,cAAc;EACpBC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,mBAAmB,CAAC;EAC3C;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/apiKeys/DeleteApiKey/feature.js","sources":["../../../../../src/features/security/apiKeys/DeleteApiKey/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { DeleteApiKeyUseCase } from \"./DeleteApiKeyUseCase.js\";\n\nexport const DeleteApiKeyFeature = createFeature({\n name: \"DeleteApiKey\",\n register(container) {\n container.register(DeleteApiKeyUseCase);\n }\n});\n"],"names":["DeleteApiKeyFeature","createFeature","container","DeleteApiKeyUseCase"],"mappings":";;AAGO,MAAMA,sBAAsBC,cAAc;IAC7C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
@@ -1,4 +1,2 @@
1
1
  export * from "./abstractions.js";
2
2
  export * from "./events.js";
3
-
4
- //# sourceMappingURL=index.js.map
@@ -1,24 +1,26 @@
1
1
  import { Result } from "@webiny/feature/api";
2
- import { GetApiKeyUseCase as GetApiKeyUseCaseAbstraction } from "./abstractions.js";
2
+ import { GetApiKeyUseCase } from "./abstractions.js";
3
3
  import { ApiKeysRepository } from "../shared/abstractions.js";
4
4
  import { IdentityContext } from "../../IdentityContext/abstractions.js";
5
5
  import { ApiKeyNotAuthorizedError } from "../shared/errors.js";
6
6
  class GetApiKeyUseCaseImpl {
7
- constructor(repository, identityContext) {
8
- this.repository = repository;
9
- this.identityContext = identityContext;
10
- }
11
- async execute(id) {
12
- const hasPermission = await this.identityContext.getPermission("security.apiKey");
13
- if (!hasPermission) {
14
- return Result.fail(new ApiKeyNotAuthorizedError());
7
+ constructor(repository, identityContext){
8
+ this.repository = repository;
9
+ this.identityContext = identityContext;
10
+ }
11
+ async execute(id) {
12
+ const hasPermission = await this.identityContext.getPermission("security.apiKey");
13
+ if (!hasPermission) return Result.fail(new ApiKeyNotAuthorizedError());
14
+ return this.repository.get(id);
15
15
  }
16
- return this.repository.get(id);
17
- }
18
16
  }
19
- export const GetApiKeyUseCase = GetApiKeyUseCaseAbstraction.createImplementation({
20
- implementation: GetApiKeyUseCaseImpl,
21
- dependencies: [ApiKeysRepository, IdentityContext]
17
+ const GetApiKeyUseCase_GetApiKeyUseCase = GetApiKeyUseCase.createImplementation({
18
+ implementation: GetApiKeyUseCaseImpl,
19
+ dependencies: [
20
+ ApiKeysRepository,
21
+ IdentityContext
22
+ ]
22
23
  });
24
+ export { GetApiKeyUseCase_GetApiKeyUseCase as GetApiKeyUseCase };
23
25
 
24
26
  //# sourceMappingURL=GetApiKeyUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","GetApiKeyUseCase","GetApiKeyUseCaseAbstraction","ApiKeysRepository","IdentityContext","ApiKeyNotAuthorizedError","GetApiKeyUseCaseImpl","constructor","repository","identityContext","execute","id","hasPermission","getPermission","fail","get","createImplementation","implementation","dependencies"],"sources":["GetApiKeyUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetApiKeyUseCase as GetApiKeyUseCaseAbstraction } from \"./abstractions.js\";\nimport { ApiKeysRepository } from \"../shared/abstractions.js\";\nimport { IdentityContext } from \"../../IdentityContext/abstractions.js\";\nimport type { ApiKey } from \"../shared/types.js\";\nimport { ApiKeyNotAuthorizedError } from \"~/features/security/apiKeys/shared/errors.js\";\n\nclass GetApiKeyUseCaseImpl implements GetApiKeyUseCaseAbstraction.Interface {\n private repository: ApiKeysRepository.Interface;\n private identityContext: IdentityContext.Interface;\n\n constructor(\n repository: ApiKeysRepository.Interface,\n identityContext: IdentityContext.Interface\n ) {\n this.repository = repository;\n this.identityContext = identityContext;\n }\n\n async execute(id: string): Promise<Result<ApiKey | null, GetApiKeyUseCaseAbstraction.Error>> {\n const hasPermission = await this.identityContext.getPermission(\"security.apiKey\");\n if (!hasPermission) {\n return Result.fail(new ApiKeyNotAuthorizedError());\n }\n\n return this.repository.get(id);\n }\n}\n\nexport const GetApiKeyUseCase = GetApiKeyUseCaseAbstraction.createImplementation({\n implementation: GetApiKeyUseCaseImpl,\n dependencies: [ApiKeysRepository, IdentityContext]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,gBAAgB,IAAIC,2BAA2B;AACxD,SAASC,iBAAiB;AAC1B,SAASC,eAAe;AAExB,SAASC,wBAAwB;AAEjC,MAAMC,oBAAoB,CAAkD;EAIxEC,WAAWA,CACPC,UAAuC,EACvCC,eAA0C,EAC5C;IACE,IAAI,CAACD,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACC,eAAe,GAAGA,eAAe;EAC1C;EAEA,MAAMC,OAAOA,CAACC,EAAU,EAAqE;IACzF,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACH,eAAe,CAACI,aAAa,CAAC,iBAAiB,CAAC;IACjF,IAAI,CAACD,aAAa,EAAE;MAChB,OAAOZ,MAAM,CAACc,IAAI,CAAC,IAAIT,wBAAwB,CAAC,CAAC,CAAC;IACtD;IAEA,OAAO,IAAI,CAACG,UAAU,CAACO,GAAG,CAACJ,EAAE,CAAC;EAClC;AACJ;AAEA,OAAO,MAAMV,gBAAgB,GAAGC,2BAA2B,CAACc,oBAAoB,CAAC;EAC7EC,cAAc,EAAEX,oBAAoB;EACpCY,YAAY,EAAE,CAACf,iBAAiB,EAAEC,eAAe;AACrD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/apiKeys/GetApiKey/GetApiKeyUseCase.js","sources":["../../../../../src/features/security/apiKeys/GetApiKey/GetApiKeyUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetApiKeyUseCase as GetApiKeyUseCaseAbstraction } from \"./abstractions.js\";\nimport { ApiKeysRepository } from \"../shared/abstractions.js\";\nimport { IdentityContext } from \"../../IdentityContext/abstractions.js\";\nimport type { ApiKey } from \"../shared/types.js\";\nimport { ApiKeyNotAuthorizedError } from \"~/features/security/apiKeys/shared/errors.js\";\n\nclass GetApiKeyUseCaseImpl implements GetApiKeyUseCaseAbstraction.Interface {\n private repository: ApiKeysRepository.Interface;\n private identityContext: IdentityContext.Interface;\n\n constructor(\n repository: ApiKeysRepository.Interface,\n identityContext: IdentityContext.Interface\n ) {\n this.repository = repository;\n this.identityContext = identityContext;\n }\n\n async execute(id: string): Promise<Result<ApiKey | null, GetApiKeyUseCaseAbstraction.Error>> {\n const hasPermission = await this.identityContext.getPermission(\"security.apiKey\");\n if (!hasPermission) {\n return Result.fail(new ApiKeyNotAuthorizedError());\n }\n\n return this.repository.get(id);\n }\n}\n\nexport const GetApiKeyUseCase = GetApiKeyUseCaseAbstraction.createImplementation({\n implementation: GetApiKeyUseCaseImpl,\n dependencies: [ApiKeysRepository, IdentityContext]\n});\n"],"names":["GetApiKeyUseCaseImpl","repository","identityContext","id","hasPermission","Result","ApiKeyNotAuthorizedError","GetApiKeyUseCase","GetApiKeyUseCaseAbstraction","ApiKeysRepository","IdentityContext"],"mappings":";;;;;AAOA,MAAMA;IAIF,YACIC,UAAuC,EACvCC,eAA0C,CAC5C;QACE,IAAI,CAAC,UAAU,GAAGD;QAClB,IAAI,CAAC,eAAe,GAAGC;IAC3B;IAEA,MAAM,QAAQC,EAAU,EAAqE;QACzF,MAAMC,gBAAgB,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;QAC/D,IAAI,CAACA,eACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAG3B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAACH;IAC/B;AACJ;AAEO,MAAMI,oCAAmBC,iBAAAA,oBAAgD,CAAC;IAC7E,gBAAgBR;IAChB,cAAc;QAACS;QAAmBC;KAAgB;AACtD"}
@@ -1,5 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
- /** Retrieve an API key by ID. */
3
- export const GetApiKeyUseCase = createAbstraction("GetApiKeyUseCase");
2
+ const GetApiKeyUseCase = createAbstraction("GetApiKeyUseCase");
3
+ export { GetApiKeyUseCase };
4
4
 
5
5
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","GetApiKeyUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport type { ApiKey } from \"../shared/types.js\";\nimport { ApiKeysRepository } from \"../shared/abstractions.js\";\nimport type { ApiKeyNotAuthorizedError } from \"~/features/security/apiKeys/shared/errors.js\";\n\nexport interface IGetApiKeyErrors {\n notAuthorized: ApiKeyNotAuthorizedError;\n}\n\ntype GetApiKeyError = IGetApiKeyErrors[keyof IGetApiKeyErrors] | ApiKeysRepository.Error;\n\nexport interface IGetApiKey {\n execute(id: string): Promise<Result<ApiKey | null, GetApiKeyError>>;\n}\n\n/** Retrieve an API key by ID. */\nexport const GetApiKeyUseCase = createAbstraction<IGetApiKey>(\"GetApiKeyUseCase\");\n\nexport namespace GetApiKeyUseCase {\n export type Interface = IGetApiKey;\n export type Error = GetApiKeyError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAgBvD;AACA,OAAO,MAAMC,gBAAgB,GAAGD,iBAAiB,CAAa,kBAAkB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/apiKeys/GetApiKey/abstractions.js","sources":["../../../../../src/features/security/apiKeys/GetApiKey/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport type { ApiKey } from \"../shared/types.js\";\nimport { ApiKeysRepository } from \"../shared/abstractions.js\";\nimport type { ApiKeyNotAuthorizedError } from \"~/features/security/apiKeys/shared/errors.js\";\n\nexport interface IGetApiKeyErrors {\n notAuthorized: ApiKeyNotAuthorizedError;\n}\n\ntype GetApiKeyError = IGetApiKeyErrors[keyof IGetApiKeyErrors] | ApiKeysRepository.Error;\n\nexport interface IGetApiKey {\n execute(id: string): Promise<Result<ApiKey | null, GetApiKeyError>>;\n}\n\n/** Retrieve an API key by ID. */\nexport const GetApiKeyUseCase = createAbstraction<IGetApiKey>(\"GetApiKeyUseCase\");\n\nexport namespace GetApiKeyUseCase {\n export type Interface = IGetApiKey;\n export type Error = GetApiKeyError;\n}\n"],"names":["GetApiKeyUseCase","createAbstraction"],"mappings":";AAiBO,MAAMA,mBAAmBC,kBAA8B"}
@@ -1,10 +1,11 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { GetApiKeyUseCase } from "./GetApiKeyUseCase.js";
3
- export const GetApiKeyFeature = createFeature({
4
- name: "GetApiKey",
5
- register(container) {
6
- container.register(GetApiKeyUseCase);
7
- }
3
+ const GetApiKeyFeature = createFeature({
4
+ name: "GetApiKey",
5
+ register (container) {
6
+ container.register(GetApiKeyUseCase);
7
+ }
8
8
  });
9
+ export { GetApiKeyFeature };
9
10
 
10
11
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","GetApiKeyUseCase","GetApiKeyFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { GetApiKeyUseCase } from \"./GetApiKeyUseCase.js\";\n\nexport const GetApiKeyFeature = createFeature({\n name: \"GetApiKey\",\n register(container) {\n container.register(GetApiKeyUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,gBAAgB;AAEzB,OAAO,MAAMC,gBAAgB,GAAGF,aAAa,CAAC;EAC1CG,IAAI,EAAE,WAAW;EACjBC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,gBAAgB,CAAC;EACxC;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/security/apiKeys/GetApiKey/feature.js","sources":["../../../../../src/features/security/apiKeys/GetApiKey/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { GetApiKeyUseCase } from \"./GetApiKeyUseCase.js\";\n\nexport const GetApiKeyFeature = createFeature({\n name: \"GetApiKey\",\n register(container) {\n container.register(GetApiKeyUseCase);\n }\n});\n"],"names":["GetApiKeyFeature","createFeature","container","GetApiKeyUseCase"],"mappings":";;AAGO,MAAMA,mBAAmBC,cAAc;IAC1C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
@@ -1,3 +1 @@
1
1
  export * from "./abstractions.js";
2
-
3
- //# sourceMappingURL=index.js.map
@@ -1,16 +1,19 @@
1
- import { GetApiKeyBySlugUseCase as GetApiKeyBySlugUseCaseAbstraction } from "./abstractions.js";
1
+ import { GetApiKeyBySlugUseCase } from "./abstractions.js";
2
2
  import { ApiKeysRepository } from "../shared/abstractions.js";
3
3
  class GetApiKeyBySlugUseCaseImpl {
4
- constructor(repository) {
5
- this.repository = repository;
6
- }
7
- async execute(slug) {
8
- return this.repository.getBySlug(slug);
9
- }
4
+ constructor(repository){
5
+ this.repository = repository;
6
+ }
7
+ async execute(slug) {
8
+ return this.repository.getBySlug(slug);
9
+ }
10
10
  }
11
- export const GetApiKeyBySlugUseCase = GetApiKeyBySlugUseCaseAbstraction.createImplementation({
12
- implementation: GetApiKeyBySlugUseCaseImpl,
13
- dependencies: [ApiKeysRepository]
11
+ const GetApiKeyBySlugUseCase_GetApiKeyBySlugUseCase = GetApiKeyBySlugUseCase.createImplementation({
12
+ implementation: GetApiKeyBySlugUseCaseImpl,
13
+ dependencies: [
14
+ ApiKeysRepository
15
+ ]
14
16
  });
17
+ export { GetApiKeyBySlugUseCase_GetApiKeyBySlugUseCase as GetApiKeyBySlugUseCase };
15
18
 
16
19
  //# sourceMappingURL=GetApiKeyBySlugUseCase.js.map