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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (816) hide show
  1. package/ApiCoreFeature.js +22 -18
  2. package/ApiCoreFeature.js.map +1 -1
  3. package/createApiCore.d.ts +1 -1
  4. package/createApiCore.js +14 -9
  5. package/createApiCore.js.map +1 -1
  6. package/domain/identity/SystemIdentityValue.js +9 -8
  7. package/domain/identity/SystemIdentityValue.js.map +1 -1
  8. package/domain/security/ApiToken.js +5 -11
  9. package/domain/security/ApiToken.js.map +1 -1
  10. package/domain/tenancy/RootTenantValue.js +9 -8
  11. package/domain/tenancy/RootTenantValue.js.map +1 -1
  12. package/domain/tenancy/errors.js +0 -3
  13. package/exports/api/build-params.js +0 -3
  14. package/exports/api/event-publisher.js +0 -3
  15. package/exports/api/graphql.js +0 -2
  16. package/exports/api/key-value-store.js +0 -3
  17. package/exports/api/logger.js +0 -3
  18. package/exports/api/security/api-key.js +0 -2
  19. package/exports/api/security/authentication.js +0 -2
  20. package/exports/api/security/role.js +1 -3
  21. package/exports/api/security/user.js +0 -2
  22. package/exports/api/security.js +3 -7
  23. package/exports/api/system.js +0 -2
  24. package/exports/api/tasks.js +0 -2
  25. package/exports/api/tenancy.js +4 -6
  26. package/exports/api/webhooks.d.ts +1 -0
  27. package/exports/api/webhooks.js +1 -0
  28. package/exports/api.js +1 -3
  29. package/features/ai/Ai.js +100 -117
  30. package/features/ai/Ai.js.map +1 -1
  31. package/features/ai/AiSdkTools.js +23 -19
  32. package/features/ai/AiSdkTools.js.map +1 -1
  33. package/features/ai/AnthropicSdkFactory.js +82 -65
  34. package/features/ai/AnthropicSdkFactory.js.map +1 -1
  35. package/features/ai/OpenAiSdkFactory.js +234 -181
  36. package/features/ai/OpenAiSdkFactory.js.map +1 -1
  37. package/features/ai/abstractions.js +7 -32
  38. package/features/ai/abstractions.js.map +1 -1
  39. package/features/ai/feature.js +9 -8
  40. package/features/ai/feature.js.map +1 -1
  41. package/features/ai/index.js +1 -3
  42. package/features/buildParams/BuildParams.js +20 -14
  43. package/features/buildParams/BuildParams.js.map +1 -1
  44. package/features/buildParams/abstractions.js +3 -4
  45. package/features/buildParams/abstractions.js.map +1 -1
  46. package/features/buildParams/feature.js +6 -5
  47. package/features/buildParams/feature.js.map +1 -1
  48. package/features/buildParams/index.js +0 -2
  49. package/features/encryption/EncryptionService.js +50 -46
  50. package/features/encryption/EncryptionService.js.map +1 -1
  51. package/features/encryption/abstractions.js +2 -2
  52. package/features/encryption/abstractions.js.map +1 -1
  53. package/features/encryption/feature.js +6 -5
  54. package/features/encryption/feature.js.map +1 -1
  55. package/features/encryption/index.js +0 -2
  56. package/features/eventPublisher/EventPublisher.js +9 -15
  57. package/features/eventPublisher/EventPublisher.js.map +1 -1
  58. package/features/eventPublisher/__tests__/EventPublisher.test.js +385 -419
  59. package/features/eventPublisher/__tests__/EventPublisher.test.js.map +1 -1
  60. package/features/eventPublisher/abstractions.js +7 -12
  61. package/features/eventPublisher/abstractions.js.map +1 -1
  62. package/features/eventPublisher/feature.js +8 -7
  63. package/features/eventPublisher/feature.js.map +1 -1
  64. package/features/eventPublisher/index.js +0 -2
  65. package/features/featureFlags/FeatureFlags.js +15 -12
  66. package/features/featureFlags/FeatureFlags.js.map +1 -1
  67. package/features/featureFlags/abstractions.js +2 -1
  68. package/features/featureFlags/abstractions.js.map +1 -1
  69. package/features/featureFlags/feature.js +6 -5
  70. package/features/featureFlags/feature.js.map +1 -1
  71. package/features/keyValueStore/GlobalKeyValueStore.js +28 -23
  72. package/features/keyValueStore/GlobalKeyValueStore.js.map +1 -1
  73. package/features/keyValueStore/KeyValueStore.js +30 -27
  74. package/features/keyValueStore/KeyValueStore.js.map +1 -1
  75. package/features/keyValueStore/KeyValueStoreRepository.d.ts +2 -2
  76. package/features/keyValueStore/KeyValueStoreRepository.js +34 -41
  77. package/features/keyValueStore/KeyValueStoreRepository.js.map +1 -1
  78. package/features/keyValueStore/abstractions.d.ts +6 -2
  79. package/features/keyValueStore/abstractions.js +5 -20
  80. package/features/keyValueStore/abstractions.js.map +1 -1
  81. package/features/keyValueStore/errors.js +16 -17
  82. package/features/keyValueStore/errors.js.map +1 -1
  83. package/features/keyValueStore/feature.js +9 -9
  84. package/features/keyValueStore/feature.js.map +1 -1
  85. package/features/keyValueStore/index.js +1 -3
  86. package/features/logger/LoggerService.js +41 -45
  87. package/features/logger/LoggerService.js.map +1 -1
  88. package/features/logger/abstractions.js +2 -2
  89. package/features/logger/abstractions.js.map +1 -1
  90. package/features/logger/feature.js +6 -5
  91. package/features/logger/feature.js.map +1 -1
  92. package/features/logger/index.js +0 -2
  93. package/features/masker/Masker.js +11 -14
  94. package/features/masker/Masker.js.map +1 -1
  95. package/features/masker/abstractions.js +2 -1
  96. package/features/masker/abstractions.js.map +1 -1
  97. package/features/masker/feature.js +7 -6
  98. package/features/masker/feature.js.map +1 -1
  99. package/features/masker/index.js +0 -2
  100. package/features/security/IdentityContext/AnonymousIdentity.js +12 -16
  101. package/features/security/IdentityContext/AnonymousIdentity.js.map +1 -1
  102. package/features/security/IdentityContext/AuthenticatedIdentity.js +5 -8
  103. package/features/security/IdentityContext/AuthenticatedIdentity.js.map +1 -1
  104. package/features/security/IdentityContext/Identity.js +63 -71
  105. package/features/security/IdentityContext/Identity.js.map +1 -1
  106. package/features/security/IdentityContext/IdentityContext.js +69 -106
  107. package/features/security/IdentityContext/IdentityContext.js.map +1 -1
  108. package/features/security/IdentityContext/abstractions.js +2 -2
  109. package/features/security/IdentityContext/abstractions.js.map +1 -1
  110. package/features/security/IdentityContext/feature.js +6 -5
  111. package/features/security/IdentityContext/feature.js.map +1 -1
  112. package/features/security/IdentityContext/index.js +0 -3
  113. package/features/security/SecurityFeature.js +13 -21
  114. package/features/security/SecurityFeature.js.map +1 -1
  115. package/features/security/apiKeys/CreateApiKey/CreateApiKeyUseCase.js +48 -49
  116. package/features/security/apiKeys/CreateApiKey/CreateApiKeyUseCase.js.map +1 -1
  117. package/features/security/apiKeys/CreateApiKey/abstractions.js +2 -2
  118. package/features/security/apiKeys/CreateApiKey/abstractions.js.map +1 -1
  119. package/features/security/apiKeys/CreateApiKey/events.js +17 -16
  120. package/features/security/apiKeys/CreateApiKey/events.js.map +1 -1
  121. package/features/security/apiKeys/CreateApiKey/feature.js +6 -5
  122. package/features/security/apiKeys/CreateApiKey/feature.js.map +1 -1
  123. package/features/security/apiKeys/CreateApiKey/index.js +0 -2
  124. package/features/security/apiKeys/DeleteApiKey/DeleteApiKeyUseCase.js +29 -30
  125. package/features/security/apiKeys/DeleteApiKey/DeleteApiKeyUseCase.js.map +1 -1
  126. package/features/security/apiKeys/DeleteApiKey/abstractions.js +2 -2
  127. package/features/security/apiKeys/DeleteApiKey/abstractions.js.map +1 -1
  128. package/features/security/apiKeys/DeleteApiKey/events.js +17 -16
  129. package/features/security/apiKeys/DeleteApiKey/events.js.map +1 -1
  130. package/features/security/apiKeys/DeleteApiKey/feature.js +6 -5
  131. package/features/security/apiKeys/DeleteApiKey/feature.js.map +1 -1
  132. package/features/security/apiKeys/DeleteApiKey/index.js +0 -2
  133. package/features/security/apiKeys/GetApiKey/GetApiKeyUseCase.js +16 -14
  134. package/features/security/apiKeys/GetApiKey/GetApiKeyUseCase.js.map +1 -1
  135. package/features/security/apiKeys/GetApiKey/abstractions.js +2 -2
  136. package/features/security/apiKeys/GetApiKey/abstractions.js.map +1 -1
  137. package/features/security/apiKeys/GetApiKey/feature.js +6 -5
  138. package/features/security/apiKeys/GetApiKey/feature.js.map +1 -1
  139. package/features/security/apiKeys/GetApiKey/index.js +0 -2
  140. package/features/security/apiKeys/GetApiKeyBySlug/GetApiKeyBySlugUseCase.js +13 -10
  141. package/features/security/apiKeys/GetApiKeyBySlug/GetApiKeyBySlugUseCase.js.map +1 -1
  142. package/features/security/apiKeys/GetApiKeyBySlug/abstractions.js +2 -2
  143. package/features/security/apiKeys/GetApiKeyBySlug/abstractions.js.map +1 -1
  144. package/features/security/apiKeys/GetApiKeyBySlug/feature.js +6 -5
  145. package/features/security/apiKeys/GetApiKeyBySlug/feature.js.map +1 -1
  146. package/features/security/apiKeys/GetApiKeyBySlug/index.js +0 -2
  147. package/features/security/apiKeys/GetApiKeyByToken/GetApiKeyByTokenUseCase.js +13 -10
  148. package/features/security/apiKeys/GetApiKeyByToken/GetApiKeyByTokenUseCase.js.map +1 -1
  149. package/features/security/apiKeys/GetApiKeyByToken/abstractions.js +2 -2
  150. package/features/security/apiKeys/GetApiKeyByToken/abstractions.js.map +1 -1
  151. package/features/security/apiKeys/GetApiKeyByToken/feature.js +6 -5
  152. package/features/security/apiKeys/GetApiKeyByToken/feature.js.map +1 -1
  153. package/features/security/apiKeys/GetApiKeyByToken/index.js +0 -2
  154. package/features/security/apiKeys/ListApiKeys/ListApiKeysUseCase.js +17 -17
  155. package/features/security/apiKeys/ListApiKeys/ListApiKeysUseCase.js.map +1 -1
  156. package/features/security/apiKeys/ListApiKeys/abstractions.js +2 -2
  157. package/features/security/apiKeys/ListApiKeys/abstractions.js.map +1 -1
  158. package/features/security/apiKeys/ListApiKeys/feature.js +6 -5
  159. package/features/security/apiKeys/ListApiKeys/feature.js.map +1 -1
  160. package/features/security/apiKeys/ListApiKeys/index.js +0 -2
  161. package/features/security/apiKeys/UpdateApiKey/UpdateApiKeyUseCase.js +39 -42
  162. package/features/security/apiKeys/UpdateApiKey/UpdateApiKeyUseCase.js.map +1 -1
  163. package/features/security/apiKeys/UpdateApiKey/abstractions.js +2 -2
  164. package/features/security/apiKeys/UpdateApiKey/abstractions.js.map +1 -1
  165. package/features/security/apiKeys/UpdateApiKey/events.js +17 -16
  166. package/features/security/apiKeys/UpdateApiKey/events.js.map +1 -1
  167. package/features/security/apiKeys/UpdateApiKey/feature.js +6 -5
  168. package/features/security/apiKeys/UpdateApiKey/feature.js.map +1 -1
  169. package/features/security/apiKeys/UpdateApiKey/index.js +0 -2
  170. package/features/security/apiKeys/feature.js +14 -16
  171. package/features/security/apiKeys/feature.js.map +1 -1
  172. package/features/security/apiKeys/shared/ApiKeyProvider.js +42 -42
  173. package/features/security/apiKeys/shared/ApiKeyProvider.js.map +1 -1
  174. package/features/security/apiKeys/shared/ApiKeysRepository.js +108 -135
  175. package/features/security/apiKeys/shared/ApiKeysRepository.js.map +1 -1
  176. package/features/security/apiKeys/shared/abstractions.js +4 -6
  177. package/features/security/apiKeys/shared/abstractions.js.map +1 -1
  178. package/features/security/apiKeys/shared/errors.js +29 -32
  179. package/features/security/apiKeys/shared/errors.js.map +1 -1
  180. package/features/security/apiKeys/shared/generateToken.js +6 -16
  181. package/features/security/apiKeys/shared/generateToken.js.map +1 -1
  182. package/features/security/apiKeys/shared/schemas.js +27 -23
  183. package/features/security/apiKeys/shared/schemas.js.map +1 -1
  184. package/features/security/apiKeys/shared/types.js +0 -3
  185. package/features/security/authentication/AuthenticationContext/AuthenticationContext.js +44 -38
  186. package/features/security/authentication/AuthenticationContext/AuthenticationContext.js.map +1 -1
  187. package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.js +33 -43
  188. package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.js.map +1 -1
  189. package/features/security/authentication/AuthenticationContext/abstractions.js +2 -2
  190. package/features/security/authentication/AuthenticationContext/abstractions.js.map +1 -1
  191. package/features/security/authentication/AuthenticationContext/errors.js +51 -116
  192. package/features/security/authentication/AuthenticationContext/errors.js.map +1 -1
  193. package/features/security/authentication/AuthenticationContext/events.js +17 -16
  194. package/features/security/authentication/AuthenticationContext/events.js.map +1 -1
  195. package/features/security/authentication/AuthenticationContext/feature.js +6 -5
  196. package/features/security/authentication/AuthenticationContext/feature.js.map +1 -1
  197. package/features/security/authentication/AuthenticationContext/index.js +2 -4
  198. package/features/security/authentication/Authenticator/abstractions.js +2 -2
  199. package/features/security/authentication/Authenticator/abstractions.js.map +1 -1
  200. package/features/security/authentication/Authenticator/index.js +0 -2
  201. package/features/security/authorization/AuthorizationContext/AuthorizationContext.js +46 -59
  202. package/features/security/authorization/AuthorizationContext/AuthorizationContext.js.map +1 -1
  203. package/features/security/authorization/AuthorizationContext/abstractions.js +3 -4
  204. package/features/security/authorization/AuthorizationContext/abstractions.js.map +1 -1
  205. package/features/security/authorization/AuthorizationContext/feature.js +10 -9
  206. package/features/security/authorization/AuthorizationContext/feature.js.map +1 -1
  207. package/features/security/authorization/AuthorizationContext/index.js +1 -4
  208. package/features/security/authorization/Authorizer/abstractions.js +2 -2
  209. package/features/security/authorization/Authorizer/abstractions.js.map +1 -1
  210. package/features/security/authorization/Authorizer/index.js +0 -2
  211. package/features/security/authorization/GroupsTeamsAuthorizer/GetPermissionsFromIdentity.js +60 -64
  212. package/features/security/authorization/GroupsTeamsAuthorizer/GetPermissionsFromIdentity.js.map +1 -1
  213. package/features/security/authorization/GroupsTeamsAuthorizer/RolesTeamsAuthorizer.js +26 -40
  214. package/features/security/authorization/GroupsTeamsAuthorizer/RolesTeamsAuthorizer.js.map +1 -1
  215. package/features/security/authorization/GroupsTeamsAuthorizer/abstractions.js +2 -1
  216. package/features/security/authorization/GroupsTeamsAuthorizer/abstractions.js.map +1 -1
  217. package/features/security/authorization/GroupsTeamsAuthorizer/feature.js +7 -6
  218. package/features/security/authorization/GroupsTeamsAuthorizer/feature.js.map +1 -1
  219. package/features/security/login/abstractions.js +9 -8
  220. package/features/security/login/abstractions.js.map +1 -1
  221. package/features/security/login/index.js +0 -2
  222. package/features/security/permissions/createPermissionSchema.js +6 -5
  223. package/features/security/permissions/createPermissionSchema.js.map +1 -1
  224. package/features/security/permissions/createPermissions.js +148 -236
  225. package/features/security/permissions/createPermissions.js.map +1 -1
  226. package/features/security/permissions/index.js +0 -2
  227. package/features/security/permissions/types.js +0 -3
  228. package/features/security/roles/CreateRole/CreateRoleUseCase.js +53 -59
  229. package/features/security/roles/CreateRole/CreateRoleUseCase.js.map +1 -1
  230. package/features/security/roles/CreateRole/abstractions.js +2 -2
  231. package/features/security/roles/CreateRole/abstractions.js.map +1 -1
  232. package/features/security/roles/CreateRole/events.js +17 -16
  233. package/features/security/roles/CreateRole/events.js.map +1 -1
  234. package/features/security/roles/CreateRole/feature.js +6 -5
  235. package/features/security/roles/CreateRole/feature.js.map +1 -1
  236. package/features/security/roles/CreateRole/index.js +0 -2
  237. package/features/security/roles/CreateRole/schema.js +8 -7
  238. package/features/security/roles/CreateRole/schema.js.map +1 -1
  239. package/features/security/roles/DeleteRole/DeleteRoleUseCase.js +35 -41
  240. package/features/security/roles/DeleteRole/DeleteRoleUseCase.js.map +1 -1
  241. package/features/security/roles/DeleteRole/abstractions.js +2 -2
  242. package/features/security/roles/DeleteRole/abstractions.js.map +1 -1
  243. package/features/security/roles/DeleteRole/events.js +17 -16
  244. package/features/security/roles/DeleteRole/events.js.map +1 -1
  245. package/features/security/roles/DeleteRole/feature.js +6 -5
  246. package/features/security/roles/DeleteRole/feature.js.map +1 -1
  247. package/features/security/roles/DeleteRole/index.js +0 -2
  248. package/features/security/roles/GetRole/GetRoleUseCase.js +19 -18
  249. package/features/security/roles/GetRole/GetRoleUseCase.js.map +1 -1
  250. package/features/security/roles/GetRole/abstractions.js +2 -2
  251. package/features/security/roles/GetRole/abstractions.js.map +1 -1
  252. package/features/security/roles/GetRole/feature.js +6 -5
  253. package/features/security/roles/GetRole/feature.js.map +1 -1
  254. package/features/security/roles/GetRole/index.js +0 -2
  255. package/features/security/roles/Installer/RolesInstaller.js +38 -35
  256. package/features/security/roles/Installer/RolesInstaller.js.map +1 -1
  257. package/features/security/roles/ListRoles/ListRolesUseCase.js +18 -17
  258. package/features/security/roles/ListRoles/ListRolesUseCase.js.map +1 -1
  259. package/features/security/roles/ListRoles/abstractions.js +2 -2
  260. package/features/security/roles/ListRoles/abstractions.js.map +1 -1
  261. package/features/security/roles/ListRoles/feature.js +6 -5
  262. package/features/security/roles/ListRoles/feature.js.map +1 -1
  263. package/features/security/roles/ListRoles/index.js +0 -2
  264. package/features/security/roles/UpdateRole/UpdateRoleUseCase.js +43 -50
  265. package/features/security/roles/UpdateRole/UpdateRoleUseCase.js.map +1 -1
  266. package/features/security/roles/UpdateRole/abstractions.js +2 -2
  267. package/features/security/roles/UpdateRole/abstractions.js.map +1 -1
  268. package/features/security/roles/UpdateRole/events.js +17 -16
  269. package/features/security/roles/UpdateRole/events.js.map +1 -1
  270. package/features/security/roles/UpdateRole/feature.js +6 -5
  271. package/features/security/roles/UpdateRole/feature.js.map +1 -1
  272. package/features/security/roles/UpdateRole/index.js +0 -2
  273. package/features/security/roles/UpdateRole/schema.js +7 -6
  274. package/features/security/roles/UpdateRole/schema.js.map +1 -1
  275. package/features/security/roles/feature.js +14 -18
  276. package/features/security/roles/feature.js.map +1 -1
  277. package/features/security/roles/shared/RoleProvider.js +27 -21
  278. package/features/security/roles/shared/RoleProvider.js.map +1 -1
  279. package/features/security/roles/shared/RolesRepository.js +96 -113
  280. package/features/security/roles/shared/RolesRepository.js.map +1 -1
  281. package/features/security/roles/shared/abstractions.js +3 -4
  282. package/features/security/roles/shared/abstractions.js.map +1 -1
  283. package/features/security/roles/shared/decorators/ListCache.js +23 -22
  284. package/features/security/roles/shared/decorators/ListCache.js.map +1 -1
  285. package/features/security/roles/shared/decorators/RolesRepositoryCachingDecorator.js +40 -62
  286. package/features/security/roles/shared/decorators/RolesRepositoryCachingDecorator.js.map +1 -1
  287. package/features/security/roles/shared/errors.js +50 -56
  288. package/features/security/roles/shared/errors.js.map +1 -1
  289. package/features/security/roles/shared/types.js +0 -3
  290. package/features/security/shared/abstractions.js +4 -6
  291. package/features/security/shared/abstractions.js.map +1 -1
  292. package/features/security/shared/errors.js +8 -8
  293. package/features/security/shared/errors.js.map +1 -1
  294. package/features/security/shared/index.js +0 -2
  295. package/features/security/teams/CreateTeam/CreateTeamUseCase.js +53 -59
  296. package/features/security/teams/CreateTeam/CreateTeamUseCase.js.map +1 -1
  297. package/features/security/teams/CreateTeam/abstractions.js +2 -2
  298. package/features/security/teams/CreateTeam/abstractions.js.map +1 -1
  299. package/features/security/teams/CreateTeam/events.js +17 -16
  300. package/features/security/teams/CreateTeam/events.js.map +1 -1
  301. package/features/security/teams/CreateTeam/feature.js +6 -5
  302. package/features/security/teams/CreateTeam/feature.js.map +1 -1
  303. package/features/security/teams/CreateTeam/index.js +0 -2
  304. package/features/security/teams/CreateTeam/schema.js +6 -5
  305. package/features/security/teams/CreateTeam/schema.js.map +1 -1
  306. package/features/security/teams/DeleteTeam/DeleteTeamUseCase.js +36 -46
  307. package/features/security/teams/DeleteTeam/DeleteTeamUseCase.js.map +1 -1
  308. package/features/security/teams/DeleteTeam/abstractions.js +2 -2
  309. package/features/security/teams/DeleteTeam/abstractions.js.map +1 -1
  310. package/features/security/teams/DeleteTeam/events.js +17 -16
  311. package/features/security/teams/DeleteTeam/events.js.map +1 -1
  312. package/features/security/teams/DeleteTeam/feature.js +6 -5
  313. package/features/security/teams/DeleteTeam/feature.js.map +1 -1
  314. package/features/security/teams/DeleteTeam/index.js +0 -2
  315. package/features/security/teams/GetTeam/GetTeamUseCase.js +17 -17
  316. package/features/security/teams/GetTeam/GetTeamUseCase.js.map +1 -1
  317. package/features/security/teams/GetTeam/abstractions.js +2 -2
  318. package/features/security/teams/GetTeam/abstractions.js.map +1 -1
  319. package/features/security/teams/GetTeam/feature.js +6 -5
  320. package/features/security/teams/GetTeam/feature.js.map +1 -1
  321. package/features/security/teams/GetTeam/index.js +0 -2
  322. package/features/security/teams/ListTeams/ListTeamsUseCase.js +20 -21
  323. package/features/security/teams/ListTeams/ListTeamsUseCase.js.map +1 -1
  324. package/features/security/teams/ListTeams/abstractions.js +2 -2
  325. package/features/security/teams/ListTeams/abstractions.js.map +1 -1
  326. package/features/security/teams/ListTeams/feature.js +6 -5
  327. package/features/security/teams/ListTeams/feature.js.map +1 -1
  328. package/features/security/teams/ListTeams/index.js +0 -2
  329. package/features/security/teams/UpdateTeam/UpdateTeamUseCase.js +46 -58
  330. package/features/security/teams/UpdateTeam/UpdateTeamUseCase.js.map +1 -1
  331. package/features/security/teams/UpdateTeam/abstractions.js +2 -2
  332. package/features/security/teams/UpdateTeam/abstractions.js.map +1 -1
  333. package/features/security/teams/UpdateTeam/events.js +17 -16
  334. package/features/security/teams/UpdateTeam/events.js.map +1 -1
  335. package/features/security/teams/UpdateTeam/feature.js +6 -5
  336. package/features/security/teams/UpdateTeam/feature.js.map +1 -1
  337. package/features/security/teams/UpdateTeam/index.js +0 -2
  338. package/features/security/teams/UpdateTeam/schema.js +5 -4
  339. package/features/security/teams/UpdateTeam/schema.js.map +1 -1
  340. package/features/security/teams/feature.js +13 -17
  341. package/features/security/teams/feature.js.map +1 -1
  342. package/features/security/teams/shared/TeamProvider.js +27 -21
  343. package/features/security/teams/shared/TeamProvider.js.map +1 -1
  344. package/features/security/teams/shared/TeamsRepository.js +100 -118
  345. package/features/security/teams/shared/TeamsRepository.js.map +1 -1
  346. package/features/security/teams/shared/abstractions.js +3 -4
  347. package/features/security/teams/shared/abstractions.js.map +1 -1
  348. package/features/security/teams/shared/decorators/TeamsRepositoryCachingDecorator.js +40 -62
  349. package/features/security/teams/shared/decorators/TeamsRepositoryCachingDecorator.js.map +1 -1
  350. package/features/security/teams/shared/errors.js +62 -70
  351. package/features/security/teams/shared/errors.js.map +1 -1
  352. package/features/security/teams/shared/types.js +0 -3
  353. package/features/security/utils/AppPermissions.js +50 -89
  354. package/features/security/utils/AppPermissions.js.map +1 -1
  355. package/features/security/utils/IdentityValue.js +19 -22
  356. package/features/security/utils/IdentityValue.js.map +1 -1
  357. package/features/security/utils/filterOutCustomWbyAppsPermissions.js +24 -27
  358. package/features/security/utils/filterOutCustomWbyAppsPermissions.js.map +1 -1
  359. package/features/security/utils/getPermissionsFromRoles.js +5 -10
  360. package/features/security/utils/getPermissionsFromRoles.js.map +1 -1
  361. package/features/security/utils/isJwt.js +2 -1
  362. package/features/security/utils/isJwt.js.map +1 -1
  363. package/features/security/utils/verifyJwtUsingJwk.js +6 -7
  364. package/features/security/utils/verifyJwtUsingJwk.js.map +1 -1
  365. package/features/system/InstallSystem/InstallSystemUseCase.js +45 -44
  366. package/features/system/InstallSystem/InstallSystemUseCase.js.map +1 -1
  367. package/features/system/InstallSystem/abstractions.js +3 -17
  368. package/features/system/InstallSystem/abstractions.js.map +1 -1
  369. package/features/system/InstallSystem/errors.js +15 -16
  370. package/features/system/InstallSystem/errors.js.map +1 -1
  371. package/features/system/InstallSystem/events.js +8 -5
  372. package/features/system/InstallSystem/events.js.map +1 -1
  373. package/features/system/InstallSystem/feature.js +6 -7
  374. package/features/system/InstallSystem/feature.js.map +1 -1
  375. package/features/system/InstallSystem/index.js +2 -6
  376. package/features/system/SystemFeature.js +6 -5
  377. package/features/system/SystemFeature.js.map +1 -1
  378. package/features/task/TaskController/abstractions.js +2 -10
  379. package/features/task/TaskController/abstractions.js.map +1 -1
  380. package/features/task/TaskController/index.js +0 -2
  381. package/features/task/TaskDefinition/abstractions.js +8 -40
  382. package/features/task/TaskDefinition/abstractions.js.map +1 -1
  383. package/features/task/TaskDefinition/index.js +0 -2
  384. package/features/task/TaskService/abstractions.js +9 -13
  385. package/features/task/TaskService/abstractions.js.map +1 -1
  386. package/features/task/TaskService/index.js +0 -2
  387. package/features/tenancy/CreateTenant/CreateTenantGateway.js +14 -11
  388. package/features/tenancy/CreateTenant/CreateTenantGateway.js.map +1 -1
  389. package/features/tenancy/CreateTenant/CreateTenantRepository.js +18 -15
  390. package/features/tenancy/CreateTenant/CreateTenantRepository.js.map +1 -1
  391. package/features/tenancy/CreateTenant/CreateTenantUseCase.js +44 -41
  392. package/features/tenancy/CreateTenant/CreateTenantUseCase.js.map +1 -1
  393. package/features/tenancy/CreateTenant/abstractions.js +6 -29
  394. package/features/tenancy/CreateTenant/abstractions.js.map +1 -1
  395. package/features/tenancy/CreateTenant/decorators/CreateTenantWithWcpIncrement.js +16 -15
  396. package/features/tenancy/CreateTenant/decorators/CreateTenantWithWcpIncrement.js.map +1 -1
  397. package/features/tenancy/CreateTenant/errors.js +8 -8
  398. package/features/tenancy/CreateTenant/errors.js.map +1 -1
  399. package/features/tenancy/CreateTenant/events.js +16 -11
  400. package/features/tenancy/CreateTenant/events.js.map +1 -1
  401. package/features/tenancy/CreateTenant/feature.js +9 -8
  402. package/features/tenancy/CreateTenant/feature.js.map +1 -1
  403. package/features/tenancy/CreateTenant/index.js +2 -4
  404. package/features/tenancy/DeleteTenant/DeleteTenantGateway.js +15 -12
  405. package/features/tenancy/DeleteTenant/DeleteTenantGateway.js.map +1 -1
  406. package/features/tenancy/DeleteTenant/DeleteTenantRepository.js +22 -19
  407. package/features/tenancy/DeleteTenant/DeleteTenantRepository.js.map +1 -1
  408. package/features/tenancy/DeleteTenant/DeleteTenantUseCase.js +29 -27
  409. package/features/tenancy/DeleteTenant/DeleteTenantUseCase.js.map +1 -1
  410. package/features/tenancy/DeleteTenant/abstractions.js +6 -10
  411. package/features/tenancy/DeleteTenant/abstractions.js.map +1 -1
  412. package/features/tenancy/DeleteTenant/decorators/DeleteTenantWithWcpDecrement.js +16 -13
  413. package/features/tenancy/DeleteTenant/decorators/DeleteTenantWithWcpDecrement.js.map +1 -1
  414. package/features/tenancy/DeleteTenant/events.js +16 -11
  415. package/features/tenancy/DeleteTenant/events.js.map +1 -1
  416. package/features/tenancy/DeleteTenant/feature.js +9 -8
  417. package/features/tenancy/DeleteTenant/feature.js.map +1 -1
  418. package/features/tenancy/DeleteTenant/index.js +2 -4
  419. package/features/tenancy/GetRootTenant/GetRootTenantUseCase.js +15 -12
  420. package/features/tenancy/GetRootTenant/GetRootTenantUseCase.js.map +1 -1
  421. package/features/tenancy/GetRootTenant/abstractions.js +2 -4
  422. package/features/tenancy/GetRootTenant/abstractions.js.map +1 -1
  423. package/features/tenancy/GetRootTenant/feature.js +6 -5
  424. package/features/tenancy/GetRootTenant/feature.js.map +1 -1
  425. package/features/tenancy/GetRootTenant/index.js +0 -2
  426. package/features/tenancy/GetTenantById/GetTenantByIdGateway.js +17 -12
  427. package/features/tenancy/GetTenantById/GetTenantByIdGateway.js.map +1 -1
  428. package/features/tenancy/GetTenantById/GetTenantByIdRepository.js +18 -19
  429. package/features/tenancy/GetTenantById/GetTenantByIdRepository.js.map +1 -1
  430. package/features/tenancy/GetTenantById/GetTenantByIdUseCase.js +17 -17
  431. package/features/tenancy/GetTenantById/GetTenantByIdUseCase.js.map +1 -1
  432. package/features/tenancy/GetTenantById/abstractions.js +4 -6
  433. package/features/tenancy/GetTenantById/abstractions.js.map +1 -1
  434. package/features/tenancy/GetTenantById/feature.js +8 -12
  435. package/features/tenancy/GetTenantById/feature.js.map +1 -1
  436. package/features/tenancy/GetTenantById/index.js +1 -3
  437. package/features/tenancy/InstallTenant/DependencyResolver.js +53 -65
  438. package/features/tenancy/InstallTenant/DependencyResolver.js.map +1 -1
  439. package/features/tenancy/InstallTenant/InstallTenantUseCase.js +95 -113
  440. package/features/tenancy/InstallTenant/InstallTenantUseCase.js.map +1 -1
  441. package/features/tenancy/InstallTenant/abstractions.js +4 -15
  442. package/features/tenancy/InstallTenant/abstractions.js.map +1 -1
  443. package/features/tenancy/InstallTenant/errors.js +15 -16
  444. package/features/tenancy/InstallTenant/errors.js.map +1 -1
  445. package/features/tenancy/InstallTenant/events.js +8 -5
  446. package/features/tenancy/InstallTenant/events.js.map +1 -1
  447. package/features/tenancy/InstallTenant/feature.js +6 -5
  448. package/features/tenancy/InstallTenant/feature.js.map +1 -1
  449. package/features/tenancy/InstallTenant/index.js +1 -3
  450. package/features/tenancy/ListTenants/ListTenantsGateway.js +14 -11
  451. package/features/tenancy/ListTenants/ListTenantsGateway.js.map +1 -1
  452. package/features/tenancy/ListTenants/ListTenantsRepository.js +14 -12
  453. package/features/tenancy/ListTenants/ListTenantsRepository.js.map +1 -1
  454. package/features/tenancy/ListTenants/ListTenantsUseCase.js +16 -14
  455. package/features/tenancy/ListTenants/ListTenantsUseCase.js.map +1 -1
  456. package/features/tenancy/ListTenants/abstractions.js +4 -12
  457. package/features/tenancy/ListTenants/abstractions.js.map +1 -1
  458. package/features/tenancy/ListTenants/feature.js +8 -7
  459. package/features/tenancy/ListTenants/feature.js.map +1 -1
  460. package/features/tenancy/ListTenants/index.js +1 -3
  461. package/features/tenancy/TenancyFeature.js +20 -26
  462. package/features/tenancy/TenancyFeature.js.map +1 -1
  463. package/features/tenancy/TenantContext/TenantContext.js +46 -48
  464. package/features/tenancy/TenantContext/TenantContext.js.map +1 -1
  465. package/features/tenancy/TenantContext/abstractions.js +2 -2
  466. package/features/tenancy/TenantContext/abstractions.js.map +1 -1
  467. package/features/tenancy/TenantContext/errors.js +7 -7
  468. package/features/tenancy/TenantContext/errors.js.map +1 -1
  469. package/features/tenancy/TenantContext/feature.js +6 -5
  470. package/features/tenancy/TenantContext/feature.js.map +1 -1
  471. package/features/tenancy/TenantContext/index.js +0 -2
  472. package/features/tenancy/UpdateTenant/UpdateTenantGateway.js +14 -11
  473. package/features/tenancy/UpdateTenant/UpdateTenantGateway.js.map +1 -1
  474. package/features/tenancy/UpdateTenant/UpdateTenantRepository.js +19 -16
  475. package/features/tenancy/UpdateTenant/UpdateTenantRepository.js.map +1 -1
  476. package/features/tenancy/UpdateTenant/UpdateTenantUseCase.js +37 -36
  477. package/features/tenancy/UpdateTenant/UpdateTenantUseCase.js.map +1 -1
  478. package/features/tenancy/UpdateTenant/abstractions.js +6 -10
  479. package/features/tenancy/UpdateTenant/abstractions.js.map +1 -1
  480. package/features/tenancy/UpdateTenant/events.js +16 -11
  481. package/features/tenancy/UpdateTenant/events.js.map +1 -1
  482. package/features/tenancy/UpdateTenant/feature.js +8 -7
  483. package/features/tenancy/UpdateTenant/feature.js.map +1 -1
  484. package/features/tenancy/UpdateTenant/index.js +2 -4
  485. package/features/tenancy/shared/TenantCache.js +18 -17
  486. package/features/tenancy/shared/TenantCache.js.map +1 -1
  487. package/features/tenancy/shared/abstractions.js +2 -1
  488. package/features/tenancy/shared/abstractions.js.map +1 -1
  489. package/features/tenancy/shared/storageOperations.js +2 -5
  490. package/features/tenancy/shared/storageOperations.js.map +1 -1
  491. package/features/users/AdminUsersFeature.js +15 -19
  492. package/features/users/AdminUsersFeature.js.map +1 -1
  493. package/features/users/CreateUser/CreateUserUseCase.js +65 -100
  494. package/features/users/CreateUser/CreateUserUseCase.js.map +1 -1
  495. package/features/users/CreateUser/abstractions.js +2 -13
  496. package/features/users/CreateUser/abstractions.js.map +1 -1
  497. package/features/users/CreateUser/decorators/CreateUserWithWcpIncrement.js +16 -15
  498. package/features/users/CreateUser/decorators/CreateUserWithWcpIncrement.js.map +1 -1
  499. package/features/users/CreateUser/events.js +17 -18
  500. package/features/users/CreateUser/events.js.map +1 -1
  501. package/features/users/CreateUser/feature.js +7 -6
  502. package/features/users/CreateUser/feature.js.map +1 -1
  503. package/features/users/CreateUser/index.js +0 -2
  504. package/features/users/CreateUser/schema.js +14 -18
  505. package/features/users/CreateUser/schema.js.map +1 -1
  506. package/features/users/DeleteUser/DeleteUserUseCase.js +35 -50
  507. package/features/users/DeleteUser/DeleteUserUseCase.js.map +1 -1
  508. package/features/users/DeleteUser/abstractions.js +2 -13
  509. package/features/users/DeleteUser/abstractions.js.map +1 -1
  510. package/features/users/DeleteUser/decorators/DeleteUserWithWcpDecrement.js +15 -16
  511. package/features/users/DeleteUser/decorators/DeleteUserWithWcpDecrement.js.map +1 -1
  512. package/features/users/DeleteUser/errors.js +7 -7
  513. package/features/users/DeleteUser/errors.js.map +1 -1
  514. package/features/users/DeleteUser/events.js +17 -18
  515. package/features/users/DeleteUser/events.js.map +1 -1
  516. package/features/users/DeleteUser/feature.js +7 -6
  517. package/features/users/DeleteUser/feature.js.map +1 -1
  518. package/features/users/DeleteUser/index.js +0 -2
  519. package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.js +60 -74
  520. package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.js.map +1 -1
  521. package/features/users/ExternalIdpUserSync/feature.js +6 -5
  522. package/features/users/ExternalIdpUserSync/feature.js.map +1 -1
  523. package/features/users/ExternalIdpUserSync/index.js +0 -2
  524. package/features/users/GetIdentityProfile/GetIdentityProfileUseCase.js +29 -39
  525. package/features/users/GetIdentityProfile/GetIdentityProfileUseCase.js.map +1 -1
  526. package/features/users/GetIdentityProfile/abstractions.js +2 -11
  527. package/features/users/GetIdentityProfile/abstractions.js.map +1 -1
  528. package/features/users/GetIdentityProfile/feature.js +6 -5
  529. package/features/users/GetIdentityProfile/feature.js.map +1 -1
  530. package/features/users/GetIdentityProfile/index.js +0 -2
  531. package/features/users/GetIdentityProfile/types.js +0 -3
  532. package/features/users/GetUser/GetUserUseCase.js +19 -23
  533. package/features/users/GetUser/GetUserUseCase.js.map +1 -1
  534. package/features/users/GetUser/abstractions.js +2 -11
  535. package/features/users/GetUser/abstractions.js.map +1 -1
  536. package/features/users/GetUser/feature.js +6 -5
  537. package/features/users/GetUser/feature.js.map +1 -1
  538. package/features/users/GetUser/index.js +0 -2
  539. package/features/users/ListUserTeams/ListUserTeamsUseCase.js +33 -42
  540. package/features/users/ListUserTeams/ListUserTeamsUseCase.js.map +1 -1
  541. package/features/users/ListUserTeams/abstractions.js +2 -11
  542. package/features/users/ListUserTeams/abstractions.js.map +1 -1
  543. package/features/users/ListUserTeams/feature.js +6 -5
  544. package/features/users/ListUserTeams/feature.js.map +1 -1
  545. package/features/users/ListUserTeams/index.js +0 -2
  546. package/features/users/ListUsers/ListUsersUseCase.js +19 -23
  547. package/features/users/ListUsers/ListUsersUseCase.js.map +1 -1
  548. package/features/users/ListUsers/abstractions.js +2 -11
  549. package/features/users/ListUsers/abstractions.js.map +1 -1
  550. package/features/users/ListUsers/feature.js +6 -5
  551. package/features/users/ListUsers/feature.js.map +1 -1
  552. package/features/users/ListUsers/index.js +0 -2
  553. package/features/users/UpdateUser/UpdateUserUseCase.js +52 -74
  554. package/features/users/UpdateUser/UpdateUserUseCase.js.map +1 -1
  555. package/features/users/UpdateUser/abstractions.js +2 -13
  556. package/features/users/UpdateUser/abstractions.js.map +1 -1
  557. package/features/users/UpdateUser/events.js +17 -18
  558. package/features/users/UpdateUser/events.js.map +1 -1
  559. package/features/users/UpdateUser/feature.js +6 -5
  560. package/features/users/UpdateUser/feature.js.map +1 -1
  561. package/features/users/UpdateUser/index.js +0 -2
  562. package/features/users/UpdateUser/schema.js +11 -10
  563. package/features/users/UpdateUser/schema.js.map +1 -1
  564. package/features/users/shared/AdminUsersRepository.js +104 -112
  565. package/features/users/shared/AdminUsersRepository.js.map +1 -1
  566. package/features/users/shared/abstractions.js +2 -9
  567. package/features/users/shared/abstractions.js.map +1 -1
  568. package/features/users/shared/errors.js +40 -46
  569. package/features/users/shared/errors.js.map +1 -1
  570. package/features/users/shared/loaders.js +52 -66
  571. package/features/users/shared/loaders.js.map +1 -1
  572. package/features/users/shared/storageAbstractions.js +2 -2
  573. package/features/users/shared/storageAbstractions.js.map +1 -1
  574. package/features/users/shared/types.js +0 -3
  575. package/features/wcp/WcpContext/WcpContext.js +138 -142
  576. package/features/wcp/WcpContext/WcpContext.js.map +1 -1
  577. package/features/wcp/WcpContext/abstractions.js +2 -6
  578. package/features/wcp/WcpContext/abstractions.js.map +1 -1
  579. package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.js +135 -134
  580. package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.js.map +1 -1
  581. package/features/wcp/WcpContext/feature.js +6 -5
  582. package/features/wcp/WcpContext/feature.js.map +1 -1
  583. package/features/wcp/WcpContext/index.js +0 -2
  584. package/features/wcp/WcpContext/types.js +0 -3
  585. package/features/wcp/WcpContext/utils.js +35 -53
  586. package/features/wcp/WcpContext/utils.js.map +1 -1
  587. package/features/wcp/WcpFeature.js +7 -6
  588. package/features/wcp/WcpFeature.js.map +1 -1
  589. package/features/webhooks/Webhook/WebhookProvider.d.ts +12 -0
  590. package/features/webhooks/Webhook/WebhookProvider.js +28 -0
  591. package/features/webhooks/Webhook/WebhookProvider.js.map +1 -0
  592. package/features/webhooks/Webhook/abstractions/WebhookFactory.d.ts +14 -0
  593. package/features/webhooks/Webhook/abstractions/WebhookFactory.js +5 -0
  594. package/features/webhooks/Webhook/abstractions/WebhookFactory.js.map +1 -0
  595. package/features/webhooks/Webhook/abstractions/WebhookProvider.d.ts +9 -0
  596. package/features/webhooks/Webhook/abstractions/WebhookProvider.js +5 -0
  597. package/features/webhooks/Webhook/abstractions/WebhookProvider.js.map +1 -0
  598. package/features/webhooks/Webhook/feature.d.ts +4 -0
  599. package/features/webhooks/Webhook/feature.js +11 -0
  600. package/features/webhooks/Webhook/feature.js.map +1 -0
  601. package/features/webhooks/Webhook/index.d.ts +2 -0
  602. package/features/webhooks/Webhook/index.js +2 -0
  603. package/features/webhooks/WebhookDispatcher/NullWebhookDispatcher.d.ts +8 -0
  604. package/features/webhooks/WebhookDispatcher/NullWebhookDispatcher.js +11 -0
  605. package/features/webhooks/WebhookDispatcher/NullWebhookDispatcher.js.map +1 -0
  606. package/features/webhooks/WebhookDispatcher/abstractions.d.ts +12 -0
  607. package/features/webhooks/WebhookDispatcher/abstractions.js +5 -0
  608. package/features/webhooks/WebhookDispatcher/abstractions.js.map +1 -0
  609. package/features/webhooks/WebhookSignPayload/abstractions.d.ts +14 -0
  610. package/features/webhooks/WebhookSignPayload/abstractions.js +5 -0
  611. package/features/webhooks/WebhookSignPayload/abstractions.js.map +1 -0
  612. package/features/webhooks/WebhookVerifyPayload/abstractions.d.ts +11 -0
  613. package/features/webhooks/WebhookVerifyPayload/abstractions.js +5 -0
  614. package/features/webhooks/WebhookVerifyPayload/abstractions.js.map +1 -0
  615. package/features/webhooks/index.d.ts +5 -0
  616. package/features/webhooks/index.js +5 -0
  617. package/graphql/security/NotAuthorizedResponse.js +11 -14
  618. package/graphql/security/NotAuthorizedResponse.js.map +1 -1
  619. package/graphql/security/ProfileMapper.js +12 -11
  620. package/graphql/security/ProfileMapper.js.map +1 -1
  621. package/graphql/security/apiKey.gql.js +38 -47
  622. package/graphql/security/apiKey.gql.js.map +1 -1
  623. package/graphql/security/base.gql.js +11 -10
  624. package/graphql/security/base.gql.js.map +1 -1
  625. package/graphql/security/identity.gql.js +87 -97
  626. package/graphql/security/identity.gql.js.map +1 -1
  627. package/graphql/security/index.js +13 -8
  628. package/graphql/security/index.js.map +1 -1
  629. package/graphql/security/role.gql.js +49 -57
  630. package/graphql/security/role.gql.js.map +1 -1
  631. package/graphql/security/team.gql.js +61 -69
  632. package/graphql/security/team.gql.js.map +1 -1
  633. package/graphql/system/createSystemGraphQL.js +31 -34
  634. package/graphql/system/createSystemGraphQL.js.map +1 -1
  635. package/graphql/users/user.gql.js +87 -105
  636. package/graphql/users/user.gql.js.map +1 -1
  637. package/graphql/wcp/graphql.js +25 -28
  638. package/graphql/wcp/graphql.js.map +1 -1
  639. package/idp/JwksCache.js +22 -28
  640. package/idp/JwksCache.js.map +1 -1
  641. package/idp/JwtAuthenticator.js +34 -46
  642. package/idp/JwtAuthenticator.js.map +1 -1
  643. package/idp/OidcJwtIdentityProvider.js +55 -82
  644. package/idp/OidcJwtIdentityProvider.js.map +1 -1
  645. package/idp/abstractions.js +5 -14
  646. package/idp/abstractions.js.map +1 -1
  647. package/idp/feature.js +8 -7
  648. package/idp/feature.js.map +1 -1
  649. package/idp/index.js +1 -3
  650. package/idp/types.js +0 -3
  651. package/index.js +0 -2
  652. package/legacy/security/LegacyContext.js +133 -186
  653. package/legacy/security/LegacyContext.js.map +1 -1
  654. package/legacy/security/createSecurityContext.js +5 -9
  655. package/legacy/security/createSecurityContext.js.map +1 -1
  656. package/legacy/security/plugins/apiKeyAuthentication.js +15 -24
  657. package/legacy/security/plugins/apiKeyAuthentication.js.map +1 -1
  658. package/legacy/security/plugins/apiKeyAuthorization.js +9 -18
  659. package/legacy/security/plugins/apiKeyAuthorization.js.map +1 -1
  660. package/legacy/security/plugins/authenticateUsingCookie.js +18 -22
  661. package/legacy/security/plugins/authenticateUsingCookie.js.map +1 -1
  662. package/legacy/security/plugins/authenticateUsingHttpHeader.d.ts +1 -1
  663. package/legacy/security/plugins/authenticateUsingHttpHeader.js +15 -18
  664. package/legacy/security/plugins/authenticateUsingHttpHeader.js.map +1 -1
  665. package/legacy/security/plugins/secureHeaders.js +28 -21
  666. package/legacy/security/plugins/secureHeaders.js.map +1 -1
  667. package/legacy/tenancy/LegacyContext.js +45 -52
  668. package/legacy/tenancy/LegacyContext.js.map +1 -1
  669. package/legacy/tenancy/createTenancyContext.js +22 -42
  670. package/legacy/tenancy/createTenancyContext.js.map +1 -1
  671. package/legacy/users/LegacyContext.js +39 -54
  672. package/legacy/users/LegacyContext.js.map +1 -1
  673. package/legacy/users/createAdminUsersContext.js +7 -7
  674. package/legacy/users/createAdminUsersContext.js.map +1 -1
  675. package/legacy/wcp/LegacyWcpContext.js +80 -79
  676. package/legacy/wcp/LegacyWcpContext.js.map +1 -1
  677. package/legacy/wcp/context.d.ts +1 -3
  678. package/legacy/wcp/context.js +33 -37
  679. package/legacy/wcp/context.js.map +1 -1
  680. package/models/base/BaseModel.js +51 -56
  681. package/models/base/BaseModel.js.map +1 -1
  682. package/models/base/ModelBuilder.js +65 -78
  683. package/models/base/ModelBuilder.js.map +1 -1
  684. package/models/base/ModelFactory.js +0 -3
  685. package/models/base/__tests__/ModelBuilder.test.js +437 -454
  686. package/models/base/__tests__/ModelBuilder.test.js.map +1 -1
  687. package/models/base/abstractions.js +0 -3
  688. package/models/cms/FieldBuilder.js +112 -121
  689. package/models/cms/FieldBuilder.js.map +1 -1
  690. package/models/cms/FieldBuilderRegistry.js +13 -12
  691. package/models/cms/FieldBuilderRegistry.js.map +1 -1
  692. package/models/cms/FieldDefinitionsBuilder.js +37 -54
  693. package/models/cms/FieldDefinitionsBuilder.js.map +1 -1
  694. package/models/cms/PrivateCmsModelBuilder.js +84 -89
  695. package/models/cms/PrivateCmsModelBuilder.js.map +1 -1
  696. package/models/cms/PrivatePage/Page.fields.js +7 -6
  697. package/models/cms/PrivatePage/Page.fields.js.map +1 -1
  698. package/models/cms/PrivatePage/PageModelBuilder.js +18 -15
  699. package/models/cms/PrivatePage/PageModelBuilder.js.map +1 -1
  700. package/models/cms/PrivatePage/PageModelFactory.js +20 -25
  701. package/models/cms/PrivatePage/PageModelFactory.js.map +1 -1
  702. package/models/cms/PrivatePage/__tests__/PageModelFactory.test.js +218 -234
  703. package/models/cms/PrivatePage/__tests__/PageModelFactory.test.js.map +1 -1
  704. package/models/cms/PrivatePage/__tests__/PagePublishingDecorator.js +33 -36
  705. package/models/cms/PrivatePage/__tests__/PagePublishingDecorator.js.map +1 -1
  706. package/models/cms/PrivatePage/__tests__/PageSeoDecorator.js +25 -26
  707. package/models/cms/PrivatePage/__tests__/PageSeoDecorator.js.map +1 -1
  708. package/models/cms/PrivatePage/abstractions.js +3 -9
  709. package/models/cms/PrivatePage/abstractions.js.map +1 -1
  710. package/models/cms/__tests__/PrivateCmsModelBuilder.test.js +173 -185
  711. package/models/cms/__tests__/PrivateCmsModelBuilder.test.js.map +1 -1
  712. package/models/cms/abstractions.js +3 -20
  713. package/models/cms/abstractions.js.map +1 -1
  714. package/models/cms/types.js +0 -3
  715. package/models/simple/Page/PageModelBuilder.js +15 -14
  716. package/models/simple/Page/PageModelBuilder.js.map +1 -1
  717. package/models/simple/Page/PageModelFactory.js +16 -15
  718. package/models/simple/Page/PageModelFactory.js.map +1 -1
  719. package/models/simple/Page/__tests__/PageModelBuilderDecorator.js +21 -20
  720. package/models/simple/Page/__tests__/PageModelBuilderDecorator.js.map +1 -1
  721. package/models/simple/Page/__tests__/PageModelBuilderDecorator2.js +17 -16
  722. package/models/simple/Page/__tests__/PageModelBuilderDecorator2.js.map +1 -1
  723. package/models/simple/Page/__tests__/PageModelFactory.test.js +28 -28
  724. package/models/simple/Page/__tests__/PageModelFactory.test.js.map +1 -1
  725. package/models/simple/Page/abstractions.js +9 -8
  726. package/models/simple/Page/abstractions.js.map +1 -1
  727. package/package.json +22 -22
  728. package/types/core.js +0 -3
  729. package/types/security.js +0 -3
  730. package/types/tenancy.js +0 -3
  731. package/types/users.js +0 -3
  732. package/domain/tenancy/errors.js.map +0 -1
  733. package/exports/api/build-params.js.map +0 -1
  734. package/exports/api/event-publisher.js.map +0 -1
  735. package/exports/api/graphql.js.map +0 -1
  736. package/exports/api/key-value-store.js.map +0 -1
  737. package/exports/api/logger.js.map +0 -1
  738. package/exports/api/security/api-key.js.map +0 -1
  739. package/exports/api/security/authentication.js.map +0 -1
  740. package/exports/api/security/role.js.map +0 -1
  741. package/exports/api/security/user.js.map +0 -1
  742. package/exports/api/security.js.map +0 -1
  743. package/exports/api/system.js.map +0 -1
  744. package/exports/api/tasks.js.map +0 -1
  745. package/exports/api/tenancy.js.map +0 -1
  746. package/exports/api.js.map +0 -1
  747. package/features/ai/index.js.map +0 -1
  748. package/features/buildParams/index.js.map +0 -1
  749. package/features/encryption/index.js.map +0 -1
  750. package/features/eventPublisher/index.js.map +0 -1
  751. package/features/keyValueStore/index.js.map +0 -1
  752. package/features/logger/index.js.map +0 -1
  753. package/features/masker/index.js.map +0 -1
  754. package/features/security/IdentityContext/index.js.map +0 -1
  755. package/features/security/apiKeys/CreateApiKey/index.js.map +0 -1
  756. package/features/security/apiKeys/DeleteApiKey/index.js.map +0 -1
  757. package/features/security/apiKeys/GetApiKey/index.js.map +0 -1
  758. package/features/security/apiKeys/GetApiKeyBySlug/index.js.map +0 -1
  759. package/features/security/apiKeys/GetApiKeyByToken/index.js.map +0 -1
  760. package/features/security/apiKeys/ListApiKeys/index.js.map +0 -1
  761. package/features/security/apiKeys/UpdateApiKey/index.js.map +0 -1
  762. package/features/security/apiKeys/shared/types.js.map +0 -1
  763. package/features/security/authentication/AuthenticationContext/index.js.map +0 -1
  764. package/features/security/authentication/Authenticator/index.js.map +0 -1
  765. package/features/security/authorization/AuthorizationContext/index.js.map +0 -1
  766. package/features/security/authorization/Authorizer/index.js.map +0 -1
  767. package/features/security/login/index.js.map +0 -1
  768. package/features/security/permissions/index.js.map +0 -1
  769. package/features/security/permissions/types.js.map +0 -1
  770. package/features/security/roles/CreateRole/index.js.map +0 -1
  771. package/features/security/roles/DeleteRole/index.js.map +0 -1
  772. package/features/security/roles/GetRole/index.js.map +0 -1
  773. package/features/security/roles/ListRoles/index.js.map +0 -1
  774. package/features/security/roles/UpdateRole/index.js.map +0 -1
  775. package/features/security/roles/shared/types.js.map +0 -1
  776. package/features/security/shared/index.js.map +0 -1
  777. package/features/security/teams/CreateTeam/index.js.map +0 -1
  778. package/features/security/teams/DeleteTeam/index.js.map +0 -1
  779. package/features/security/teams/GetTeam/index.js.map +0 -1
  780. package/features/security/teams/ListTeams/index.js.map +0 -1
  781. package/features/security/teams/UpdateTeam/index.js.map +0 -1
  782. package/features/security/teams/shared/types.js.map +0 -1
  783. package/features/system/InstallSystem/index.js.map +0 -1
  784. package/features/task/TaskController/index.js.map +0 -1
  785. package/features/task/TaskDefinition/index.js.map +0 -1
  786. package/features/task/TaskService/index.js.map +0 -1
  787. package/features/tenancy/CreateTenant/index.js.map +0 -1
  788. package/features/tenancy/DeleteTenant/index.js.map +0 -1
  789. package/features/tenancy/GetRootTenant/index.js.map +0 -1
  790. package/features/tenancy/GetTenantById/index.js.map +0 -1
  791. package/features/tenancy/InstallTenant/index.js.map +0 -1
  792. package/features/tenancy/ListTenants/index.js.map +0 -1
  793. package/features/tenancy/TenantContext/index.js.map +0 -1
  794. package/features/tenancy/UpdateTenant/index.js.map +0 -1
  795. package/features/users/CreateUser/index.js.map +0 -1
  796. package/features/users/DeleteUser/index.js.map +0 -1
  797. package/features/users/ExternalIdpUserSync/index.js.map +0 -1
  798. package/features/users/GetIdentityProfile/index.js.map +0 -1
  799. package/features/users/GetIdentityProfile/types.js.map +0 -1
  800. package/features/users/GetUser/index.js.map +0 -1
  801. package/features/users/ListUserTeams/index.js.map +0 -1
  802. package/features/users/ListUsers/index.js.map +0 -1
  803. package/features/users/UpdateUser/index.js.map +0 -1
  804. package/features/users/shared/types.js.map +0 -1
  805. package/features/wcp/WcpContext/index.js.map +0 -1
  806. package/features/wcp/WcpContext/types.js.map +0 -1
  807. package/idp/index.js.map +0 -1
  808. package/idp/types.js.map +0 -1
  809. package/index.js.map +0 -1
  810. package/models/base/ModelFactory.js.map +0 -1
  811. package/models/base/abstractions.js.map +0 -1
  812. package/models/cms/types.js.map +0 -1
  813. package/types/core.js.map +0 -1
  814. package/types/security.js.map +0 -1
  815. package/types/tenancy.js.map +0 -1
  816. package/types/users.js.map +0 -1
@@ -12,194 +12,141 @@ import { ListTeamsUseCase } from "../../features/security/teams/ListTeams/index.
12
12
  import { CreateTeam } from "../../features/security/teams/CreateTeam/index.js";
13
13
  import { UpdateTeam } from "../../features/security/teams/UpdateTeam/index.js";
14
14
  import { DeleteTeam } from "../../features/security/teams/DeleteTeam/index.js";
15
-
16
- /**
17
- * Legacy bridge that implements the old Security interface.
18
- * As we implement each phase, we'll replace forwarding with delegation.
19
- */
20
- export class LegacyContext {
21
- constructor(container) {
22
- this.container = container;
23
- }
24
- get identityContext() {
25
- return this.container.resolve(IdentityContext);
26
- }
27
- get authenticationContext() {
28
- return this.container.resolve(AuthenticationContext);
29
- }
30
- addAuthenticator(authenticator) {
31
- this.container.registerFactory(Authenticator, () => {
32
- return {
33
- authenticate(token) {
34
- return authenticator(token);
35
- }
36
- };
37
- });
38
- }
39
- async authenticate(token) {
40
- // Authenticate using new context
41
- const identity = await this.authenticationContext.authenticate(token);
42
-
43
- // Set identity in IdentityContext
44
- this.identityContext.setIdentity(identity);
45
- }
46
- getIdentity() {
47
- const identity = this.identityContext.getIdentity();
48
-
49
- // Convert our Identity class to old SecurityIdentity format
50
- if (identity.isAnonymous()) {
51
- return undefined;
15
+ class LegacyContext {
16
+ constructor(container){
17
+ this.container = container;
52
18
  }
53
- return identity;
54
- }
55
- setIdentity(identity) {
56
- if (!identity) {
57
- this.identityContext.setIdentity(undefined);
58
- return;
19
+ get identityContext() {
20
+ return this.container.resolve(IdentityContext);
21
+ }
22
+ get authenticationContext() {
23
+ return this.container.resolve(AuthenticationContext);
24
+ }
25
+ addAuthenticator(authenticator) {
26
+ this.container.registerFactory(Authenticator, ()=>({
27
+ authenticate (token) {
28
+ return authenticator(token);
29
+ }
30
+ }));
31
+ }
32
+ async authenticate(token) {
33
+ const identity = await this.authenticationContext.authenticate(token);
34
+ this.identityContext.setIdentity(identity);
35
+ }
36
+ getIdentity() {
37
+ const identity = this.identityContext.getIdentity();
38
+ if (identity.isAnonymous()) return;
39
+ return identity;
40
+ }
41
+ setIdentity(identity) {
42
+ if (!identity) return void this.identityContext.setIdentity(void 0);
43
+ const { id, displayName, type, ...rest } = identity;
44
+ const authenticatedIdentity = new AuthenticatedIdentity({
45
+ id,
46
+ displayName,
47
+ type,
48
+ ...rest
49
+ });
50
+ this.identityContext.setIdentity(authenticatedIdentity);
51
+ }
52
+ getToken() {
53
+ return this.authenticationContext.getAuthToken();
54
+ }
55
+ isAuthorizationEnabled() {
56
+ return this.identityContext.isAuthorizationEnabled();
57
+ }
58
+ withoutAuthorization(cb) {
59
+ return this.identityContext.withoutAuthorization(cb);
60
+ }
61
+ withIdentity(identity, cb) {
62
+ if (!identity) return this.identityContext.withIdentity(void 0, cb);
63
+ const { id, displayName, type, ...rest } = identity;
64
+ const authenticatedIdentity = new AuthenticatedIdentity({
65
+ id,
66
+ displayName,
67
+ type,
68
+ ...rest
69
+ });
70
+ return this.identityContext.withIdentity(authenticatedIdentity, cb);
71
+ }
72
+ async getPermission(permission) {
73
+ return this.identityContext.getPermission(permission);
74
+ }
75
+ async getPermissions(permission) {
76
+ return this.identityContext.getPermissions(permission);
77
+ }
78
+ async listPermissions() {
79
+ return this.identityContext.listPermissions();
80
+ }
81
+ async hasFullAccess() {
82
+ return this.identityContext.hasFullAccess();
83
+ }
84
+ async getRole(params) {
85
+ const useCase = this.container.resolve(GetRoleUseCase);
86
+ const result = await useCase.execute(params.where);
87
+ if (result.isFail()) throw result.error;
88
+ return result.value;
89
+ }
90
+ async listRoles(params) {
91
+ const useCase = this.container.resolve(ListRolesUseCase);
92
+ const result = await useCase.execute(params);
93
+ if (result.isFail()) throw result.error;
94
+ return result.value;
95
+ }
96
+ async createRole(input) {
97
+ const useCase = this.container.resolve(CreateRoleUseCase);
98
+ const result = await useCase.execute(input);
99
+ if (result.isFail()) throw result.error;
100
+ return result.value;
101
+ }
102
+ async updateRole(id, input) {
103
+ const useCase = this.container.resolve(UpdateRoleUseCase);
104
+ const result = await useCase.execute(id, input);
105
+ if (result.isFail()) throw result.error;
106
+ return result.value;
107
+ }
108
+ async deleteRole(id) {
109
+ const useCase = this.container.resolve(DeleteRoleUseCase);
110
+ const result = await useCase.execute(id);
111
+ if (result.isFail()) throw result.error;
112
+ }
113
+ addAuthorizer(authorizer) {
114
+ this.container.registerFactory(Authorizer, ()=>({
115
+ authorize () {
116
+ return authorizer();
117
+ }
118
+ }));
119
+ }
120
+ async getTeam(params) {
121
+ const useCase = this.container.resolve(GetTeamUseCase);
122
+ const result = await useCase.execute(params.where);
123
+ if (result.isFail()) throw result.error;
124
+ return result.value;
125
+ }
126
+ async listTeams(params) {
127
+ const useCase = this.container.resolve(ListTeamsUseCase);
128
+ const result = await useCase.execute(params);
129
+ if (result.isFail()) throw result.error;
130
+ return result.value;
131
+ }
132
+ async createTeam(input) {
133
+ const useCase = this.container.resolve(CreateTeam);
134
+ const result = await useCase.execute(input);
135
+ if (result.isFail()) throw result.error;
136
+ return result.value;
137
+ }
138
+ async updateTeam(id, input) {
139
+ const useCase = this.container.resolve(UpdateTeam);
140
+ const result = await useCase.execute(id, input);
141
+ if (result.isFail()) throw result.error;
142
+ return result.value;
143
+ }
144
+ async deleteTeam(id) {
145
+ const useCase = this.container.resolve(DeleteTeam);
146
+ const result = await useCase.execute(id);
147
+ if (result.isFail()) throw result.error;
59
148
  }
60
-
61
- // Wrap old identity format in AuthenticatedIdentity
62
- const {
63
- id,
64
- displayName,
65
- type,
66
- ...rest
67
- } = identity;
68
- const authenticatedIdentity = new AuthenticatedIdentity({
69
- id,
70
- displayName,
71
- type,
72
- ...rest
73
- });
74
- this.identityContext.setIdentity(authenticatedIdentity);
75
- }
76
- getToken() {
77
- return this.authenticationContext.getAuthToken();
78
- }
79
- isAuthorizationEnabled() {
80
- return this.identityContext.isAuthorizationEnabled();
81
- }
82
- withoutAuthorization(cb) {
83
- return this.identityContext.withoutAuthorization(cb);
84
- }
85
- withIdentity(identity, cb) {
86
- if (!identity) {
87
- return this.identityContext.withIdentity(undefined, cb);
88
- }
89
- const {
90
- id,
91
- displayName,
92
- type,
93
- ...rest
94
- } = identity;
95
- const authenticatedIdentity = new AuthenticatedIdentity({
96
- id,
97
- displayName,
98
- type,
99
- ...rest
100
- });
101
- return this.identityContext.withIdentity(authenticatedIdentity, cb);
102
- }
103
- async getPermission(permission) {
104
- return this.identityContext.getPermission(permission);
105
- }
106
- async getPermissions(permission) {
107
- return this.identityContext.getPermissions(permission);
108
- }
109
- async listPermissions() {
110
- return this.identityContext.listPermissions();
111
- }
112
- async hasFullAccess() {
113
- return this.identityContext.hasFullAccess();
114
- }
115
- async getRole(params) {
116
- const useCase = this.container.resolve(GetRoleUseCase);
117
- const result = await useCase.execute(params.where);
118
- if (result.isFail()) {
119
- throw result.error;
120
- }
121
- return result.value;
122
- }
123
- async listRoles(params) {
124
- const useCase = this.container.resolve(ListRolesUseCase);
125
- const result = await useCase.execute(params);
126
- if (result.isFail()) {
127
- throw result.error;
128
- }
129
- return result.value;
130
- }
131
- async createRole(input) {
132
- const useCase = this.container.resolve(CreateRoleUseCase);
133
- const result = await useCase.execute(input);
134
- if (result.isFail()) {
135
- throw result.error;
136
- }
137
- return result.value;
138
- }
139
- async updateRole(id, input) {
140
- const useCase = this.container.resolve(UpdateRoleUseCase);
141
- const result = await useCase.execute(id, input);
142
- if (result.isFail()) {
143
- throw result.error;
144
- }
145
- return result.value;
146
- }
147
- async deleteRole(id) {
148
- const useCase = this.container.resolve(DeleteRoleUseCase);
149
- const result = await useCase.execute(id);
150
- if (result.isFail()) {
151
- throw result.error;
152
- }
153
- }
154
- addAuthorizer(authorizer) {
155
- // @ts-expect-error
156
- this.container.registerFactory(Authorizer, () => {
157
- return {
158
- authorize() {
159
- return authorizer();
160
- }
161
- };
162
- });
163
- }
164
- async getTeam(params) {
165
- const useCase = this.container.resolve(GetTeamUseCase);
166
- const result = await useCase.execute(params.where);
167
- if (result.isFail()) {
168
- throw result.error;
169
- }
170
- return result.value;
171
- }
172
- async listTeams(params) {
173
- const useCase = this.container.resolve(ListTeamsUseCase);
174
- const result = await useCase.execute(params);
175
- if (result.isFail()) {
176
- throw result.error;
177
- }
178
- return result.value;
179
- }
180
- async createTeam(input) {
181
- const useCase = this.container.resolve(CreateTeam);
182
- const result = await useCase.execute(input);
183
- if (result.isFail()) {
184
- throw result.error;
185
- }
186
- return result.value;
187
- }
188
- async updateTeam(id, input) {
189
- const useCase = this.container.resolve(UpdateTeam);
190
- const result = await useCase.execute(id, input);
191
- if (result.isFail()) {
192
- throw result.error;
193
- }
194
- return result.value;
195
- }
196
- async deleteTeam(id) {
197
- const useCase = this.container.resolve(DeleteTeam);
198
- const result = await useCase.execute(id);
199
- if (result.isFail()) {
200
- throw result.error;
201
- }
202
- }
203
149
  }
150
+ export { LegacyContext };
204
151
 
205
152
  //# sourceMappingURL=LegacyContext.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AuthenticationContext","Authenticator","Authorizer","AuthenticatedIdentity","IdentityContext","GetRoleUseCase","ListRolesUseCase","CreateRoleUseCase","UpdateRoleUseCase","DeleteRoleUseCase","GetTeamUseCase","ListTeamsUseCase","CreateTeam","UpdateTeam","DeleteTeam","LegacyContext","constructor","container","identityContext","resolve","authenticationContext","addAuthenticator","authenticator","registerFactory","authenticate","token","identity","setIdentity","getIdentity","isAnonymous","undefined","id","displayName","type","rest","authenticatedIdentity","getToken","getAuthToken","isAuthorizationEnabled","withoutAuthorization","cb","withIdentity","getPermission","permission","getPermissions","listPermissions","hasFullAccess","getRole","params","useCase","result","execute","where","isFail","error","value","listRoles","createRole","input","updateRole","deleteRole","addAuthorizer","authorizer","authorize","getTeam","listTeams","createTeam","updateTeam","deleteTeam"],"sources":["LegacyContext.ts"],"sourcesContent":["import { type Container } from \"@webiny/di\";\nimport type { SecurityIdentity, SecurityPermission } from \"~/types/security.js\";\nimport { AuthenticationContext } from \"~/features/security/authentication/AuthenticationContext/index.js\";\nimport { Authenticator } from \"~/features/security/authentication/Authenticator/index.js\";\nimport { Authorizer } from \"~/features/security/authorization/Authorizer/abstractions.js\";\nimport {\n AuthenticatedIdentity,\n IdentityContext,\n IdentityData\n} from \"~/features/security/IdentityContext/index.js\";\nimport { GetRoleUseCase } from \"~/features/security/roles/GetRole/index.js\";\nimport { ListRolesUseCase } from \"~/features/security/roles/ListRoles/index.js\";\nimport { CreateRoleUseCase } from \"~/features/security/roles/CreateRole/index.js\";\nimport { UpdateRoleUseCase } from \"~/features/security/roles/UpdateRole/index.js\";\nimport { DeleteRoleUseCase } from \"~/features/security/roles/DeleteRole/index.js\";\nimport { GetTeamUseCase } from \"~/features/security/teams/GetTeam/index.js\";\nimport { ListTeamsUseCase } from \"~/features/security/teams/ListTeams/index.js\";\nimport { CreateTeam } from \"~/features/security/teams/CreateTeam/index.js\";\nimport { UpdateTeam } from \"~/features/security/teams/UpdateTeam/index.js\";\nimport { DeleteTeam } from \"~/features/security/teams/DeleteTeam/index.js\";\n\n/**\n * Legacy bridge that implements the old Security interface.\n * As we implement each phase, we'll replace forwarding with delegation.\n */\nexport class LegacyContext {\n constructor(private container: Container) {}\n\n private get identityContext() {\n return this.container.resolve(IdentityContext);\n }\n\n private get authenticationContext() {\n return this.container.resolve(AuthenticationContext);\n }\n\n addAuthenticator(authenticator: Authenticator.Interface[\"authenticate\"]): void {\n this.container.registerFactory(Authenticator, () => {\n return {\n authenticate(token: string): Promise<IdentityData | null> {\n return authenticator(token);\n }\n };\n });\n }\n\n async authenticate(token: string): Promise<void> {\n // Authenticate using new context\n const identity = await this.authenticationContext.authenticate(token);\n\n // Set identity in IdentityContext\n this.identityContext.setIdentity(identity);\n }\n\n getIdentity(): SecurityIdentity {\n const identity = this.identityContext.getIdentity();\n\n // Convert our Identity class to old SecurityIdentity format\n if (identity.isAnonymous()) {\n return undefined as any;\n }\n\n return identity;\n }\n\n setIdentity(identity: SecurityIdentity): void {\n if (!identity) {\n this.identityContext.setIdentity(undefined);\n return;\n }\n\n // Wrap old identity format in AuthenticatedIdentity\n const { id, displayName, type, ...rest } = identity;\n const authenticatedIdentity = new AuthenticatedIdentity({\n id,\n displayName,\n type,\n ...rest\n });\n\n this.identityContext.setIdentity(authenticatedIdentity);\n }\n\n getToken() {\n return this.authenticationContext.getAuthToken();\n }\n\n isAuthorizationEnabled(): boolean {\n return this.identityContext.isAuthorizationEnabled();\n }\n\n withoutAuthorization<T = any>(cb: () => Promise<T>): Promise<T> {\n return this.identityContext.withoutAuthorization(cb);\n }\n\n withIdentity<T = any>(\n identity: SecurityIdentity | undefined,\n cb: () => Promise<T>\n ): Promise<T> {\n if (!identity) {\n return this.identityContext.withIdentity(undefined, cb);\n }\n\n const { id, displayName, type, ...rest } = identity;\n const authenticatedIdentity = new AuthenticatedIdentity({\n id,\n displayName,\n type,\n ...rest\n });\n\n return this.identityContext.withIdentity(authenticatedIdentity, cb);\n }\n\n async getPermission<TPermission extends SecurityPermission = SecurityPermission>(\n permission: string\n ) {\n return this.identityContext.getPermission<TPermission>(permission);\n }\n\n async getPermissions<TPermission extends SecurityPermission = SecurityPermission>(\n permission: string\n ) {\n return this.identityContext.getPermissions<TPermission>(permission);\n }\n\n async listPermissions() {\n return this.identityContext.listPermissions();\n }\n\n async hasFullAccess(): Promise<boolean> {\n return this.identityContext.hasFullAccess();\n }\n\n async getRole(params: any) {\n const useCase = this.container.resolve(GetRoleUseCase);\n const result = await useCase.execute(params.where);\n\n if (result.isFail()) {\n throw result.error;\n }\n\n return result.value;\n }\n\n async listRoles(params?: any) {\n const useCase = this.container.resolve(ListRolesUseCase);\n const result = await useCase.execute(params);\n\n if (result.isFail()) {\n throw result.error;\n }\n\n return result.value;\n }\n\n async createRole(input: any) {\n const useCase = this.container.resolve(CreateRoleUseCase);\n const result = await useCase.execute(input);\n\n if (result.isFail()) {\n throw result.error;\n }\n\n return result.value;\n }\n\n async updateRole(id: string, input: any) {\n const useCase = this.container.resolve(UpdateRoleUseCase);\n const result = await useCase.execute(id, input);\n\n if (result.isFail()) {\n throw result.error;\n }\n\n return result.value;\n }\n\n async deleteRole(id: string) {\n const useCase = this.container.resolve(DeleteRoleUseCase);\n const result = await useCase.execute(id);\n\n if (result.isFail()) {\n throw result.error;\n }\n }\n\n addAuthorizer(authorizer: any) {\n // @ts-expect-error\n this.container.registerFactory(Authorizer, () => {\n return {\n authorize(): Promise<Permissions[]> {\n return authorizer();\n }\n };\n });\n }\n\n async getTeam(params: any) {\n const useCase = this.container.resolve(GetTeamUseCase);\n const result = await useCase.execute(params.where);\n\n if (result.isFail()) {\n throw result.error;\n }\n\n return result.value;\n }\n\n async listTeams(params?: any) {\n const useCase = this.container.resolve(ListTeamsUseCase);\n const result = await useCase.execute(params);\n\n if (result.isFail()) {\n throw result.error;\n }\n\n return result.value;\n }\n\n async createTeam(input: any) {\n const useCase = this.container.resolve(CreateTeam);\n const result = await useCase.execute(input);\n\n if (result.isFail()) {\n throw result.error;\n }\n\n return result.value;\n }\n\n async updateTeam(id: string, input: any) {\n const useCase = this.container.resolve(UpdateTeam);\n const result = await useCase.execute(id, input);\n\n if (result.isFail()) {\n throw result.error;\n }\n\n return result.value;\n }\n\n async deleteTeam(id: string) {\n const useCase = this.container.resolve(DeleteTeam);\n const result = await useCase.execute(id);\n\n if (result.isFail()) {\n throw result.error;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"legacy/security/LegacyContext.js","sources":["../../../src/legacy/security/LegacyContext.ts"],"sourcesContent":["import { type Container } from \"@webiny/di\";\nimport type { SecurityIdentity, SecurityPermission } from \"~/types/security.js\";\nimport { AuthenticationContext } from \"~/features/security/authentication/AuthenticationContext/index.js\";\nimport { Authenticator } from \"~/features/security/authentication/Authenticator/index.js\";\nimport { Authorizer } from \"~/features/security/authorization/Authorizer/abstractions.js\";\nimport {\n AuthenticatedIdentity,\n IdentityContext,\n IdentityData\n} from \"~/features/security/IdentityContext/index.js\";\nimport { GetRoleUseCase } from \"~/features/security/roles/GetRole/index.js\";\nimport { ListRolesUseCase } from \"~/features/security/roles/ListRoles/index.js\";\nimport { CreateRoleUseCase } from \"~/features/security/roles/CreateRole/index.js\";\nimport { UpdateRoleUseCase } from \"~/features/security/roles/UpdateRole/index.js\";\nimport { DeleteRoleUseCase } from \"~/features/security/roles/DeleteRole/index.js\";\nimport { GetTeamUseCase } from \"~/features/security/teams/GetTeam/index.js\";\nimport { ListTeamsUseCase } from \"~/features/security/teams/ListTeams/index.js\";\nimport { CreateTeam } from \"~/features/security/teams/CreateTeam/index.js\";\nimport { UpdateTeam } from \"~/features/security/teams/UpdateTeam/index.js\";\nimport { DeleteTeam } from \"~/features/security/teams/DeleteTeam/index.js\";\n\n/**\n * Legacy bridge that implements the old Security interface.\n * As we implement each phase, we'll replace forwarding with delegation.\n */\nexport class LegacyContext {\n constructor(private container: Container) {}\n\n private get identityContext() {\n return this.container.resolve(IdentityContext);\n }\n\n private get authenticationContext() {\n return this.container.resolve(AuthenticationContext);\n }\n\n addAuthenticator(authenticator: Authenticator.Interface[\"authenticate\"]): void {\n this.container.registerFactory(Authenticator, () => {\n return {\n authenticate(token: string): Promise<IdentityData | null> {\n return authenticator(token);\n }\n };\n });\n }\n\n async authenticate(token: string): Promise<void> {\n // Authenticate using new context\n const identity = await this.authenticationContext.authenticate(token);\n\n // Set identity in IdentityContext\n this.identityContext.setIdentity(identity);\n }\n\n getIdentity(): SecurityIdentity {\n const identity = this.identityContext.getIdentity();\n\n // Convert our Identity class to old SecurityIdentity format\n if (identity.isAnonymous()) {\n return undefined as any;\n }\n\n return identity;\n }\n\n setIdentity(identity: SecurityIdentity): void {\n if (!identity) {\n this.identityContext.setIdentity(undefined);\n return;\n }\n\n // Wrap old identity format in AuthenticatedIdentity\n const { id, displayName, type, ...rest } = identity;\n const authenticatedIdentity = new AuthenticatedIdentity({\n id,\n displayName,\n type,\n ...rest\n });\n\n this.identityContext.setIdentity(authenticatedIdentity);\n }\n\n getToken() {\n return this.authenticationContext.getAuthToken();\n }\n\n isAuthorizationEnabled(): boolean {\n return this.identityContext.isAuthorizationEnabled();\n }\n\n withoutAuthorization<T = any>(cb: () => Promise<T>): Promise<T> {\n return this.identityContext.withoutAuthorization(cb);\n }\n\n withIdentity<T = any>(\n identity: SecurityIdentity | undefined,\n cb: () => Promise<T>\n ): Promise<T> {\n if (!identity) {\n return this.identityContext.withIdentity(undefined, cb);\n }\n\n const { id, displayName, type, ...rest } = identity;\n const authenticatedIdentity = new AuthenticatedIdentity({\n id,\n displayName,\n type,\n ...rest\n });\n\n return this.identityContext.withIdentity(authenticatedIdentity, cb);\n }\n\n async getPermission<TPermission extends SecurityPermission = SecurityPermission>(\n permission: string\n ) {\n return this.identityContext.getPermission<TPermission>(permission);\n }\n\n async getPermissions<TPermission extends SecurityPermission = SecurityPermission>(\n permission: string\n ) {\n return this.identityContext.getPermissions<TPermission>(permission);\n }\n\n async listPermissions() {\n return this.identityContext.listPermissions();\n }\n\n async hasFullAccess(): Promise<boolean> {\n return this.identityContext.hasFullAccess();\n }\n\n async getRole(params: any) {\n const useCase = this.container.resolve(GetRoleUseCase);\n const result = await useCase.execute(params.where);\n\n if (result.isFail()) {\n throw result.error;\n }\n\n return result.value;\n }\n\n async listRoles(params?: any) {\n const useCase = this.container.resolve(ListRolesUseCase);\n const result = await useCase.execute(params);\n\n if (result.isFail()) {\n throw result.error;\n }\n\n return result.value;\n }\n\n async createRole(input: any) {\n const useCase = this.container.resolve(CreateRoleUseCase);\n const result = await useCase.execute(input);\n\n if (result.isFail()) {\n throw result.error;\n }\n\n return result.value;\n }\n\n async updateRole(id: string, input: any) {\n const useCase = this.container.resolve(UpdateRoleUseCase);\n const result = await useCase.execute(id, input);\n\n if (result.isFail()) {\n throw result.error;\n }\n\n return result.value;\n }\n\n async deleteRole(id: string) {\n const useCase = this.container.resolve(DeleteRoleUseCase);\n const result = await useCase.execute(id);\n\n if (result.isFail()) {\n throw result.error;\n }\n }\n\n addAuthorizer(authorizer: any) {\n // @ts-expect-error\n this.container.registerFactory(Authorizer, () => {\n return {\n authorize(): Promise<Permissions[]> {\n return authorizer();\n }\n };\n });\n }\n\n async getTeam(params: any) {\n const useCase = this.container.resolve(GetTeamUseCase);\n const result = await useCase.execute(params.where);\n\n if (result.isFail()) {\n throw result.error;\n }\n\n return result.value;\n }\n\n async listTeams(params?: any) {\n const useCase = this.container.resolve(ListTeamsUseCase);\n const result = await useCase.execute(params);\n\n if (result.isFail()) {\n throw result.error;\n }\n\n return result.value;\n }\n\n async createTeam(input: any) {\n const useCase = this.container.resolve(CreateTeam);\n const result = await useCase.execute(input);\n\n if (result.isFail()) {\n throw result.error;\n }\n\n return result.value;\n }\n\n async updateTeam(id: string, input: any) {\n const useCase = this.container.resolve(UpdateTeam);\n const result = await useCase.execute(id, input);\n\n if (result.isFail()) {\n throw result.error;\n }\n\n return result.value;\n }\n\n async deleteTeam(id: string) {\n const useCase = this.container.resolve(DeleteTeam);\n const result = await useCase.execute(id);\n\n if (result.isFail()) {\n throw result.error;\n }\n }\n}\n"],"names":["LegacyContext","container","IdentityContext","AuthenticationContext","authenticator","Authenticator","token","identity","undefined","id","displayName","type","rest","authenticatedIdentity","AuthenticatedIdentity","cb","permission","params","useCase","GetRoleUseCase","result","ListRolesUseCase","input","CreateRoleUseCase","UpdateRoleUseCase","DeleteRoleUseCase","authorizer","Authorizer","GetTeamUseCase","ListTeamsUseCase","CreateTeam","UpdateTeam","DeleteTeam"],"mappings":"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"}
@@ -1,14 +1,10 @@
1
1
  import { ContextPlugin } from "@webiny/api";
2
2
  import { LegacyContext } from "./LegacyContext.js";
3
3
  import { createSecurityGraphQL } from "../../graphql/security/index.js";
4
- export const createSecurityContext = () => {
5
- return new ContextPlugin(async context => {
6
- // Create a legacy context that delegates to new features
7
- context.security = new LegacyContext(context.container);
8
-
9
- // Register GraphQL plugins
10
- context.plugins.register(createSecurityGraphQL());
11
- });
12
- };
4
+ const createSecurityContext = ()=>new ContextPlugin(async (context)=>{
5
+ context.security = new LegacyContext(context.container);
6
+ context.plugins.register(createSecurityGraphQL());
7
+ });
8
+ export { createSecurityContext };
13
9
 
14
10
  //# sourceMappingURL=createSecurityContext.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ContextPlugin","LegacyContext","createSecurityGraphQL","createSecurityContext","context","security","container","plugins","register"],"sources":["createSecurityContext.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/api\";\nimport type { ApiCoreContext } from \"~/types/core.js\";\nimport { LegacyContext } from \"~/legacy/security/LegacyContext.js\";\nimport { createSecurityGraphQL } from \"~/graphql/security/index.js\";\n\nexport const createSecurityContext = () => {\n return new ContextPlugin<ApiCoreContext>(async context => {\n // Create a legacy context that delegates to new features\n context.security = new LegacyContext(context.container);\n\n // Register GraphQL plugins\n context.plugins.register(createSecurityGraphQL());\n });\n};\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,aAAa;AAE3C,SAASC,aAAa;AACtB,SAASC,qBAAqB;AAE9B,OAAO,MAAMC,qBAAqB,GAAGA,CAAA,KAAM;EACvC,OAAO,IAAIH,aAAa,CAAiB,MAAMI,OAAO,IAAI;IACtD;IACAA,OAAO,CAACC,QAAQ,GAAG,IAAIJ,aAAa,CAACG,OAAO,CAACE,SAAS,CAAC;;IAEvD;IACAF,OAAO,CAACG,OAAO,CAACC,QAAQ,CAACN,qBAAqB,CAAC,CAAC,CAAC;EACrD,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"legacy/security/createSecurityContext.js","sources":["../../../src/legacy/security/createSecurityContext.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/api\";\nimport type { ApiCoreContext } from \"~/types/core.js\";\nimport { LegacyContext } from \"~/legacy/security/LegacyContext.js\";\nimport { createSecurityGraphQL } from \"~/graphql/security/index.js\";\n\nexport const createSecurityContext = () => {\n return new ContextPlugin<ApiCoreContext>(async context => {\n // Create a legacy context that delegates to new features\n context.security = new LegacyContext(context.container);\n\n // Register GraphQL plugins\n context.plugins.register(createSecurityGraphQL());\n });\n};\n"],"names":["createSecurityContext","ContextPlugin","context","LegacyContext","createSecurityGraphQL"],"mappings":";;;AAKO,MAAMA,wBAAwB,IAC1B,IAAIC,cAA8B,OAAMC;QAE3CA,QAAQ,QAAQ,GAAG,IAAIC,cAAcD,QAAQ,SAAS;QAGtDA,QAAQ,OAAO,CAAC,QAAQ,CAACE;IAC7B"}
@@ -1,29 +1,20 @@
1
1
  import { ContextPlugin } from "@webiny/api";
2
2
  import { ApiKeysRepository } from "../../../features/security/apiKeys/shared/abstractions.js";
3
- export default ({
4
- identityType
5
- }) => {
6
- return new ContextPlugin(context => {
7
- context.security.addAuthenticator(async token => {
8
- if (typeof token !== "string" || !token.startsWith("wat_")) {
9
- return null;
10
- }
11
- const repository = context.container.resolve(ApiKeysRepository);
12
- const result = await repository.getByToken(token);
13
- if (!result.isOk()) {
14
- return null;
15
- }
16
- const apiKey = result.value;
17
- return {
18
- id: apiKey.id,
19
- displayName: apiKey.name,
20
- type: identityType || "api-key",
21
- // Add permissions directly to the identity so we don't have to load them
22
- // again when authorization kicks in.
23
- permissions: apiKey.permissions
24
- };
3
+ const apiKeyAuthentication = ({ identityType })=>new ContextPlugin((context)=>{
4
+ context.security.addAuthenticator(async (token)=>{
5
+ if ("string" != typeof token || !token.startsWith("wat_")) return null;
6
+ const repository = context.container.resolve(ApiKeysRepository);
7
+ const result = await repository.getByToken(token);
8
+ if (!result.isOk()) return null;
9
+ const apiKey = result.value;
10
+ return {
11
+ id: apiKey.id,
12
+ displayName: apiKey.name,
13
+ type: identityType || "api-key",
14
+ permissions: apiKey.permissions
15
+ };
16
+ });
25
17
  });
26
- });
27
- };
18
+ export default apiKeyAuthentication;
28
19
 
29
20
  //# sourceMappingURL=apiKeyAuthentication.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ContextPlugin","ApiKeysRepository","identityType","context","security","addAuthenticator","token","startsWith","repository","container","resolve","result","getByToken","isOk","apiKey","value","id","displayName","name","type","permissions"],"sources":["apiKeyAuthentication.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/api\";\nimport type { ApiCoreContext } from \"~/types/core.js\";\nimport { ApiKeysRepository } from \"~/features/security/apiKeys/shared/abstractions.js\";\n\nexport interface Config {\n identityType?: string;\n}\n\nexport default ({ identityType }: Config) => {\n return new ContextPlugin<ApiCoreContext>(context => {\n context.security.addAuthenticator(async token => {\n if (typeof token !== \"string\" || !token.startsWith(\"wat_\")) {\n return null;\n }\n\n const repository = context.container.resolve(ApiKeysRepository);\n const result = await repository.getByToken(token);\n\n if (!result.isOk()) {\n return null;\n }\n\n const apiKey = result.value;\n\n return {\n id: apiKey.id,\n displayName: apiKey.name,\n type: identityType || \"api-key\",\n // Add permissions directly to the identity so we don't have to load them\n // again when authorization kicks in.\n permissions: apiKey.permissions\n };\n });\n });\n};\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,aAAa;AAE3C,SAASC,iBAAiB;AAM1B,eAAe,CAAC;EAAEC;AAAqB,CAAC,KAAK;EACzC,OAAO,IAAIF,aAAa,CAAiBG,OAAO,IAAI;IAChDA,OAAO,CAACC,QAAQ,CAACC,gBAAgB,CAAC,MAAMC,KAAK,IAAI;MAC7C,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,CAACA,KAAK,CAACC,UAAU,CAAC,MAAM,CAAC,EAAE;QACxD,OAAO,IAAI;MACf;MAEA,MAAMC,UAAU,GAAGL,OAAO,CAACM,SAAS,CAACC,OAAO,CAACT,iBAAiB,CAAC;MAC/D,MAAMU,MAAM,GAAG,MAAMH,UAAU,CAACI,UAAU,CAACN,KAAK,CAAC;MAEjD,IAAI,CAACK,MAAM,CAACE,IAAI,CAAC,CAAC,EAAE;QAChB,OAAO,IAAI;MACf;MAEA,MAAMC,MAAM,GAAGH,MAAM,CAACI,KAAK;MAE3B,OAAO;QACHC,EAAE,EAAEF,MAAM,CAACE,EAAE;QACbC,WAAW,EAAEH,MAAM,CAACI,IAAI;QACxBC,IAAI,EAAEjB,YAAY,IAAI,SAAS;QAC/B;QACA;QACAkB,WAAW,EAAEN,MAAM,CAACM;MACxB,CAAC;IACL,CAAC,CAAC;EACN,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"legacy/security/plugins/apiKeyAuthentication.js","sources":["../../../../src/legacy/security/plugins/apiKeyAuthentication.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/api\";\nimport type { ApiCoreContext } from \"~/types/core.js\";\nimport { ApiKeysRepository } from \"~/features/security/apiKeys/shared/abstractions.js\";\n\nexport interface Config {\n identityType?: string;\n}\n\nexport default ({ identityType }: Config) => {\n return new ContextPlugin<ApiCoreContext>(context => {\n context.security.addAuthenticator(async token => {\n if (typeof token !== \"string\" || !token.startsWith(\"wat_\")) {\n return null;\n }\n\n const repository = context.container.resolve(ApiKeysRepository);\n const result = await repository.getByToken(token);\n\n if (!result.isOk()) {\n return null;\n }\n\n const apiKey = result.value;\n\n return {\n id: apiKey.id,\n displayName: apiKey.name,\n type: identityType || \"api-key\",\n // Add permissions directly to the identity so we don't have to load them\n // again when authorization kicks in.\n permissions: apiKey.permissions\n };\n });\n });\n};\n"],"names":["identityType","ContextPlugin","context","token","repository","ApiKeysRepository","result","apiKey"],"mappings":";;AAQA,6BAAgB,GAAEA,YAAY,EAAU,GAC7B,IAAIC,cAA8BC,CAAAA;QACrCA,QAAQ,QAAQ,CAAC,gBAAgB,CAAC,OAAMC;YACpC,IAAI,AAAiB,YAAjB,OAAOA,SAAsB,CAACA,MAAM,UAAU,CAAC,SAC/C,OAAO;YAGX,MAAMC,aAAaF,QAAQ,SAAS,CAAC,OAAO,CAACG;YAC7C,MAAMC,SAAS,MAAMF,WAAW,UAAU,CAACD;YAE3C,IAAI,CAACG,OAAO,IAAI,IACZ,OAAO;YAGX,MAAMC,SAASD,OAAO,KAAK;YAE3B,OAAO;gBACH,IAAIC,OAAO,EAAE;gBACb,aAAaA,OAAO,IAAI;gBACxB,MAAMP,gBAAgB;gBAGtB,aAAaO,OAAO,WAAW;YACnC;QACJ;IACJ"}
@@ -1,22 +1,13 @@
1
1
  import { createContextPlugin } from "@webiny/api";
2
- export default config => {
3
- return createContextPlugin(({
4
- security
5
- }) => {
6
- security.addAuthorizer(async () => {
7
- const identityType = config.identityType || "api-key";
8
- const identity = security.getIdentity();
9
- if (!identity || identity.type !== identityType) {
10
- return null;
11
- }
12
- // We can expect `permissions` to exist on the identity, because api-key authentication
13
- // plugin sets them on the identity instance to avoid loading them from DB here.
14
- if (Array.isArray(identity.permissions) === false) {
15
- return [];
16
- }
17
- return identity.permissions;
2
+ const apiKeyAuthorization = (config)=>createContextPlugin(({ security })=>{
3
+ security.addAuthorizer(async ()=>{
4
+ const identityType = config.identityType || "api-key";
5
+ const identity = security.getIdentity();
6
+ if (!identity || identity.type !== identityType) return null;
7
+ if (false === Array.isArray(identity.permissions)) return [];
8
+ return identity.permissions;
9
+ });
18
10
  });
19
- });
20
- };
11
+ export default apiKeyAuthorization;
21
12
 
22
13
  //# sourceMappingURL=apiKeyAuthorization.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createContextPlugin","config","security","addAuthorizer","identityType","identity","getIdentity","type","Array","isArray","permissions"],"sources":["apiKeyAuthorization.ts"],"sourcesContent":["import { createContextPlugin } from \"@webiny/api\";\nimport type { SecurityPermission } from \"~/types/security.js\";\nimport type { ApiCoreContext } from \"~/types/core.js\";\n\nexport interface Config {\n identityType?: string;\n}\n\nexport default (config: Config) => {\n return createContextPlugin<ApiCoreContext>(({ security }) => {\n security.addAuthorizer(async () => {\n const identityType = config.identityType || \"api-key\";\n\n const identity = security.getIdentity();\n\n if (!identity || identity.type !== identityType) {\n return null;\n }\n // We can expect `permissions` to exist on the identity, because api-key authentication\n // plugin sets them on the identity instance to avoid loading them from DB here.\n if (Array.isArray(identity.permissions) === false) {\n return [];\n }\n return identity.permissions as SecurityPermission[];\n });\n });\n};\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,aAAa;AAQjD,eAAgBC,MAAc,IAAK;EAC/B,OAAOD,mBAAmB,CAAiB,CAAC;IAAEE;EAAS,CAAC,KAAK;IACzDA,QAAQ,CAACC,aAAa,CAAC,YAAY;MAC/B,MAAMC,YAAY,GAAGH,MAAM,CAACG,YAAY,IAAI,SAAS;MAErD,MAAMC,QAAQ,GAAGH,QAAQ,CAACI,WAAW,CAAC,CAAC;MAEvC,IAAI,CAACD,QAAQ,IAAIA,QAAQ,CAACE,IAAI,KAAKH,YAAY,EAAE;QAC7C,OAAO,IAAI;MACf;MACA;MACA;MACA,IAAII,KAAK,CAACC,OAAO,CAACJ,QAAQ,CAACK,WAAW,CAAC,KAAK,KAAK,EAAE;QAC/C,OAAO,EAAE;MACb;MACA,OAAOL,QAAQ,CAACK,WAAW;IAC/B,CAAC,CAAC;EACN,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"legacy/security/plugins/apiKeyAuthorization.js","sources":["../../../../src/legacy/security/plugins/apiKeyAuthorization.ts"],"sourcesContent":["import { createContextPlugin } from \"@webiny/api\";\nimport type { SecurityPermission } from \"~/types/security.js\";\nimport type { ApiCoreContext } from \"~/types/core.js\";\n\nexport interface Config {\n identityType?: string;\n}\n\nexport default (config: Config) => {\n return createContextPlugin<ApiCoreContext>(({ security }) => {\n security.addAuthorizer(async () => {\n const identityType = config.identityType || \"api-key\";\n\n const identity = security.getIdentity();\n\n if (!identity || identity.type !== identityType) {\n return null;\n }\n // We can expect `permissions` to exist on the identity, because api-key authentication\n // plugin sets them on the identity instance to avoid loading them from DB here.\n if (Array.isArray(identity.permissions) === false) {\n return [];\n }\n return identity.permissions as SecurityPermission[];\n });\n });\n};\n"],"names":["config","createContextPlugin","security","identityType","identity","Array"],"mappings":";AAQA,4BAAgB,CAAAA,SACLC,oBAAoC,CAAC,EAAEC,QAAQ,EAAE;QACpDA,SAAS,aAAa,CAAC;YACnB,MAAMC,eAAeH,OAAO,YAAY,IAAI;YAE5C,MAAMI,WAAWF,SAAS,WAAW;YAErC,IAAI,CAACE,YAAYA,SAAS,IAAI,KAAKD,cAC/B,OAAO;YAIX,IAAIE,AAAwC,UAAxCA,MAAM,OAAO,CAACD,SAAS,WAAW,GAClC,OAAO,EAAE;YAEb,OAAOA,SAAS,WAAW;QAC/B;IACJ"}
@@ -1,27 +1,23 @@
1
1
  import { createContextPlugin } from "@webiny/api";
2
- import { createBeforeHandlerPlugin, Request } from "@webiny/handler";
2
+ import { Request, createBeforeHandlerPlugin } from "@webiny/handler";
3
3
  import { SetIdTokenCookie } from "../../../features/security/authentication/AuthenticationContext/SetIdTokenCookie.js";
4
-
5
- /**
6
- * @internal
7
- */
8
- export function authenticateUsingCookie() {
9
- return [createBeforeHandlerPlugin(async context => {
10
- const request = context.container.resolve(Request);
11
- const {
12
- cookies
13
- } = request;
14
- const token = cookies["wby-id-token"];
15
- if (!context.security.getIdentity() && token) {
16
- try {
17
- await context.security.authenticate(token);
18
- } catch (err) {
19
- console.log(err);
20
- }
21
- }
22
- }), createContextPlugin(context => {
23
- context.container.register(SetIdTokenCookie);
24
- })];
4
+ function authenticateUsingCookie() {
5
+ return [
6
+ createBeforeHandlerPlugin(async (context)=>{
7
+ const request = context.container.resolve(Request);
8
+ const { cookies } = request;
9
+ const token = cookies["wby-id-token"];
10
+ if (!context.security.getIdentity() && token) try {
11
+ await context.security.authenticate(token);
12
+ } catch (err) {
13
+ console.log(err);
14
+ }
15
+ }),
16
+ createContextPlugin((context)=>{
17
+ context.container.register(SetIdTokenCookie);
18
+ })
19
+ ];
25
20
  }
21
+ export { authenticateUsingCookie };
26
22
 
27
23
  //# sourceMappingURL=authenticateUsingCookie.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createContextPlugin","createBeforeHandlerPlugin","Request","SetIdTokenCookie","authenticateUsingCookie","context","request","container","resolve","cookies","token","security","getIdentity","authenticate","err","console","log","register"],"sources":["authenticateUsingCookie.ts"],"sourcesContent":["import { createContextPlugin } from \"@webiny/api\";\nimport { createBeforeHandlerPlugin, Request } from \"@webiny/handler\";\nimport type { ApiCoreContext } from \"~/types/core.js\";\nimport { SetIdTokenCookie } from \"~/features/security/authentication/AuthenticationContext/SetIdTokenCookie.js\";\n\n/**\n * @internal\n */\nexport function authenticateUsingCookie() {\n return [\n createBeforeHandlerPlugin<ApiCoreContext>(async context => {\n const request = context.container.resolve(Request);\n const { cookies } = request;\n const token = cookies[\"wby-id-token\"];\n\n if (!context.security.getIdentity() && token) {\n try {\n await context.security.authenticate(token);\n } catch (err) {\n console.log(err);\n }\n }\n }),\n\n createContextPlugin<ApiCoreContext>(context => {\n context.container.register(SetIdTokenCookie);\n })\n ];\n}\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,aAAa;AACjD,SAASC,yBAAyB,EAAEC,OAAO,QAAQ,iBAAiB;AAEpE,SAASC,gBAAgB;;AAEzB;AACA;AACA;AACA,OAAO,SAASC,uBAAuBA,CAAA,EAAG;EACtC,OAAO,CACHH,yBAAyB,CAAiB,MAAMI,OAAO,IAAI;IACvD,MAAMC,OAAO,GAAGD,OAAO,CAACE,SAAS,CAACC,OAAO,CAACN,OAAO,CAAC;IAClD,MAAM;MAAEO;IAAQ,CAAC,GAAGH,OAAO;IAC3B,MAAMI,KAAK,GAAGD,OAAO,CAAC,cAAc,CAAC;IAErC,IAAI,CAACJ,OAAO,CAACM,QAAQ,CAACC,WAAW,CAAC,CAAC,IAAIF,KAAK,EAAE;MAC1C,IAAI;QACA,MAAML,OAAO,CAACM,QAAQ,CAACE,YAAY,CAACH,KAAK,CAAC;MAC9C,CAAC,CAAC,OAAOI,GAAG,EAAE;QACVC,OAAO,CAACC,GAAG,CAACF,GAAG,CAAC;MACpB;IACJ;EACJ,CAAC,CAAC,EAEFd,mBAAmB,CAAiBK,OAAO,IAAI;IAC3CA,OAAO,CAACE,SAAS,CAACU,QAAQ,CAACd,gBAAgB,CAAC;EAChD,CAAC,CAAC,CACL;AACL","ignoreList":[]}
1
+ {"version":3,"file":"legacy/security/plugins/authenticateUsingCookie.js","sources":["../../../../src/legacy/security/plugins/authenticateUsingCookie.ts"],"sourcesContent":["import { createContextPlugin } from \"@webiny/api\";\nimport { createBeforeHandlerPlugin, Request } from \"@webiny/handler\";\nimport type { ApiCoreContext } from \"~/types/core.js\";\nimport { SetIdTokenCookie } from \"~/features/security/authentication/AuthenticationContext/SetIdTokenCookie.js\";\n\n/**\n * @internal\n */\nexport function authenticateUsingCookie() {\n return [\n createBeforeHandlerPlugin<ApiCoreContext>(async context => {\n const request = context.container.resolve(Request);\n const { cookies } = request;\n const token = cookies[\"wby-id-token\"];\n\n if (!context.security.getIdentity() && token) {\n try {\n await context.security.authenticate(token);\n } catch (err) {\n console.log(err);\n }\n }\n }),\n\n createContextPlugin<ApiCoreContext>(context => {\n context.container.register(SetIdTokenCookie);\n })\n ];\n}\n"],"names":["authenticateUsingCookie","createBeforeHandlerPlugin","context","request","Request","cookies","token","err","console","createContextPlugin","SetIdTokenCookie"],"mappings":";;;AAQO,SAASA;IACZ,OAAO;QACHC,0BAA0C,OAAMC;YAC5C,MAAMC,UAAUD,QAAQ,SAAS,CAAC,OAAO,CAACE;YAC1C,MAAM,EAAEC,OAAO,EAAE,GAAGF;YACpB,MAAMG,QAAQD,OAAO,CAAC,eAAe;YAErC,IAAI,CAACH,QAAQ,QAAQ,CAAC,WAAW,MAAMI,OACnC,IAAI;gBACA,MAAMJ,QAAQ,QAAQ,CAAC,YAAY,CAACI;YACxC,EAAE,OAAOC,KAAK;gBACVC,QAAQ,GAAG,CAACD;YAChB;QAER;QAEAE,oBAAoCP,CAAAA;YAChCA,QAAQ,SAAS,CAAC,QAAQ,CAACQ;QAC/B;KACH;AACL"}
@@ -2,4 +2,4 @@ import type { ApiCoreContext } from "../../../types/core.js";
2
2
  export interface GetHeader {
3
3
  (context: ApiCoreContext): string | null | undefined;
4
4
  }
5
- export declare const authenticateUsingHttpHeader: () => (import("@webiny/handler").HandlerOnRequestPlugin<import("@webiny/handler/types.js").Context> | import("@webiny/handler").BeforeHandlerPlugin<ApiCoreContext> | (import("@webiny/api/index.js").ContextPlugin<ApiCoreContext> | import("@webiny/handler").BeforeHandlerPlugin<ApiCoreContext>)[])[];
5
+ export declare const authenticateUsingHttpHeader: () => (import("@webiny/handler").BeforeHandlerPlugin<ApiCoreContext> | (import("@webiny/api/index.js").ContextPlugin<ApiCoreContext> | import("@webiny/handler").BeforeHandlerPlugin<ApiCoreContext>)[] | import("@webiny/handler").HandlerOnRequestPlugin<import("@webiny/handler/types.js").Context>)[];
@@ -1,23 +1,20 @@
1
- import { createBeforeHandlerPlugin, Request } from "@webiny/handler";
1
+ import { Request, createBeforeHandlerPlugin } from "@webiny/handler";
2
2
  import { authenticateUsingCookie } from "./authenticateUsingCookie.js";
3
3
  import { setupSecureHeaders } from "./secureHeaders.js";
4
- const getHeader = context => {
5
- const request = context.container.resolve(Request);
6
- const header = request.headers["authorization"];
7
- return header ? header.split(" ").pop() : null;
8
- };
9
- export const authenticateUsingHttpHeader = () => {
10
- return [createBeforeHandlerPlugin(async context => {
11
- const token = getHeader(context);
12
- if (!token) {
13
- return;
14
- }
15
- await context.security.authenticate(token);
16
- }),
17
- // Configure strict headers (this is also a requirement to use cookies).
18
- setupSecureHeaders(),
19
- // Finally, we add cookie-based authentication.
20
- authenticateUsingCookie()];
4
+ const getHeader = (context)=>{
5
+ const request = context.container.resolve(Request);
6
+ const header = request.headers["authorization"];
7
+ return header ? header.split(" ").pop() : null;
21
8
  };
9
+ const authenticateUsingHttpHeader = ()=>[
10
+ createBeforeHandlerPlugin(async (context)=>{
11
+ const token = getHeader(context);
12
+ if (!token) return;
13
+ await context.security.authenticate(token);
14
+ }),
15
+ setupSecureHeaders(),
16
+ authenticateUsingCookie()
17
+ ];
18
+ export { authenticateUsingHttpHeader };
22
19
 
23
20
  //# sourceMappingURL=authenticateUsingHttpHeader.js.map