@webiny/api-core 0.0.0-unstable.ac6ebf63c6 → 0.0.0-unstable.b6d7105cee

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 (1167) hide show
  1. package/ApiCoreFeature.d.ts +5 -1
  2. package/ApiCoreFeature.js +26 -14
  3. package/ApiCoreFeature.js.map +1 -1
  4. package/createApiCore.d.ts +1 -1
  5. package/createApiCore.js +17 -8
  6. package/createApiCore.js.map +1 -1
  7. package/domain/identity/SystemIdentityValue.js +9 -8
  8. package/domain/identity/SystemIdentityValue.js.map +1 -1
  9. package/domain/security/ApiToken.d.ts +1 -0
  10. package/domain/security/ApiToken.js +5 -10
  11. package/domain/security/ApiToken.js.map +1 -1
  12. package/domain/tenancy/RootTenantValue.js +9 -8
  13. package/domain/tenancy/RootTenantValue.js.map +1 -1
  14. package/domain/tenancy/errors.js +0 -3
  15. package/exports/api/{buildParams.js → build-params.d.ts} +1 -2
  16. package/exports/api/{eventPublisher.js → event-publisher.d.ts} +1 -2
  17. package/exports/api/graphql.js +0 -2
  18. package/exports/api/{keyValueStore.js → key-value-store.d.ts} +1 -2
  19. package/exports/api/logger.d.ts +1 -0
  20. package/exports/api/logger.js +0 -2
  21. package/exports/api/security/api-key.d.ts +8 -0
  22. package/exports/api/security/api-key.js +8 -0
  23. package/exports/api/security/authentication.d.ts +1 -1
  24. package/exports/api/security/authentication.js +1 -3
  25. package/exports/api/security/role.d.ts +3 -3
  26. package/exports/api/security/role.js +3 -5
  27. package/exports/api/security/user.d.ts +3 -3
  28. package/exports/api/security/user.js +3 -5
  29. package/exports/api/security.d.ts +6 -0
  30. package/exports/api/security.js +5 -4
  31. package/exports/api/system.d.ts +1 -1
  32. package/exports/api/system.js +1 -3
  33. package/exports/api/tasks.js +0 -2
  34. package/exports/api/tenancy.d.ts +4 -4
  35. package/exports/api/tenancy.js +4 -6
  36. package/exports/api/webhooks.d.ts +1 -0
  37. package/exports/api/webhooks.js +1 -0
  38. package/exports/api.d.ts +7 -0
  39. package/exports/api.js +6 -0
  40. package/features/ai/Ai.d.ts +28 -0
  41. package/features/ai/Ai.js +151 -0
  42. package/features/ai/Ai.js.map +1 -0
  43. package/features/ai/AiSdkTools.d.ts +11 -0
  44. package/features/ai/AiSdkTools.js +29 -0
  45. package/features/ai/AiSdkTools.js.map +1 -0
  46. package/features/ai/AnthropicSdkFactory.d.ts +10 -0
  47. package/features/ai/AnthropicSdkFactory.js +52 -0
  48. package/features/ai/AnthropicSdkFactory.js.map +1 -0
  49. package/features/ai/OpenAiSdkFactory.d.ts +10 -0
  50. package/features/ai/OpenAiSdkFactory.js +76 -0
  51. package/features/ai/OpenAiSdkFactory.js.map +1 -0
  52. package/features/ai/TextExtractor/DefaultTextExtractor.d.ts +9 -0
  53. package/features/ai/TextExtractor/DefaultTextExtractor.js +28 -0
  54. package/features/ai/TextExtractor/DefaultTextExtractor.js.map +1 -0
  55. package/features/ai/TextExtractor/abstractions.d.ts +12 -0
  56. package/features/ai/TextExtractor/abstractions.js +5 -0
  57. package/features/ai/TextExtractor/abstractions.js.map +1 -0
  58. package/features/ai/TextExtractor/index.d.ts +3 -0
  59. package/features/ai/TextExtractor/index.js +2 -0
  60. package/features/ai/TextExtractor/parsers/docxParser.d.ts +1 -0
  61. package/features/ai/TextExtractor/parsers/docxParser.js +111 -0
  62. package/features/ai/TextExtractor/parsers/docxParser.js.map +1 -0
  63. package/features/ai/abstractions.d.ts +92 -0
  64. package/features/ai/abstractions.js +10 -0
  65. package/features/ai/abstractions.js.map +1 -0
  66. package/features/ai/events.d.ts +59 -0
  67. package/features/ai/events.js +41 -0
  68. package/features/ai/events.js.map +1 -0
  69. package/features/ai/feature.d.ts +4 -0
  70. package/features/ai/feature.js +23 -0
  71. package/features/ai/feature.js.map +1 -0
  72. package/features/ai/index.d.ts +9 -0
  73. package/features/ai/index.js +5 -0
  74. package/features/ai/toolPipeline/AiOutputToolRegistry.d.ts +11 -0
  75. package/features/ai/toolPipeline/AiOutputToolRegistry.js +31 -0
  76. package/features/ai/toolPipeline/AiOutputToolRegistry.js.map +1 -0
  77. package/features/ai/toolPipeline/AiToolPipelineRunner.d.ts +10 -0
  78. package/features/ai/toolPipeline/AiToolPipelineRunner.js +36 -0
  79. package/features/ai/toolPipeline/AiToolPipelineRunner.js.map +1 -0
  80. package/features/ai/toolPipeline/abstractions.d.ts +23 -0
  81. package/features/ai/toolPipeline/abstractions.js +7 -0
  82. package/features/ai/toolPipeline/abstractions.js.map +1 -0
  83. package/features/ai/toolPipeline/index.d.ts +2 -0
  84. package/features/ai/toolPipeline/index.js +1 -0
  85. package/features/buildParams/BuildParams.js +20 -14
  86. package/features/buildParams/BuildParams.js.map +1 -1
  87. package/features/buildParams/abstractions.d.ts +2 -0
  88. package/features/buildParams/abstractions.js +3 -2
  89. package/features/buildParams/abstractions.js.map +1 -1
  90. package/features/buildParams/feature.d.ts +5 -1
  91. package/features/buildParams/feature.js +6 -5
  92. package/features/buildParams/feature.js.map +1 -1
  93. package/features/buildParams/index.js +0 -2
  94. package/features/encryption/EncryptionService.d.ts +10 -0
  95. package/features/encryption/EncryptionService.js +62 -0
  96. package/features/encryption/EncryptionService.js.map +1 -0
  97. package/features/encryption/abstractions.d.ts +9 -0
  98. package/features/encryption/abstractions.js +5 -0
  99. package/features/encryption/abstractions.js.map +1 -0
  100. package/features/encryption/feature.d.ts +4 -0
  101. package/features/encryption/feature.js +11 -0
  102. package/features/encryption/feature.js.map +1 -0
  103. package/features/encryption/index.d.ts +1 -0
  104. package/features/encryption/index.js +1 -0
  105. package/features/eventPublisher/EventPublisher.js +9 -15
  106. package/features/eventPublisher/EventPublisher.js.map +1 -1
  107. package/features/eventPublisher/__tests__/EventPublisher.test.js +385 -419
  108. package/features/eventPublisher/__tests__/EventPublisher.test.js.map +1 -1
  109. package/features/eventPublisher/abstractions.d.ts +2 -0
  110. package/features/eventPublisher/abstractions.js +7 -9
  111. package/features/eventPublisher/abstractions.js.map +1 -1
  112. package/features/eventPublisher/feature.d.ts +5 -1
  113. package/features/eventPublisher/feature.js +8 -7
  114. package/features/eventPublisher/feature.js.map +1 -1
  115. package/features/eventPublisher/index.js +0 -2
  116. package/features/featureFlags/FeatureFlags.d.ts +12 -0
  117. package/features/featureFlags/FeatureFlags.js +21 -0
  118. package/features/featureFlags/FeatureFlags.js.map +1 -0
  119. package/features/featureFlags/abstractions.d.ts +8 -0
  120. package/features/featureFlags/abstractions.js +5 -0
  121. package/features/featureFlags/abstractions.js.map +1 -0
  122. package/features/featureFlags/feature.d.ts +5 -0
  123. package/features/featureFlags/feature.js +11 -0
  124. package/features/featureFlags/feature.js.map +1 -0
  125. package/features/keyValueStore/GlobalKeyValueStore.js +28 -23
  126. package/features/keyValueStore/GlobalKeyValueStore.js.map +1 -1
  127. package/features/keyValueStore/KeyValueStore.js +30 -27
  128. package/features/keyValueStore/KeyValueStore.js.map +1 -1
  129. package/features/keyValueStore/KeyValueStoreRepository.d.ts +2 -2
  130. package/features/keyValueStore/KeyValueStoreRepository.js +34 -41
  131. package/features/keyValueStore/KeyValueStoreRepository.js.map +1 -1
  132. package/features/keyValueStore/abstractions.d.ts +10 -2
  133. package/features/keyValueStore/abstractions.js +5 -16
  134. package/features/keyValueStore/abstractions.js.map +1 -1
  135. package/features/keyValueStore/errors.js +16 -17
  136. package/features/keyValueStore/errors.js.map +1 -1
  137. package/features/keyValueStore/feature.d.ts +4 -1
  138. package/features/keyValueStore/feature.js +9 -9
  139. package/features/keyValueStore/feature.js.map +1 -1
  140. package/features/keyValueStore/index.js +1 -3
  141. package/features/logger/LoggerService.js +41 -45
  142. package/features/logger/LoggerService.js.map +1 -1
  143. package/features/logger/abstractions.d.ts +1 -0
  144. package/features/logger/abstractions.js +2 -1
  145. package/features/logger/abstractions.js.map +1 -1
  146. package/features/logger/feature.d.ts +4 -1
  147. package/features/logger/feature.js +6 -5
  148. package/features/logger/feature.js.map +1 -1
  149. package/features/logger/index.js +0 -2
  150. package/features/masker/Masker.d.ts +8 -0
  151. package/features/masker/Masker.js +18 -0
  152. package/features/masker/Masker.js.map +1 -0
  153. package/features/masker/abstractions.d.ts +11 -0
  154. package/features/masker/abstractions.js +5 -0
  155. package/features/masker/abstractions.js.map +1 -0
  156. package/features/masker/feature.d.ts +4 -0
  157. package/features/masker/feature.js +11 -0
  158. package/features/masker/feature.js.map +1 -0
  159. package/features/masker/index.d.ts +1 -0
  160. package/features/masker/index.js +1 -0
  161. package/features/security/IdentityContext/AnonymousIdentity.js +12 -16
  162. package/features/security/IdentityContext/AnonymousIdentity.js.map +1 -1
  163. package/features/security/IdentityContext/AuthenticatedIdentity.js +5 -8
  164. package/features/security/IdentityContext/AuthenticatedIdentity.js.map +1 -1
  165. package/features/security/IdentityContext/Identity.js +63 -71
  166. package/features/security/IdentityContext/Identity.js.map +1 -1
  167. package/features/security/IdentityContext/IdentityContext.js +70 -107
  168. package/features/security/IdentityContext/IdentityContext.js.map +1 -1
  169. package/features/security/IdentityContext/abstractions.d.ts +1 -0
  170. package/features/security/IdentityContext/abstractions.js +2 -1
  171. package/features/security/IdentityContext/abstractions.js.map +1 -1
  172. package/features/security/IdentityContext/feature.d.ts +4 -1
  173. package/features/security/IdentityContext/feature.js +6 -5
  174. package/features/security/IdentityContext/feature.js.map +1 -1
  175. package/features/security/IdentityContext/index.js +0 -3
  176. package/features/security/SecurityFeature.d.ts +5 -1
  177. package/features/security/SecurityFeature.js +13 -21
  178. package/features/security/SecurityFeature.js.map +1 -1
  179. package/features/security/apiKeys/CreateApiKey/CreateApiKeyUseCase.js +48 -49
  180. package/features/security/apiKeys/CreateApiKey/CreateApiKeyUseCase.js.map +1 -1
  181. package/features/security/apiKeys/CreateApiKey/abstractions.d.ts +1 -0
  182. package/features/security/apiKeys/CreateApiKey/abstractions.js +2 -1
  183. package/features/security/apiKeys/CreateApiKey/abstractions.js.map +1 -1
  184. package/features/security/apiKeys/CreateApiKey/events.d.ts +6 -4
  185. package/features/security/apiKeys/CreateApiKey/events.js +17 -12
  186. package/features/security/apiKeys/CreateApiKey/events.js.map +1 -1
  187. package/features/security/apiKeys/CreateApiKey/feature.d.ts +4 -1
  188. package/features/security/apiKeys/CreateApiKey/feature.js +6 -5
  189. package/features/security/apiKeys/CreateApiKey/feature.js.map +1 -1
  190. package/features/security/apiKeys/CreateApiKey/index.js +0 -2
  191. package/features/security/apiKeys/DeleteApiKey/DeleteApiKeyUseCase.js +29 -30
  192. package/features/security/apiKeys/DeleteApiKey/DeleteApiKeyUseCase.js.map +1 -1
  193. package/features/security/apiKeys/DeleteApiKey/abstractions.d.ts +1 -0
  194. package/features/security/apiKeys/DeleteApiKey/abstractions.js +2 -1
  195. package/features/security/apiKeys/DeleteApiKey/abstractions.js.map +1 -1
  196. package/features/security/apiKeys/DeleteApiKey/events.d.ts +6 -4
  197. package/features/security/apiKeys/DeleteApiKey/events.js +17 -12
  198. package/features/security/apiKeys/DeleteApiKey/events.js.map +1 -1
  199. package/features/security/apiKeys/DeleteApiKey/feature.d.ts +4 -1
  200. package/features/security/apiKeys/DeleteApiKey/feature.js +6 -5
  201. package/features/security/apiKeys/DeleteApiKey/feature.js.map +1 -1
  202. package/features/security/apiKeys/DeleteApiKey/index.js +0 -2
  203. package/features/security/apiKeys/GetApiKey/GetApiKeyUseCase.d.ts +1 -1
  204. package/features/security/apiKeys/GetApiKey/GetApiKeyUseCase.js +16 -14
  205. package/features/security/apiKeys/GetApiKey/GetApiKeyUseCase.js.map +1 -1
  206. package/features/security/apiKeys/GetApiKey/abstractions.d.ts +1 -0
  207. package/features/security/apiKeys/GetApiKey/abstractions.js +2 -1
  208. package/features/security/apiKeys/GetApiKey/abstractions.js.map +1 -1
  209. package/features/security/apiKeys/GetApiKey/feature.d.ts +4 -1
  210. package/features/security/apiKeys/GetApiKey/feature.js +6 -5
  211. package/features/security/apiKeys/GetApiKey/feature.js.map +1 -1
  212. package/features/security/apiKeys/GetApiKey/index.js +0 -2
  213. package/features/security/apiKeys/GetApiKeyBySlug/GetApiKeyBySlugUseCase.d.ts +1 -3
  214. package/features/security/apiKeys/GetApiKeyBySlug/GetApiKeyBySlugUseCase.js +13 -10
  215. package/features/security/apiKeys/GetApiKeyBySlug/GetApiKeyBySlugUseCase.js.map +1 -1
  216. package/features/security/apiKeys/GetApiKeyBySlug/abstractions.d.ts +2 -1
  217. package/features/security/apiKeys/GetApiKeyBySlug/abstractions.js +2 -1
  218. package/features/security/apiKeys/GetApiKeyBySlug/abstractions.js.map +1 -1
  219. package/features/security/apiKeys/GetApiKeyBySlug/feature.d.ts +4 -1
  220. package/features/security/apiKeys/GetApiKeyBySlug/feature.js +6 -5
  221. package/features/security/apiKeys/GetApiKeyBySlug/feature.js.map +1 -1
  222. package/features/security/apiKeys/GetApiKeyBySlug/index.js +0 -2
  223. package/features/security/apiKeys/GetApiKeyByToken/GetApiKeyByTokenUseCase.d.ts +1 -3
  224. package/features/security/apiKeys/GetApiKeyByToken/GetApiKeyByTokenUseCase.js +13 -10
  225. package/features/security/apiKeys/GetApiKeyByToken/GetApiKeyByTokenUseCase.js.map +1 -1
  226. package/features/security/apiKeys/GetApiKeyByToken/abstractions.d.ts +2 -1
  227. package/features/security/apiKeys/GetApiKeyByToken/abstractions.js +2 -1
  228. package/features/security/apiKeys/GetApiKeyByToken/abstractions.js.map +1 -1
  229. package/features/security/apiKeys/GetApiKeyByToken/feature.d.ts +4 -1
  230. package/features/security/apiKeys/GetApiKeyByToken/feature.js +6 -5
  231. package/features/security/apiKeys/GetApiKeyByToken/feature.js.map +1 -1
  232. package/features/security/apiKeys/GetApiKeyByToken/index.js +0 -2
  233. package/features/security/apiKeys/ListApiKeys/ListApiKeysUseCase.js +17 -17
  234. package/features/security/apiKeys/ListApiKeys/ListApiKeysUseCase.js.map +1 -1
  235. package/features/security/apiKeys/ListApiKeys/abstractions.d.ts +1 -0
  236. package/features/security/apiKeys/ListApiKeys/abstractions.js +2 -1
  237. package/features/security/apiKeys/ListApiKeys/abstractions.js.map +1 -1
  238. package/features/security/apiKeys/ListApiKeys/feature.d.ts +4 -1
  239. package/features/security/apiKeys/ListApiKeys/feature.js +6 -5
  240. package/features/security/apiKeys/ListApiKeys/feature.js.map +1 -1
  241. package/features/security/apiKeys/ListApiKeys/index.js +0 -2
  242. package/features/security/apiKeys/UpdateApiKey/UpdateApiKeyUseCase.js +39 -42
  243. package/features/security/apiKeys/UpdateApiKey/UpdateApiKeyUseCase.js.map +1 -1
  244. package/features/security/apiKeys/UpdateApiKey/abstractions.d.ts +1 -0
  245. package/features/security/apiKeys/UpdateApiKey/abstractions.js +2 -1
  246. package/features/security/apiKeys/UpdateApiKey/abstractions.js.map +1 -1
  247. package/features/security/apiKeys/UpdateApiKey/events.d.ts +6 -4
  248. package/features/security/apiKeys/UpdateApiKey/events.js +17 -12
  249. package/features/security/apiKeys/UpdateApiKey/events.js.map +1 -1
  250. package/features/security/apiKeys/UpdateApiKey/feature.d.ts +4 -1
  251. package/features/security/apiKeys/UpdateApiKey/feature.js +6 -5
  252. package/features/security/apiKeys/UpdateApiKey/feature.js.map +1 -1
  253. package/features/security/apiKeys/UpdateApiKey/index.js +0 -2
  254. package/features/security/apiKeys/feature.d.ts +4 -1
  255. package/features/security/apiKeys/feature.js +20 -17
  256. package/features/security/apiKeys/feature.js.map +1 -1
  257. package/features/security/apiKeys/shared/ApiKeyProvider.d.ts +3 -5
  258. package/features/security/apiKeys/shared/ApiKeyProvider.js +31 -46
  259. package/features/security/apiKeys/shared/ApiKeyProvider.js.map +1 -1
  260. package/features/security/apiKeys/shared/ApiKeysRepository.d.ts +1 -0
  261. package/features/security/apiKeys/shared/ApiKeysRepository.js +123 -135
  262. package/features/security/apiKeys/shared/ApiKeysRepository.js.map +1 -1
  263. package/features/security/apiKeys/shared/abstractions.d.ts +5 -2
  264. package/features/security/apiKeys/shared/abstractions.js +4 -3
  265. package/features/security/apiKeys/shared/abstractions.js.map +1 -1
  266. package/features/security/apiKeys/shared/errors.js +29 -32
  267. package/features/security/apiKeys/shared/errors.js.map +1 -1
  268. package/features/security/apiKeys/shared/generateToken.d.ts +1 -1
  269. package/features/security/apiKeys/shared/generateToken.js +6 -16
  270. package/features/security/apiKeys/shared/generateToken.js.map +1 -1
  271. package/features/security/apiKeys/shared/schemas.d.ts +10 -71
  272. package/features/security/apiKeys/shared/schemas.js +27 -23
  273. package/features/security/apiKeys/shared/schemas.js.map +1 -1
  274. package/features/security/apiKeys/shared/types.d.ts +1 -1
  275. package/features/security/apiKeys/shared/types.js +0 -3
  276. package/features/security/authentication/AuthenticationContext/AuthenticationContext.js +44 -38
  277. package/features/security/authentication/AuthenticationContext/AuthenticationContext.js.map +1 -1
  278. package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.d.ts +2 -2
  279. package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.js +33 -43
  280. package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.js.map +1 -1
  281. package/features/security/authentication/AuthenticationContext/abstractions.d.ts +1 -0
  282. package/features/security/authentication/AuthenticationContext/abstractions.js +2 -1
  283. package/features/security/authentication/AuthenticationContext/abstractions.js.map +1 -1
  284. package/features/security/authentication/AuthenticationContext/errors.js +51 -116
  285. package/features/security/authentication/AuthenticationContext/errors.js.map +1 -1
  286. package/features/security/authentication/AuthenticationContext/events.d.ts +6 -4
  287. package/features/security/authentication/AuthenticationContext/events.js +17 -12
  288. package/features/security/authentication/AuthenticationContext/events.js.map +1 -1
  289. package/features/security/authentication/AuthenticationContext/feature.d.ts +4 -1
  290. package/features/security/authentication/AuthenticationContext/feature.js +6 -5
  291. package/features/security/authentication/AuthenticationContext/feature.js.map +1 -1
  292. package/features/security/authentication/AuthenticationContext/index.js +2 -4
  293. package/features/security/authentication/Authenticator/abstractions.d.ts +1 -0
  294. package/features/security/authentication/Authenticator/abstractions.js +2 -1
  295. package/features/security/authentication/Authenticator/abstractions.js.map +1 -1
  296. package/features/security/authentication/Authenticator/index.js +0 -2
  297. package/features/security/authorization/AuthorizationContext/AuthorizationContext.d.ts +1 -0
  298. package/features/security/authorization/AuthorizationContext/AuthorizationContext.js +46 -47
  299. package/features/security/authorization/AuthorizationContext/AuthorizationContext.js.map +1 -1
  300. package/features/security/authorization/AuthorizationContext/abstractions.d.ts +2 -0
  301. package/features/security/authorization/AuthorizationContext/abstractions.js +3 -2
  302. package/features/security/authorization/AuthorizationContext/abstractions.js.map +1 -1
  303. package/features/security/authorization/AuthorizationContext/feature.d.ts +4 -1
  304. package/features/security/authorization/AuthorizationContext/feature.js +10 -9
  305. package/features/security/authorization/AuthorizationContext/feature.js.map +1 -1
  306. package/features/security/authorization/AuthorizationContext/index.js +1 -4
  307. package/features/security/authorization/Authorizer/abstractions.d.ts +1 -0
  308. package/features/security/authorization/Authorizer/abstractions.js +2 -1
  309. package/features/security/authorization/Authorizer/abstractions.js.map +1 -1
  310. package/features/security/authorization/Authorizer/index.js +0 -2
  311. package/features/security/authorization/GroupsTeamsAuthorizer/GetPermissionsFromIdentity.d.ts +1 -1
  312. package/features/security/authorization/GroupsTeamsAuthorizer/GetPermissionsFromIdentity.js +60 -64
  313. package/features/security/authorization/GroupsTeamsAuthorizer/GetPermissionsFromIdentity.js.map +1 -1
  314. package/features/security/authorization/GroupsTeamsAuthorizer/RolesTeamsAuthorizer.js +26 -40
  315. package/features/security/authorization/GroupsTeamsAuthorizer/RolesTeamsAuthorizer.js.map +1 -1
  316. package/features/security/authorization/GroupsTeamsAuthorizer/abstractions.js +2 -1
  317. package/features/security/authorization/GroupsTeamsAuthorizer/abstractions.js.map +1 -1
  318. package/features/security/authorization/GroupsTeamsAuthorizer/feature.d.ts +4 -1
  319. package/features/security/authorization/GroupsTeamsAuthorizer/feature.js +7 -6
  320. package/features/security/authorization/GroupsTeamsAuthorizer/feature.js.map +1 -1
  321. package/features/security/login/abstractions.d.ts +3 -2
  322. package/features/security/login/abstractions.js +9 -6
  323. package/features/security/login/abstractions.js.map +1 -1
  324. package/features/security/login/index.js +0 -2
  325. package/features/security/permissions/createPermissionSchema.d.ts +2 -0
  326. package/features/security/permissions/createPermissionSchema.js +9 -0
  327. package/features/security/permissions/createPermissionSchema.js.map +1 -0
  328. package/features/security/permissions/createPermissions.d.ts +8 -0
  329. package/features/security/permissions/createPermissions.js +162 -0
  330. package/features/security/permissions/createPermissions.js.map +1 -0
  331. package/features/security/permissions/index.d.ts +3 -0
  332. package/features/security/permissions/index.js +2 -0
  333. package/features/security/permissions/types.d.ts +137 -0
  334. package/features/security/permissions/types.js +0 -0
  335. package/features/security/roles/CreateRole/CreateRoleUseCase.d.ts +1 -3
  336. package/features/security/roles/CreateRole/CreateRoleUseCase.js +53 -63
  337. package/features/security/roles/CreateRole/CreateRoleUseCase.js.map +1 -1
  338. package/features/security/roles/CreateRole/abstractions.d.ts +1 -0
  339. package/features/security/roles/CreateRole/abstractions.js +2 -1
  340. package/features/security/roles/CreateRole/abstractions.js.map +1 -1
  341. package/features/security/roles/CreateRole/events.d.ts +6 -4
  342. package/features/security/roles/CreateRole/events.js +17 -12
  343. package/features/security/roles/CreateRole/events.js.map +1 -1
  344. package/features/security/roles/CreateRole/feature.d.ts +4 -1
  345. package/features/security/roles/CreateRole/feature.js +6 -5
  346. package/features/security/roles/CreateRole/feature.js.map +1 -1
  347. package/features/security/roles/CreateRole/index.js +0 -2
  348. package/features/security/roles/CreateRole/schema.d.ts +2 -20
  349. package/features/security/roles/CreateRole/schema.js +8 -7
  350. package/features/security/roles/CreateRole/schema.js.map +1 -1
  351. package/features/security/roles/DeleteRole/DeleteRoleUseCase.js +35 -41
  352. package/features/security/roles/DeleteRole/DeleteRoleUseCase.js.map +1 -1
  353. package/features/security/roles/DeleteRole/abstractions.d.ts +1 -0
  354. package/features/security/roles/DeleteRole/abstractions.js +2 -1
  355. package/features/security/roles/DeleteRole/abstractions.js.map +1 -1
  356. package/features/security/roles/DeleteRole/events.d.ts +6 -4
  357. package/features/security/roles/DeleteRole/events.js +17 -12
  358. package/features/security/roles/DeleteRole/events.js.map +1 -1
  359. package/features/security/roles/DeleteRole/feature.d.ts +4 -1
  360. package/features/security/roles/DeleteRole/feature.js +6 -5
  361. package/features/security/roles/DeleteRole/feature.js.map +1 -1
  362. package/features/security/roles/DeleteRole/index.js +0 -2
  363. package/features/security/roles/GetRole/GetRoleUseCase.js +19 -18
  364. package/features/security/roles/GetRole/GetRoleUseCase.js.map +1 -1
  365. package/features/security/roles/GetRole/abstractions.d.ts +1 -0
  366. package/features/security/roles/GetRole/abstractions.js +2 -1
  367. package/features/security/roles/GetRole/abstractions.js.map +1 -1
  368. package/features/security/roles/GetRole/feature.d.ts +4 -1
  369. package/features/security/roles/GetRole/feature.js +6 -5
  370. package/features/security/roles/GetRole/feature.js.map +1 -1
  371. package/features/security/roles/GetRole/index.js +0 -2
  372. package/features/security/roles/Installer/RolesInstaller.js +38 -35
  373. package/features/security/roles/Installer/RolesInstaller.js.map +1 -1
  374. package/features/security/roles/ListRoles/ListRolesUseCase.js +18 -17
  375. package/features/security/roles/ListRoles/ListRolesUseCase.js.map +1 -1
  376. package/features/security/roles/ListRoles/abstractions.d.ts +1 -0
  377. package/features/security/roles/ListRoles/abstractions.js +2 -1
  378. package/features/security/roles/ListRoles/abstractions.js.map +1 -1
  379. package/features/security/roles/ListRoles/feature.d.ts +4 -1
  380. package/features/security/roles/ListRoles/feature.js +6 -5
  381. package/features/security/roles/ListRoles/feature.js.map +1 -1
  382. package/features/security/roles/ListRoles/index.js +0 -2
  383. package/features/security/roles/UpdateRole/UpdateRoleUseCase.js +43 -50
  384. package/features/security/roles/UpdateRole/UpdateRoleUseCase.js.map +1 -1
  385. package/features/security/roles/UpdateRole/abstractions.d.ts +1 -0
  386. package/features/security/roles/UpdateRole/abstractions.js +2 -1
  387. package/features/security/roles/UpdateRole/abstractions.js.map +1 -1
  388. package/features/security/roles/UpdateRole/events.d.ts +6 -4
  389. package/features/security/roles/UpdateRole/events.js +17 -12
  390. package/features/security/roles/UpdateRole/events.js.map +1 -1
  391. package/features/security/roles/UpdateRole/feature.d.ts +4 -1
  392. package/features/security/roles/UpdateRole/feature.js +6 -5
  393. package/features/security/roles/UpdateRole/feature.js.map +1 -1
  394. package/features/security/roles/UpdateRole/index.js +0 -2
  395. package/features/security/roles/UpdateRole/schema.d.ts +2 -18
  396. package/features/security/roles/UpdateRole/schema.js +7 -6
  397. package/features/security/roles/UpdateRole/schema.js.map +1 -1
  398. package/features/security/roles/feature.d.ts +4 -1
  399. package/features/security/roles/feature.js +15 -17
  400. package/features/security/roles/feature.js.map +1 -1
  401. package/features/security/roles/shared/RoleProvider.d.ts +13 -0
  402. package/features/security/roles/shared/RoleProvider.js +35 -0
  403. package/features/security/roles/shared/RoleProvider.js.map +1 -0
  404. package/features/security/roles/shared/RolesRepository.d.ts +3 -1
  405. package/features/security/roles/shared/RolesRepository.js +99 -115
  406. package/features/security/roles/shared/RolesRepository.js.map +1 -1
  407. package/features/security/roles/shared/abstractions.d.ts +19 -0
  408. package/features/security/roles/shared/abstractions.js +3 -1
  409. package/features/security/roles/shared/abstractions.js.map +1 -1
  410. package/features/security/roles/shared/decorators/ListCache.js +23 -22
  411. package/features/security/roles/shared/decorators/ListCache.js.map +1 -1
  412. package/features/security/roles/shared/decorators/RolesRepositoryCachingDecorator.js +40 -62
  413. package/features/security/roles/shared/decorators/RolesRepositoryCachingDecorator.js.map +1 -1
  414. package/features/security/roles/shared/errors.js +50 -56
  415. package/features/security/roles/shared/errors.js.map +1 -1
  416. package/features/security/roles/shared/types.js +0 -3
  417. package/features/security/shared/abstractions.d.ts +5 -14
  418. package/features/security/shared/abstractions.js +4 -19
  419. package/features/security/shared/abstractions.js.map +1 -1
  420. package/features/security/shared/errors.js +8 -8
  421. package/features/security/shared/errors.js.map +1 -1
  422. package/features/security/shared/index.js +0 -2
  423. package/features/security/teams/CreateTeam/CreateTeamUseCase.d.ts +1 -3
  424. package/features/security/teams/CreateTeam/CreateTeamUseCase.js +53 -63
  425. package/features/security/teams/CreateTeam/CreateTeamUseCase.js.map +1 -1
  426. package/features/security/teams/CreateTeam/abstractions.d.ts +1 -0
  427. package/features/security/teams/CreateTeam/abstractions.js +2 -1
  428. package/features/security/teams/CreateTeam/abstractions.js.map +1 -1
  429. package/features/security/teams/CreateTeam/events.d.ts +6 -4
  430. package/features/security/teams/CreateTeam/events.js +17 -12
  431. package/features/security/teams/CreateTeam/events.js.map +1 -1
  432. package/features/security/teams/CreateTeam/feature.d.ts +4 -1
  433. package/features/security/teams/CreateTeam/feature.js +6 -5
  434. package/features/security/teams/CreateTeam/feature.js.map +1 -1
  435. package/features/security/teams/CreateTeam/index.d.ts +1 -1
  436. package/features/security/teams/CreateTeam/index.js +1 -3
  437. package/features/security/teams/CreateTeam/schema.d.ts +2 -12
  438. package/features/security/teams/CreateTeam/schema.js +6 -5
  439. package/features/security/teams/CreateTeam/schema.js.map +1 -1
  440. package/features/security/teams/DeleteTeam/DeleteTeamUseCase.js +36 -46
  441. package/features/security/teams/DeleteTeam/DeleteTeamUseCase.js.map +1 -1
  442. package/features/security/teams/DeleteTeam/abstractions.d.ts +1 -0
  443. package/features/security/teams/DeleteTeam/abstractions.js +2 -1
  444. package/features/security/teams/DeleteTeam/abstractions.js.map +1 -1
  445. package/features/security/teams/DeleteTeam/events.d.ts +6 -4
  446. package/features/security/teams/DeleteTeam/events.js +17 -12
  447. package/features/security/teams/DeleteTeam/events.js.map +1 -1
  448. package/features/security/teams/DeleteTeam/feature.d.ts +4 -1
  449. package/features/security/teams/DeleteTeam/feature.js +6 -5
  450. package/features/security/teams/DeleteTeam/feature.js.map +1 -1
  451. package/features/security/teams/DeleteTeam/index.js +0 -2
  452. package/features/security/teams/GetTeam/GetTeamUseCase.js +17 -17
  453. package/features/security/teams/GetTeam/GetTeamUseCase.js.map +1 -1
  454. package/features/security/teams/GetTeam/abstractions.d.ts +1 -0
  455. package/features/security/teams/GetTeam/abstractions.js +2 -1
  456. package/features/security/teams/GetTeam/abstractions.js.map +1 -1
  457. package/features/security/teams/GetTeam/feature.d.ts +4 -1
  458. package/features/security/teams/GetTeam/feature.js +6 -5
  459. package/features/security/teams/GetTeam/feature.js.map +1 -1
  460. package/features/security/teams/GetTeam/index.js +0 -2
  461. package/features/security/teams/ListTeams/ListTeamsUseCase.js +20 -21
  462. package/features/security/teams/ListTeams/ListTeamsUseCase.js.map +1 -1
  463. package/features/security/teams/ListTeams/abstractions.d.ts +1 -0
  464. package/features/security/teams/ListTeams/abstractions.js +2 -1
  465. package/features/security/teams/ListTeams/abstractions.js.map +1 -1
  466. package/features/security/teams/ListTeams/feature.d.ts +4 -1
  467. package/features/security/teams/ListTeams/feature.js +6 -5
  468. package/features/security/teams/ListTeams/feature.js.map +1 -1
  469. package/features/security/teams/ListTeams/index.js +0 -2
  470. package/features/security/teams/UpdateTeam/UpdateTeamUseCase.js +46 -58
  471. package/features/security/teams/UpdateTeam/UpdateTeamUseCase.js.map +1 -1
  472. package/features/security/teams/UpdateTeam/abstractions.d.ts +1 -0
  473. package/features/security/teams/UpdateTeam/abstractions.js +2 -1
  474. package/features/security/teams/UpdateTeam/abstractions.js.map +1 -1
  475. package/features/security/teams/UpdateTeam/events.d.ts +6 -4
  476. package/features/security/teams/UpdateTeam/events.js +17 -12
  477. package/features/security/teams/UpdateTeam/events.js.map +1 -1
  478. package/features/security/teams/UpdateTeam/feature.d.ts +4 -1
  479. package/features/security/teams/UpdateTeam/feature.js +6 -5
  480. package/features/security/teams/UpdateTeam/feature.js.map +1 -1
  481. package/features/security/teams/UpdateTeam/index.js +0 -2
  482. package/features/security/teams/UpdateTeam/schema.d.ts +2 -10
  483. package/features/security/teams/UpdateTeam/schema.js +5 -4
  484. package/features/security/teams/UpdateTeam/schema.js.map +1 -1
  485. package/features/security/teams/feature.d.ts +4 -1
  486. package/features/security/teams/feature.js +15 -13
  487. package/features/security/teams/feature.js.map +1 -1
  488. package/features/security/teams/shared/TeamProvider.d.ts +13 -0
  489. package/features/security/teams/shared/TeamProvider.js +35 -0
  490. package/features/security/teams/shared/TeamProvider.js.map +1 -0
  491. package/features/security/teams/shared/TeamsRepository.js +102 -118
  492. package/features/security/teams/shared/TeamsRepository.js.map +1 -1
  493. package/features/security/teams/shared/abstractions.d.ts +18 -0
  494. package/features/security/teams/shared/abstractions.js +3 -1
  495. package/features/security/teams/shared/abstractions.js.map +1 -1
  496. package/features/security/teams/shared/decorators/TeamsRepositoryCachingDecorator.d.ts +17 -0
  497. package/features/security/teams/shared/decorators/TeamsRepositoryCachingDecorator.js +54 -0
  498. package/features/security/teams/shared/decorators/TeamsRepositoryCachingDecorator.js.map +1 -0
  499. package/features/security/teams/shared/errors.js +62 -70
  500. package/features/security/teams/shared/errors.js.map +1 -1
  501. package/features/security/teams/shared/types.js +0 -3
  502. package/features/security/utils/AppPermissions.js +50 -89
  503. package/features/security/utils/AppPermissions.js.map +1 -1
  504. package/features/security/utils/IdentityValue.js +19 -22
  505. package/features/security/utils/IdentityValue.js.map +1 -1
  506. package/features/security/utils/filterOutCustomWbyAppsPermissions.js +24 -27
  507. package/features/security/utils/filterOutCustomWbyAppsPermissions.js.map +1 -1
  508. package/features/security/utils/getPermissionsFromRoles.d.ts +1 -1
  509. package/features/security/utils/getPermissionsFromRoles.js +5 -10
  510. package/features/security/utils/getPermissionsFromRoles.js.map +1 -1
  511. package/features/security/utils/isJwt.js +2 -1
  512. package/features/security/utils/isJwt.js.map +1 -1
  513. package/features/security/utils/verifyJwtUsingJwk.d.ts +2 -4
  514. package/features/security/utils/verifyJwtUsingJwk.js +7 -8
  515. package/features/security/utils/verifyJwtUsingJwk.js.map +1 -1
  516. package/features/serviceDiscovery/ServiceDiscovery.d.ts +17 -0
  517. package/features/serviceDiscovery/ServiceDiscovery.js +22 -0
  518. package/features/serviceDiscovery/ServiceDiscovery.js.map +1 -0
  519. package/features/serviceDiscovery/__tests__/ServiceDiscovery.test.d.ts +1 -0
  520. package/features/serviceDiscovery/__tests__/ServiceDiscovery.test.js +111 -0
  521. package/features/serviceDiscovery/__tests__/ServiceDiscovery.test.js.map +1 -0
  522. package/features/serviceDiscovery/index.d.ts +3 -0
  523. package/features/serviceDiscovery/index.js +1 -0
  524. package/features/system/InstallSystem/InstallSystemUseCase.js +45 -44
  525. package/features/system/InstallSystem/InstallSystemUseCase.js.map +1 -1
  526. package/features/system/InstallSystem/abstractions.d.ts +4 -5
  527. package/features/system/InstallSystem/abstractions.js +3 -18
  528. package/features/system/InstallSystem/abstractions.js.map +1 -1
  529. package/features/system/InstallSystem/errors.js +15 -16
  530. package/features/system/InstallSystem/errors.js.map +1 -1
  531. package/features/system/InstallSystem/events.js +9 -6
  532. package/features/system/InstallSystem/events.js.map +1 -1
  533. package/features/system/InstallSystem/feature.d.ts +5 -1
  534. package/features/system/InstallSystem/feature.js +6 -7
  535. package/features/system/InstallSystem/feature.js.map +1 -1
  536. package/features/system/InstallSystem/index.d.ts +1 -1
  537. package/features/system/InstallSystem/index.js +2 -6
  538. package/features/system/SystemFeature.d.ts +4 -1
  539. package/features/system/SystemFeature.js +6 -5
  540. package/features/system/SystemFeature.js.map +1 -1
  541. package/features/task/TaskController/abstractions.d.ts +1 -0
  542. package/features/task/TaskController/abstractions.js +2 -9
  543. package/features/task/TaskController/abstractions.js.map +1 -1
  544. package/features/task/TaskController/index.js +0 -2
  545. package/features/task/TaskDefinition/abstractions.d.ts +7 -1
  546. package/features/task/TaskDefinition/abstractions.js +8 -39
  547. package/features/task/TaskDefinition/abstractions.js.map +1 -1
  548. package/features/task/TaskDefinition/index.js +0 -2
  549. package/features/task/TaskService/abstractions.d.ts +1 -0
  550. package/features/task/TaskService/abstractions.js +9 -12
  551. package/features/task/TaskService/abstractions.js.map +1 -1
  552. package/features/task/TaskService/index.js +0 -2
  553. package/features/tenancy/CreateTenant/CreateTenantGateway.js +14 -11
  554. package/features/tenancy/CreateTenant/CreateTenantGateway.js.map +1 -1
  555. package/features/tenancy/CreateTenant/CreateTenantRepository.js +18 -15
  556. package/features/tenancy/CreateTenant/CreateTenantRepository.js.map +1 -1
  557. package/features/tenancy/CreateTenant/CreateTenantUseCase.d.ts +1 -1
  558. package/features/tenancy/CreateTenant/CreateTenantUseCase.js +44 -41
  559. package/features/tenancy/CreateTenant/CreateTenantUseCase.js.map +1 -1
  560. package/features/tenancy/CreateTenant/abstractions.d.ts +9 -7
  561. package/features/tenancy/CreateTenant/abstractions.js +6 -27
  562. package/features/tenancy/CreateTenant/abstractions.js.map +1 -1
  563. package/features/tenancy/CreateTenant/decorators/CreateTenantWithWcpIncrement.js +16 -15
  564. package/features/tenancy/CreateTenant/decorators/CreateTenantWithWcpIncrement.js.map +1 -1
  565. package/features/tenancy/CreateTenant/errors.js +8 -8
  566. package/features/tenancy/CreateTenant/errors.js.map +1 -1
  567. package/features/tenancy/CreateTenant/events.js +16 -11
  568. package/features/tenancy/CreateTenant/events.js.map +1 -1
  569. package/features/tenancy/CreateTenant/feature.d.ts +5 -1
  570. package/features/tenancy/CreateTenant/feature.js +9 -8
  571. package/features/tenancy/CreateTenant/feature.js.map +1 -1
  572. package/features/tenancy/CreateTenant/index.d.ts +1 -1
  573. package/features/tenancy/CreateTenant/index.js +2 -4
  574. package/features/tenancy/DeleteTenant/DeleteTenantGateway.js +15 -12
  575. package/features/tenancy/DeleteTenant/DeleteTenantGateway.js.map +1 -1
  576. package/features/tenancy/DeleteTenant/DeleteTenantRepository.js +22 -19
  577. package/features/tenancy/DeleteTenant/DeleteTenantRepository.js.map +1 -1
  578. package/features/tenancy/DeleteTenant/DeleteTenantUseCase.js +29 -27
  579. package/features/tenancy/DeleteTenant/DeleteTenantUseCase.js.map +1 -1
  580. package/features/tenancy/DeleteTenant/abstractions.d.ts +9 -4
  581. package/features/tenancy/DeleteTenant/abstractions.js +6 -5
  582. package/features/tenancy/DeleteTenant/abstractions.js.map +1 -1
  583. package/features/tenancy/DeleteTenant/decorators/DeleteTenantWithWcpDecrement.js +16 -13
  584. package/features/tenancy/DeleteTenant/decorators/DeleteTenantWithWcpDecrement.js.map +1 -1
  585. package/features/tenancy/DeleteTenant/events.js +16 -11
  586. package/features/tenancy/DeleteTenant/events.js.map +1 -1
  587. package/features/tenancy/DeleteTenant/feature.d.ts +5 -1
  588. package/features/tenancy/DeleteTenant/feature.js +9 -8
  589. package/features/tenancy/DeleteTenant/feature.js.map +1 -1
  590. package/features/tenancy/DeleteTenant/index.d.ts +1 -1
  591. package/features/tenancy/DeleteTenant/index.js +2 -4
  592. package/features/tenancy/GetRootTenant/GetRootTenantUseCase.js +15 -12
  593. package/features/tenancy/GetRootTenant/GetRootTenantUseCase.js.map +1 -1
  594. package/features/tenancy/GetRootTenant/abstractions.js +2 -4
  595. package/features/tenancy/GetRootTenant/abstractions.js.map +1 -1
  596. package/features/tenancy/GetRootTenant/feature.d.ts +5 -1
  597. package/features/tenancy/GetRootTenant/feature.js +6 -5
  598. package/features/tenancy/GetRootTenant/feature.js.map +1 -1
  599. package/features/tenancy/GetRootTenant/index.js +0 -2
  600. package/features/tenancy/GetTenantById/GetTenantByIdGateway.js +17 -12
  601. package/features/tenancy/GetTenantById/GetTenantByIdGateway.js.map +1 -1
  602. package/features/tenancy/GetTenantById/GetTenantByIdRepository.js +18 -19
  603. package/features/tenancy/GetTenantById/GetTenantByIdRepository.js.map +1 -1
  604. package/features/tenancy/GetTenantById/GetTenantByIdUseCase.js +17 -17
  605. package/features/tenancy/GetTenantById/GetTenantByIdUseCase.js.map +1 -1
  606. package/features/tenancy/GetTenantById/abstractions.d.ts +3 -0
  607. package/features/tenancy/GetTenantById/abstractions.js +4 -12
  608. package/features/tenancy/GetTenantById/abstractions.js.map +1 -1
  609. package/features/tenancy/GetTenantById/feature.d.ts +5 -1
  610. package/features/tenancy/GetTenantById/feature.js +8 -12
  611. package/features/tenancy/GetTenantById/feature.js.map +1 -1
  612. package/features/tenancy/GetTenantById/index.js +1 -3
  613. package/features/tenancy/InstallTenant/DependencyResolver.js +53 -65
  614. package/features/tenancy/InstallTenant/DependencyResolver.js.map +1 -1
  615. package/features/tenancy/InstallTenant/InstallTenantUseCase.d.ts +1 -1
  616. package/features/tenancy/InstallTenant/InstallTenantUseCase.js +95 -113
  617. package/features/tenancy/InstallTenant/InstallTenantUseCase.js.map +1 -1
  618. package/features/tenancy/InstallTenant/abstractions.d.ts +5 -11
  619. package/features/tenancy/InstallTenant/abstractions.js +4 -24
  620. package/features/tenancy/InstallTenant/abstractions.js.map +1 -1
  621. package/features/tenancy/InstallTenant/errors.js +15 -16
  622. package/features/tenancy/InstallTenant/errors.js.map +1 -1
  623. package/features/tenancy/InstallTenant/events.js +9 -6
  624. package/features/tenancy/InstallTenant/events.js.map +1 -1
  625. package/features/tenancy/InstallTenant/feature.d.ts +5 -1
  626. package/features/tenancy/InstallTenant/feature.js +6 -5
  627. package/features/tenancy/InstallTenant/feature.js.map +1 -1
  628. package/features/tenancy/InstallTenant/index.d.ts +1 -1
  629. package/features/tenancy/InstallTenant/index.js +1 -3
  630. package/features/tenancy/ListTenants/ListTenantsGateway.js +14 -11
  631. package/features/tenancy/ListTenants/ListTenantsGateway.js.map +1 -1
  632. package/features/tenancy/ListTenants/ListTenantsRepository.js +14 -12
  633. package/features/tenancy/ListTenants/ListTenantsRepository.js.map +1 -1
  634. package/features/tenancy/ListTenants/ListTenantsUseCase.js +16 -14
  635. package/features/tenancy/ListTenants/ListTenantsUseCase.js.map +1 -1
  636. package/features/tenancy/ListTenants/abstractions.js +4 -12
  637. package/features/tenancy/ListTenants/abstractions.js.map +1 -1
  638. package/features/tenancy/ListTenants/feature.d.ts +5 -1
  639. package/features/tenancy/ListTenants/feature.js +8 -7
  640. package/features/tenancy/ListTenants/feature.js.map +1 -1
  641. package/features/tenancy/ListTenants/index.js +1 -3
  642. package/features/tenancy/TenancyFeature.d.ts +4 -1
  643. package/features/tenancy/TenancyFeature.js +20 -26
  644. package/features/tenancy/TenancyFeature.js.map +1 -1
  645. package/features/tenancy/TenantContext/TenantContext.js +46 -48
  646. package/features/tenancy/TenantContext/TenantContext.js.map +1 -1
  647. package/features/tenancy/TenantContext/abstractions.d.ts +1 -0
  648. package/features/tenancy/TenantContext/abstractions.js +2 -1
  649. package/features/tenancy/TenantContext/abstractions.js.map +1 -1
  650. package/features/tenancy/TenantContext/errors.js +7 -7
  651. package/features/tenancy/TenantContext/errors.js.map +1 -1
  652. package/features/tenancy/TenantContext/feature.d.ts +4 -1
  653. package/features/tenancy/TenantContext/feature.js +6 -5
  654. package/features/tenancy/TenantContext/feature.js.map +1 -1
  655. package/features/tenancy/TenantContext/index.js +0 -2
  656. package/features/tenancy/UpdateTenant/UpdateTenantGateway.js +14 -11
  657. package/features/tenancy/UpdateTenant/UpdateTenantGateway.js.map +1 -1
  658. package/features/tenancy/UpdateTenant/UpdateTenantRepository.js +19 -16
  659. package/features/tenancy/UpdateTenant/UpdateTenantRepository.js.map +1 -1
  660. package/features/tenancy/UpdateTenant/UpdateTenantUseCase.d.ts +2 -2
  661. package/features/tenancy/UpdateTenant/UpdateTenantUseCase.js +37 -36
  662. package/features/tenancy/UpdateTenant/UpdateTenantUseCase.js.map +1 -1
  663. package/features/tenancy/UpdateTenant/abstractions.d.ts +9 -4
  664. package/features/tenancy/UpdateTenant/abstractions.js +6 -5
  665. package/features/tenancy/UpdateTenant/abstractions.js.map +1 -1
  666. package/features/tenancy/UpdateTenant/events.js +16 -11
  667. package/features/tenancy/UpdateTenant/events.js.map +1 -1
  668. package/features/tenancy/UpdateTenant/feature.d.ts +5 -1
  669. package/features/tenancy/UpdateTenant/feature.js +8 -7
  670. package/features/tenancy/UpdateTenant/feature.js.map +1 -1
  671. package/features/tenancy/UpdateTenant/index.d.ts +1 -1
  672. package/features/tenancy/UpdateTenant/index.js +2 -4
  673. package/features/tenancy/shared/TenantCache.js +18 -17
  674. package/features/tenancy/shared/TenantCache.js.map +1 -1
  675. package/features/tenancy/shared/abstractions.js +2 -1
  676. package/features/tenancy/shared/abstractions.js.map +1 -1
  677. package/features/tenancy/shared/storageOperations.js +2 -5
  678. package/features/tenancy/shared/storageOperations.js.map +1 -1
  679. package/features/users/AdminUsersFeature.d.ts +4 -1
  680. package/features/users/AdminUsersFeature.js +15 -19
  681. package/features/users/AdminUsersFeature.js.map +1 -1
  682. package/features/users/CreateUser/CreateUserUseCase.js +65 -100
  683. package/features/users/CreateUser/CreateUserUseCase.js.map +1 -1
  684. package/features/users/CreateUser/abstractions.d.ts +1 -0
  685. package/features/users/CreateUser/abstractions.js +2 -13
  686. package/features/users/CreateUser/abstractions.js.map +1 -1
  687. package/features/users/CreateUser/decorators/CreateUserWithWcpIncrement.d.ts +1 -1
  688. package/features/users/CreateUser/decorators/CreateUserWithWcpIncrement.js +16 -15
  689. package/features/users/CreateUser/decorators/CreateUserWithWcpIncrement.js.map +1 -1
  690. package/features/users/CreateUser/events.d.ts +6 -4
  691. package/features/users/CreateUser/events.js +17 -14
  692. package/features/users/CreateUser/events.js.map +1 -1
  693. package/features/users/CreateUser/feature.d.ts +4 -1
  694. package/features/users/CreateUser/feature.js +7 -6
  695. package/features/users/CreateUser/feature.js.map +1 -1
  696. package/features/users/CreateUser/index.js +0 -2
  697. package/features/users/CreateUser/schema.d.ts +4 -36
  698. package/features/users/CreateUser/schema.js +14 -18
  699. package/features/users/CreateUser/schema.js.map +1 -1
  700. package/features/users/DeleteUser/DeleteUserUseCase.js +35 -50
  701. package/features/users/DeleteUser/DeleteUserUseCase.js.map +1 -1
  702. package/features/users/DeleteUser/abstractions.d.ts +1 -0
  703. package/features/users/DeleteUser/abstractions.js +2 -13
  704. package/features/users/DeleteUser/abstractions.js.map +1 -1
  705. package/features/users/DeleteUser/decorators/DeleteUserWithWcpDecrement.js +15 -16
  706. package/features/users/DeleteUser/decorators/DeleteUserWithWcpDecrement.js.map +1 -1
  707. package/features/users/DeleteUser/errors.js +7 -7
  708. package/features/users/DeleteUser/errors.js.map +1 -1
  709. package/features/users/DeleteUser/events.d.ts +6 -4
  710. package/features/users/DeleteUser/events.js +17 -14
  711. package/features/users/DeleteUser/events.js.map +1 -1
  712. package/features/users/DeleteUser/feature.d.ts +4 -1
  713. package/features/users/DeleteUser/feature.js +7 -6
  714. package/features/users/DeleteUser/feature.js.map +1 -1
  715. package/features/users/DeleteUser/index.js +0 -2
  716. package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.d.ts +3 -3
  717. package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.js +61 -75
  718. package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.js.map +1 -1
  719. package/features/users/ExternalIdpUserSync/feature.d.ts +4 -1
  720. package/features/users/ExternalIdpUserSync/feature.js +6 -5
  721. package/features/users/ExternalIdpUserSync/feature.js.map +1 -1
  722. package/features/users/ExternalIdpUserSync/index.js +0 -2
  723. package/features/users/GetIdentityProfile/GetIdentityProfileUseCase.js +29 -39
  724. package/features/users/GetIdentityProfile/GetIdentityProfileUseCase.js.map +1 -1
  725. package/features/users/GetIdentityProfile/abstractions.js +2 -11
  726. package/features/users/GetIdentityProfile/abstractions.js.map +1 -1
  727. package/features/users/GetIdentityProfile/feature.d.ts +4 -1
  728. package/features/users/GetIdentityProfile/feature.js +6 -5
  729. package/features/users/GetIdentityProfile/feature.js.map +1 -1
  730. package/features/users/GetIdentityProfile/index.js +0 -2
  731. package/features/users/GetIdentityProfile/types.js +0 -3
  732. package/features/users/GetUser/GetUserUseCase.js +19 -23
  733. package/features/users/GetUser/GetUserUseCase.js.map +1 -1
  734. package/features/users/GetUser/abstractions.d.ts +1 -0
  735. package/features/users/GetUser/abstractions.js +2 -11
  736. package/features/users/GetUser/abstractions.js.map +1 -1
  737. package/features/users/GetUser/feature.d.ts +4 -1
  738. package/features/users/GetUser/feature.js +6 -5
  739. package/features/users/GetUser/feature.js.map +1 -1
  740. package/features/users/GetUser/index.js +0 -2
  741. package/features/users/ListUserTeams/ListUserTeamsUseCase.js +33 -42
  742. package/features/users/ListUserTeams/ListUserTeamsUseCase.js.map +1 -1
  743. package/features/users/ListUserTeams/abstractions.d.ts +1 -0
  744. package/features/users/ListUserTeams/abstractions.js +2 -11
  745. package/features/users/ListUserTeams/abstractions.js.map +1 -1
  746. package/features/users/ListUserTeams/feature.d.ts +4 -1
  747. package/features/users/ListUserTeams/feature.js +6 -5
  748. package/features/users/ListUserTeams/feature.js.map +1 -1
  749. package/features/users/ListUserTeams/index.js +0 -2
  750. package/features/users/ListUsers/ListUsersUseCase.js +19 -23
  751. package/features/users/ListUsers/ListUsersUseCase.js.map +1 -1
  752. package/features/users/ListUsers/abstractions.d.ts +1 -0
  753. package/features/users/ListUsers/abstractions.js +2 -11
  754. package/features/users/ListUsers/abstractions.js.map +1 -1
  755. package/features/users/ListUsers/feature.d.ts +4 -1
  756. package/features/users/ListUsers/feature.js +6 -5
  757. package/features/users/ListUsers/feature.js.map +1 -1
  758. package/features/users/ListUsers/index.js +0 -2
  759. package/features/users/UpdateUser/UpdateUserUseCase.js +52 -74
  760. package/features/users/UpdateUser/UpdateUserUseCase.js.map +1 -1
  761. package/features/users/UpdateUser/abstractions.d.ts +1 -0
  762. package/features/users/UpdateUser/abstractions.js +2 -13
  763. package/features/users/UpdateUser/abstractions.js.map +1 -1
  764. package/features/users/UpdateUser/events.d.ts +6 -4
  765. package/features/users/UpdateUser/events.js +17 -14
  766. package/features/users/UpdateUser/events.js.map +1 -1
  767. package/features/users/UpdateUser/feature.d.ts +4 -1
  768. package/features/users/UpdateUser/feature.js +6 -5
  769. package/features/users/UpdateUser/feature.js.map +1 -1
  770. package/features/users/UpdateUser/index.js +0 -2
  771. package/features/users/UpdateUser/schema.d.ts +4 -30
  772. package/features/users/UpdateUser/schema.js +11 -10
  773. package/features/users/UpdateUser/schema.js.map +1 -1
  774. package/features/users/shared/AdminUsersRepository.js +104 -112
  775. package/features/users/shared/AdminUsersRepository.js.map +1 -1
  776. package/features/users/shared/abstractions.d.ts +1 -0
  777. package/features/users/shared/abstractions.js +2 -9
  778. package/features/users/shared/abstractions.js.map +1 -1
  779. package/features/users/shared/errors.js +40 -46
  780. package/features/users/shared/errors.js.map +1 -1
  781. package/features/users/shared/loaders.js +52 -66
  782. package/features/users/shared/loaders.js.map +1 -1
  783. package/features/users/shared/storageAbstractions.js +2 -2
  784. package/features/users/shared/storageAbstractions.js.map +1 -1
  785. package/features/users/shared/types.js +0 -3
  786. package/features/wcp/WcpContext/WcpContext.d.ts +10 -0
  787. package/features/wcp/WcpContext/WcpContext.js +153 -127
  788. package/features/wcp/WcpContext/WcpContext.js.map +1 -1
  789. package/features/wcp/WcpContext/abstractions.d.ts +1 -0
  790. package/features/wcp/WcpContext/abstractions.js +2 -6
  791. package/features/wcp/WcpContext/abstractions.js.map +1 -1
  792. package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.d.ts +108 -0
  793. package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.js +168 -0
  794. package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.js.map +1 -0
  795. package/features/wcp/WcpContext/feature.d.ts +5 -1
  796. package/features/wcp/WcpContext/feature.js +6 -5
  797. package/features/wcp/WcpContext/feature.js.map +1 -1
  798. package/features/wcp/WcpContext/index.js +0 -2
  799. package/features/wcp/WcpContext/types.js +0 -3
  800. package/features/wcp/WcpContext/utils.js +35 -53
  801. package/features/wcp/WcpContext/utils.js.map +1 -1
  802. package/features/wcp/WcpFeature.d.ts +4 -1
  803. package/features/wcp/WcpFeature.js +8 -5
  804. package/features/wcp/WcpFeature.js.map +1 -1
  805. package/features/webhooks/Webhook/WebhookProvider.d.ts +12 -0
  806. package/features/webhooks/Webhook/WebhookProvider.js +28 -0
  807. package/features/webhooks/Webhook/WebhookProvider.js.map +1 -0
  808. package/features/webhooks/Webhook/abstractions/WebhookFactory.d.ts +16 -0
  809. package/features/webhooks/Webhook/abstractions/WebhookFactory.js +5 -0
  810. package/features/webhooks/Webhook/abstractions/WebhookFactory.js.map +1 -0
  811. package/features/webhooks/Webhook/abstractions/WebhookProvider.d.ts +9 -0
  812. package/features/webhooks/Webhook/abstractions/WebhookProvider.js +5 -0
  813. package/features/webhooks/Webhook/abstractions/WebhookProvider.js.map +1 -0
  814. package/features/webhooks/Webhook/feature.d.ts +4 -0
  815. package/features/webhooks/Webhook/feature.js +11 -0
  816. package/features/webhooks/Webhook/feature.js.map +1 -0
  817. package/features/webhooks/Webhook/index.d.ts +2 -0
  818. package/features/webhooks/Webhook/index.js +2 -0
  819. package/features/webhooks/WebhookDispatcher/NullWebhookDispatcher.d.ts +8 -0
  820. package/features/webhooks/WebhookDispatcher/NullWebhookDispatcher.js +11 -0
  821. package/features/webhooks/WebhookDispatcher/NullWebhookDispatcher.js.map +1 -0
  822. package/features/webhooks/WebhookDispatcher/abstractions.d.ts +12 -0
  823. package/features/webhooks/WebhookDispatcher/abstractions.js +5 -0
  824. package/features/webhooks/WebhookDispatcher/abstractions.js.map +1 -0
  825. package/features/webhooks/WebhookSignPayload/abstractions.d.ts +14 -0
  826. package/features/webhooks/WebhookSignPayload/abstractions.js +5 -0
  827. package/features/webhooks/WebhookSignPayload/abstractions.js.map +1 -0
  828. package/features/webhooks/WebhookVerifyPayload/abstractions.d.ts +11 -0
  829. package/features/webhooks/WebhookVerifyPayload/abstractions.js +5 -0
  830. package/features/webhooks/WebhookVerifyPayload/abstractions.js.map +1 -0
  831. package/features/webhooks/index.d.ts +5 -0
  832. package/features/webhooks/index.js +5 -0
  833. package/graphql/security/NotAuthorizedResponse.d.ts +1 -0
  834. package/graphql/security/NotAuthorizedResponse.js +11 -13
  835. package/graphql/security/NotAuthorizedResponse.js.map +1 -1
  836. package/graphql/security/ProfileMapper.js +12 -11
  837. package/graphql/security/ProfileMapper.js.map +1 -1
  838. package/graphql/security/apiKey.gql.js +38 -47
  839. package/graphql/security/apiKey.gql.js.map +1 -1
  840. package/graphql/security/base.gql.js +11 -10
  841. package/graphql/security/base.gql.js.map +1 -1
  842. package/graphql/security/identity.gql.js +87 -97
  843. package/graphql/security/identity.gql.js.map +1 -1
  844. package/graphql/security/index.js +13 -8
  845. package/graphql/security/index.js.map +1 -1
  846. package/graphql/security/role.gql.js +49 -57
  847. package/graphql/security/role.gql.js.map +1 -1
  848. package/graphql/security/team.gql.js +61 -69
  849. package/graphql/security/team.gql.js.map +1 -1
  850. package/graphql/system/createSystemGraphQL.js +31 -34
  851. package/graphql/system/createSystemGraphQL.js.map +1 -1
  852. package/graphql/users/user.gql.js +87 -105
  853. package/graphql/users/user.gql.js.map +1 -1
  854. package/graphql/wcp/graphql.js +27 -28
  855. package/graphql/wcp/graphql.js.map +1 -1
  856. package/idp/JwksCache.js +22 -28
  857. package/idp/JwksCache.js.map +1 -1
  858. package/idp/JwtAuthenticator.js +34 -46
  859. package/idp/JwtAuthenticator.js.map +1 -1
  860. package/idp/OidcJwtIdentityProvider.js +55 -82
  861. package/idp/OidcJwtIdentityProvider.js.map +1 -1
  862. package/idp/abstractions.d.ts +4 -0
  863. package/idp/abstractions.js +5 -10
  864. package/idp/abstractions.js.map +1 -1
  865. package/idp/feature.d.ts +4 -1
  866. package/idp/feature.js +8 -7
  867. package/idp/feature.js.map +1 -1
  868. package/idp/index.js +1 -3
  869. package/idp/types.js +0 -3
  870. package/index.js +0 -2
  871. package/legacy/security/LegacyContext.js +133 -186
  872. package/legacy/security/LegacyContext.js.map +1 -1
  873. package/legacy/security/createSecurityContext.js +4 -19
  874. package/legacy/security/createSecurityContext.js.map +1 -1
  875. package/legacy/security/plugins/apiKeyAuthentication.d.ts +1 -1
  876. package/legacy/security/plugins/apiKeyAuthentication.js +15 -24
  877. package/legacy/security/plugins/apiKeyAuthentication.js.map +1 -1
  878. package/legacy/security/plugins/apiKeyAuthorization.d.ts +1 -1
  879. package/legacy/security/plugins/apiKeyAuthorization.js +9 -18
  880. package/legacy/security/plugins/apiKeyAuthorization.js.map +1 -1
  881. package/legacy/security/plugins/authenticateUsingCookie.d.ts +1 -1
  882. package/legacy/security/plugins/authenticateUsingCookie.js +18 -22
  883. package/legacy/security/plugins/authenticateUsingCookie.js.map +1 -1
  884. package/legacy/security/plugins/authenticateUsingHttpHeader.d.ts +1 -1
  885. package/legacy/security/plugins/authenticateUsingHttpHeader.js +15 -18
  886. package/legacy/security/plugins/authenticateUsingHttpHeader.js.map +1 -1
  887. package/legacy/security/plugins/secureHeaders.js +28 -21
  888. package/legacy/security/plugins/secureHeaders.js.map +1 -1
  889. package/legacy/tenancy/LegacyContext.js +45 -52
  890. package/legacy/tenancy/LegacyContext.js.map +1 -1
  891. package/legacy/tenancy/createTenancyContext.js +22 -42
  892. package/legacy/tenancy/createTenancyContext.js.map +1 -1
  893. package/legacy/users/LegacyContext.js +39 -54
  894. package/legacy/users/LegacyContext.js.map +1 -1
  895. package/legacy/users/createAdminUsersContext.js +7 -7
  896. package/legacy/users/createAdminUsersContext.js.map +1 -1
  897. package/legacy/wcp/LegacyWcpContext.d.ts +10 -0
  898. package/legacy/wcp/LegacyWcpContext.js +95 -64
  899. package/legacy/wcp/LegacyWcpContext.js.map +1 -1
  900. package/legacy/wcp/context.d.ts +1 -3
  901. package/legacy/wcp/context.js +33 -37
  902. package/legacy/wcp/context.js.map +1 -1
  903. package/models/base/BaseModel.js +51 -56
  904. package/models/base/BaseModel.js.map +1 -1
  905. package/models/base/ModelBuilder.d.ts +2 -2
  906. package/models/base/ModelBuilder.js +66 -60
  907. package/models/base/ModelBuilder.js.map +1 -1
  908. package/models/base/ModelFactory.js +0 -3
  909. package/models/base/__tests__/ModelBuilder.test.js +437 -454
  910. package/models/base/__tests__/ModelBuilder.test.js.map +1 -1
  911. package/models/base/abstractions.js +0 -3
  912. package/models/cms/FieldBuilder.d.ts +3 -2
  913. package/models/cms/FieldBuilder.js +112 -126
  914. package/models/cms/FieldBuilder.js.map +1 -1
  915. package/models/cms/FieldBuilderRegistry.d.ts +1 -1
  916. package/models/cms/FieldBuilderRegistry.js +13 -12
  917. package/models/cms/FieldBuilderRegistry.js.map +1 -1
  918. package/models/cms/FieldDefinitionsBuilder.d.ts +1 -0
  919. package/models/cms/FieldDefinitionsBuilder.js +37 -56
  920. package/models/cms/FieldDefinitionsBuilder.js.map +1 -1
  921. package/models/cms/PrivateCmsModelBuilder.js +84 -89
  922. package/models/cms/PrivateCmsModelBuilder.js.map +1 -1
  923. package/models/cms/PrivatePage/Page.fields.js +7 -6
  924. package/models/cms/PrivatePage/Page.fields.js.map +1 -1
  925. package/models/cms/PrivatePage/PageModelBuilder.js +18 -15
  926. package/models/cms/PrivatePage/PageModelBuilder.js.map +1 -1
  927. package/models/cms/PrivatePage/PageModelFactory.js +20 -25
  928. package/models/cms/PrivatePage/PageModelFactory.js.map +1 -1
  929. package/models/cms/PrivatePage/__tests__/PageModelFactory.test.js +218 -234
  930. package/models/cms/PrivatePage/__tests__/PageModelFactory.test.js.map +1 -1
  931. package/models/cms/PrivatePage/__tests__/PagePublishingDecorator.js +33 -36
  932. package/models/cms/PrivatePage/__tests__/PagePublishingDecorator.js.map +1 -1
  933. package/models/cms/PrivatePage/__tests__/PageSeoDecorator.js +25 -26
  934. package/models/cms/PrivatePage/__tests__/PageSeoDecorator.js.map +1 -1
  935. package/models/cms/PrivatePage/abstractions.js +3 -9
  936. package/models/cms/PrivatePage/abstractions.js.map +1 -1
  937. package/models/cms/__tests__/PrivateCmsModelBuilder.test.js +173 -185
  938. package/models/cms/__tests__/PrivateCmsModelBuilder.test.js.map +1 -1
  939. package/models/cms/abstractions.d.ts +1 -1
  940. package/models/cms/abstractions.js +3 -20
  941. package/models/cms/abstractions.js.map +1 -1
  942. package/models/cms/fieldsBuilder.md +4 -2
  943. package/models/cms/types.js +0 -3
  944. package/models/simple/Page/PageModelBuilder.js +15 -14
  945. package/models/simple/Page/PageModelBuilder.js.map +1 -1
  946. package/models/simple/Page/PageModelFactory.js +16 -15
  947. package/models/simple/Page/PageModelFactory.js.map +1 -1
  948. package/models/simple/Page/__tests__/PageModelBuilderDecorator.js +21 -20
  949. package/models/simple/Page/__tests__/PageModelBuilderDecorator.js.map +1 -1
  950. package/models/simple/Page/__tests__/PageModelBuilderDecorator2.js +17 -16
  951. package/models/simple/Page/__tests__/PageModelBuilderDecorator2.js.map +1 -1
  952. package/models/simple/Page/__tests__/PageModelFactory.test.js +28 -28
  953. package/models/simple/Page/__tests__/PageModelFactory.test.js.map +1 -1
  954. package/models/simple/Page/abstractions.d.ts +1 -11
  955. package/models/simple/Page/abstractions.js +9 -8
  956. package/models/simple/Page/abstractions.js.map +1 -1
  957. package/package.json +30 -73
  958. package/types/core.js +0 -3
  959. package/types/security.d.ts +14 -11
  960. package/types/security.js +0 -3
  961. package/types/tenancy.js +0 -3
  962. package/types/users.js +0 -3
  963. package/domain/tenancy/errors.js.map +0 -1
  964. package/exports/api/buildParams.js.map +0 -1
  965. package/exports/api/eventPublisher.js.map +0 -1
  966. package/exports/api/graphql.js.map +0 -1
  967. package/exports/api/keyValueStore.js.map +0 -1
  968. package/exports/api/logger.js.map +0 -1
  969. package/exports/api/security/apiKey.d.ts +0 -7
  970. package/exports/api/security/apiKey.js +0 -9
  971. package/exports/api/security/apiKey.js.map +0 -1
  972. package/exports/api/security/authentication.js.map +0 -1
  973. package/exports/api/security/role.js.map +0 -1
  974. package/exports/api/security/user.js.map +0 -1
  975. package/exports/api/security.js.map +0 -1
  976. package/exports/api/system.js.map +0 -1
  977. package/exports/api/tasks.js.map +0 -1
  978. package/exports/api/tenancy.js.map +0 -1
  979. package/extensions/BuildParam.d.ts +0 -11
  980. package/extensions/BuildParam.js +0 -119
  981. package/extensions/BuildParam.js.map +0 -1
  982. package/extensions/GenericExtension.d.ts +0 -10
  983. package/extensions/GenericExtension.js +0 -7
  984. package/extensions/GenericExtension.js.map +0 -1
  985. package/extensions/eventHandlers/AfterAuthentication.d.ts +0 -10
  986. package/extensions/eventHandlers/AfterAuthentication.js +0 -9
  987. package/extensions/eventHandlers/AfterAuthentication.js.map +0 -1
  988. package/extensions/eventHandlers/ApiKeyAfterCreate.d.ts +0 -10
  989. package/extensions/eventHandlers/ApiKeyAfterCreate.js +0 -9
  990. package/extensions/eventHandlers/ApiKeyAfterCreate.js.map +0 -1
  991. package/extensions/eventHandlers/ApiKeyAfterDelete.d.ts +0 -10
  992. package/extensions/eventHandlers/ApiKeyAfterDelete.js +0 -9
  993. package/extensions/eventHandlers/ApiKeyAfterDelete.js.map +0 -1
  994. package/extensions/eventHandlers/ApiKeyAfterUpdate.d.ts +0 -10
  995. package/extensions/eventHandlers/ApiKeyAfterUpdate.js +0 -9
  996. package/extensions/eventHandlers/ApiKeyAfterUpdate.js.map +0 -1
  997. package/extensions/eventHandlers/ApiKeyBeforeCreate.d.ts +0 -10
  998. package/extensions/eventHandlers/ApiKeyBeforeCreate.js +0 -9
  999. package/extensions/eventHandlers/ApiKeyBeforeCreate.js.map +0 -1
  1000. package/extensions/eventHandlers/ApiKeyBeforeDelete.d.ts +0 -10
  1001. package/extensions/eventHandlers/ApiKeyBeforeDelete.js +0 -9
  1002. package/extensions/eventHandlers/ApiKeyBeforeDelete.js.map +0 -1
  1003. package/extensions/eventHandlers/ApiKeyBeforeUpdate.d.ts +0 -10
  1004. package/extensions/eventHandlers/ApiKeyBeforeUpdate.js +0 -9
  1005. package/extensions/eventHandlers/ApiKeyBeforeUpdate.js.map +0 -1
  1006. package/extensions/eventHandlers/BeforeAuthentication.d.ts +0 -10
  1007. package/extensions/eventHandlers/BeforeAuthentication.js +0 -9
  1008. package/extensions/eventHandlers/BeforeAuthentication.js.map +0 -1
  1009. package/extensions/eventHandlers/RoleAfterCreate.d.ts +0 -10
  1010. package/extensions/eventHandlers/RoleAfterCreate.js +0 -9
  1011. package/extensions/eventHandlers/RoleAfterCreate.js.map +0 -1
  1012. package/extensions/eventHandlers/RoleAfterDelete.d.ts +0 -10
  1013. package/extensions/eventHandlers/RoleAfterDelete.js +0 -9
  1014. package/extensions/eventHandlers/RoleAfterDelete.js.map +0 -1
  1015. package/extensions/eventHandlers/RoleAfterUpdate.d.ts +0 -10
  1016. package/extensions/eventHandlers/RoleAfterUpdate.js +0 -9
  1017. package/extensions/eventHandlers/RoleAfterUpdate.js.map +0 -1
  1018. package/extensions/eventHandlers/RoleBeforeCreate.d.ts +0 -10
  1019. package/extensions/eventHandlers/RoleBeforeCreate.js +0 -9
  1020. package/extensions/eventHandlers/RoleBeforeCreate.js.map +0 -1
  1021. package/extensions/eventHandlers/RoleBeforeDelete.d.ts +0 -10
  1022. package/extensions/eventHandlers/RoleBeforeDelete.js +0 -9
  1023. package/extensions/eventHandlers/RoleBeforeDelete.js.map +0 -1
  1024. package/extensions/eventHandlers/RoleBeforeUpdate.d.ts +0 -10
  1025. package/extensions/eventHandlers/RoleBeforeUpdate.js +0 -9
  1026. package/extensions/eventHandlers/RoleBeforeUpdate.js.map +0 -1
  1027. package/extensions/eventHandlers/SystemInstalled.d.ts +0 -10
  1028. package/extensions/eventHandlers/SystemInstalled.js +0 -9
  1029. package/extensions/eventHandlers/SystemInstalled.js.map +0 -1
  1030. package/extensions/eventHandlers/TeamAfterCreate.d.ts +0 -10
  1031. package/extensions/eventHandlers/TeamAfterCreate.js +0 -9
  1032. package/extensions/eventHandlers/TeamAfterCreate.js.map +0 -1
  1033. package/extensions/eventHandlers/TeamAfterDelete.d.ts +0 -10
  1034. package/extensions/eventHandlers/TeamAfterDelete.js +0 -9
  1035. package/extensions/eventHandlers/TeamAfterDelete.js.map +0 -1
  1036. package/extensions/eventHandlers/TeamAfterUpdate.d.ts +0 -10
  1037. package/extensions/eventHandlers/TeamAfterUpdate.js +0 -9
  1038. package/extensions/eventHandlers/TeamAfterUpdate.js.map +0 -1
  1039. package/extensions/eventHandlers/TeamBeforeCreate.d.ts +0 -10
  1040. package/extensions/eventHandlers/TeamBeforeCreate.js +0 -9
  1041. package/extensions/eventHandlers/TeamBeforeCreate.js.map +0 -1
  1042. package/extensions/eventHandlers/TeamBeforeDelete.d.ts +0 -10
  1043. package/extensions/eventHandlers/TeamBeforeDelete.js +0 -9
  1044. package/extensions/eventHandlers/TeamBeforeDelete.js.map +0 -1
  1045. package/extensions/eventHandlers/TeamBeforeUpdate.d.ts +0 -10
  1046. package/extensions/eventHandlers/TeamBeforeUpdate.js +0 -9
  1047. package/extensions/eventHandlers/TeamBeforeUpdate.js.map +0 -1
  1048. package/extensions/eventHandlers/TenantAfterCreate.d.ts +0 -10
  1049. package/extensions/eventHandlers/TenantAfterCreate.js +0 -9
  1050. package/extensions/eventHandlers/TenantAfterCreate.js.map +0 -1
  1051. package/extensions/eventHandlers/TenantAfterDelete.d.ts +0 -10
  1052. package/extensions/eventHandlers/TenantAfterDelete.js +0 -9
  1053. package/extensions/eventHandlers/TenantAfterDelete.js.map +0 -1
  1054. package/extensions/eventHandlers/TenantAfterUpdate.d.ts +0 -10
  1055. package/extensions/eventHandlers/TenantAfterUpdate.js +0 -9
  1056. package/extensions/eventHandlers/TenantAfterUpdate.js.map +0 -1
  1057. package/extensions/eventHandlers/TenantBeforeCreate.d.ts +0 -10
  1058. package/extensions/eventHandlers/TenantBeforeCreate.js +0 -9
  1059. package/extensions/eventHandlers/TenantBeforeCreate.js.map +0 -1
  1060. package/extensions/eventHandlers/TenantBeforeDelete.d.ts +0 -10
  1061. package/extensions/eventHandlers/TenantBeforeDelete.js +0 -9
  1062. package/extensions/eventHandlers/TenantBeforeDelete.js.map +0 -1
  1063. package/extensions/eventHandlers/TenantBeforeUpdate.d.ts +0 -10
  1064. package/extensions/eventHandlers/TenantBeforeUpdate.js +0 -9
  1065. package/extensions/eventHandlers/TenantBeforeUpdate.js.map +0 -1
  1066. package/extensions/eventHandlers/TenantInstalled.d.ts +0 -10
  1067. package/extensions/eventHandlers/TenantInstalled.js +0 -9
  1068. package/extensions/eventHandlers/TenantInstalled.js.map +0 -1
  1069. package/extensions/eventHandlers/UserAfterCreate.d.ts +0 -10
  1070. package/extensions/eventHandlers/UserAfterCreate.js +0 -9
  1071. package/extensions/eventHandlers/UserAfterCreate.js.map +0 -1
  1072. package/extensions/eventHandlers/UserAfterDelete.d.ts +0 -10
  1073. package/extensions/eventHandlers/UserAfterDelete.js +0 -9
  1074. package/extensions/eventHandlers/UserAfterDelete.js.map +0 -1
  1075. package/extensions/eventHandlers/UserAfterUpdate.d.ts +0 -10
  1076. package/extensions/eventHandlers/UserAfterUpdate.js +0 -9
  1077. package/extensions/eventHandlers/UserAfterUpdate.js.map +0 -1
  1078. package/extensions/eventHandlers/UserBeforeCreate.d.ts +0 -10
  1079. package/extensions/eventHandlers/UserBeforeCreate.js +0 -9
  1080. package/extensions/eventHandlers/UserBeforeCreate.js.map +0 -1
  1081. package/extensions/eventHandlers/UserBeforeDelete.d.ts +0 -10
  1082. package/extensions/eventHandlers/UserBeforeDelete.js +0 -9
  1083. package/extensions/eventHandlers/UserBeforeDelete.js.map +0 -1
  1084. package/extensions/eventHandlers/UserBeforeUpdate.d.ts +0 -10
  1085. package/extensions/eventHandlers/UserBeforeUpdate.js +0 -9
  1086. package/extensions/eventHandlers/UserBeforeUpdate.js.map +0 -1
  1087. package/extensions/eventHandlers/index.d.ts +0 -34
  1088. package/extensions/eventHandlers/index.js +0 -49
  1089. package/extensions/eventHandlers/index.js.map +0 -1
  1090. package/extensions/index.d.ts +0 -58
  1091. package/extensions/index.js +0 -49
  1092. package/extensions/index.js.map +0 -1
  1093. package/features/buildParams/index.js.map +0 -1
  1094. package/features/eventPublisher/index.js.map +0 -1
  1095. package/features/keyValueStore/index.js.map +0 -1
  1096. package/features/logger/index.js.map +0 -1
  1097. package/features/security/IdentityContext/index.js.map +0 -1
  1098. package/features/security/apiKeys/CreateApiKey/index.js.map +0 -1
  1099. package/features/security/apiKeys/DeleteApiKey/index.js.map +0 -1
  1100. package/features/security/apiKeys/GetApiKey/index.js.map +0 -1
  1101. package/features/security/apiKeys/GetApiKeyBySlug/index.js.map +0 -1
  1102. package/features/security/apiKeys/GetApiKeyByToken/index.js.map +0 -1
  1103. package/features/security/apiKeys/ListApiKeys/index.js.map +0 -1
  1104. package/features/security/apiKeys/UpdateApiKey/index.js.map +0 -1
  1105. package/features/security/apiKeys/shared/types.js.map +0 -1
  1106. package/features/security/authentication/AuthenticationContext/index.js.map +0 -1
  1107. package/features/security/authentication/Authenticator/index.js.map +0 -1
  1108. package/features/security/authorization/AuthorizationContext/index.js.map +0 -1
  1109. package/features/security/authorization/Authorizer/index.js.map +0 -1
  1110. package/features/security/login/index.js.map +0 -1
  1111. package/features/security/roles/CreateRole/index.js.map +0 -1
  1112. package/features/security/roles/DeleteRole/index.js.map +0 -1
  1113. package/features/security/roles/GetRole/index.js.map +0 -1
  1114. package/features/security/roles/ListRoles/index.js.map +0 -1
  1115. package/features/security/roles/UpdateRole/index.js.map +0 -1
  1116. package/features/security/roles/shared/types.js.map +0 -1
  1117. package/features/security/shared/abstractions.ts.bak +0 -52
  1118. package/features/security/shared/index.js.map +0 -1
  1119. package/features/security/teams/CreateTeam/index.js.map +0 -1
  1120. package/features/security/teams/DeleteTeam/index.js.map +0 -1
  1121. package/features/security/teams/GetTeam/index.js.map +0 -1
  1122. package/features/security/teams/ListTeams/index.js.map +0 -1
  1123. package/features/security/teams/UpdateTeam/index.js.map +0 -1
  1124. package/features/security/teams/shared/types.js.map +0 -1
  1125. package/features/system/InstallSystem/index.js.map +0 -1
  1126. package/features/task/TaskController/index.js.map +0 -1
  1127. package/features/task/TaskDefinition/index.js.map +0 -1
  1128. package/features/task/TaskService/index.js.map +0 -1
  1129. package/features/tenancy/CreateTenant/index.js.map +0 -1
  1130. package/features/tenancy/DeleteTenant/index.js.map +0 -1
  1131. package/features/tenancy/GetRootTenant/index.js.map +0 -1
  1132. package/features/tenancy/GetTenantById/index.js.map +0 -1
  1133. package/features/tenancy/InstallTenant/index.js.map +0 -1
  1134. package/features/tenancy/ListTenants/index.js.map +0 -1
  1135. package/features/tenancy/TenantContext/index.js.map +0 -1
  1136. package/features/tenancy/UpdateTenant/index.js.map +0 -1
  1137. package/features/users/CreateUser/index.js.map +0 -1
  1138. package/features/users/DeleteUser/index.js.map +0 -1
  1139. package/features/users/ExternalIdpUserSync/index.js.map +0 -1
  1140. package/features/users/GetIdentityProfile/index.js.map +0 -1
  1141. package/features/users/GetIdentityProfile/types.js.map +0 -1
  1142. package/features/users/GetUser/index.js.map +0 -1
  1143. package/features/users/ListUserTeams/index.js.map +0 -1
  1144. package/features/users/ListUsers/index.js.map +0 -1
  1145. package/features/users/UpdateUser/index.js.map +0 -1
  1146. package/features/users/shared/types.js.map +0 -1
  1147. package/features/wcp/WcpContext/index.js.map +0 -1
  1148. package/features/wcp/WcpContext/types.js.map +0 -1
  1149. package/idp/index.js.map +0 -1
  1150. package/idp/types.js.map +0 -1
  1151. package/index.js.map +0 -1
  1152. package/legacy/security/plugins/SecurityRolePlugin.d.ts +0 -16
  1153. package/legacy/security/plugins/SecurityRolePlugin.js +0 -33
  1154. package/legacy/security/plugins/SecurityRolePlugin.js.map +0 -1
  1155. package/legacy/security/plugins/SecurityTeamPlugin.d.ts +0 -16
  1156. package/legacy/security/plugins/SecurityTeamPlugin.js +0 -33
  1157. package/legacy/security/plugins/SecurityTeamPlugin.js.map +0 -1
  1158. package/models/base/ModelFactory.js.map +0 -1
  1159. package/models/base/abstractions.js.map +0 -1
  1160. package/models/cms/types.js.map +0 -1
  1161. package/types/core.js.map +0 -1
  1162. package/types/security.js.map +0 -1
  1163. package/types/tenancy.js.map +0 -1
  1164. package/types/users.js.map +0 -1
  1165. /package/exports/api/{buildParams.d.ts → build-params.js} +0 -0
  1166. /package/exports/api/{eventPublisher.d.ts → event-publisher.js} +0 -0
  1167. /package/exports/api/{keyValueStore.d.ts → key-value-store.js} +0 -0
@@ -3,10 +3,10 @@ import { GraphQLSchemaPlugin } from "@webiny/handler-graphql/plugins/GraphQLSche
3
3
  import { GetUserUseCase } from "../../features/users/GetUser/index.js";
4
4
  import NotAuthorizedResponse from "../security/NotAuthorizedResponse.js";
5
5
  import { ListUsersUseCase } from "../../features/users/ListUsers/index.js";
6
- const emptyResolver = () => ({});
7
- export const createUsersGraphQL = () => {
8
- return [new GraphQLSchemaPlugin({
9
- typeDefs: /* GraphQL */`
6
+ const emptyResolver = ()=>({});
7
+ const createUsersGraphQL = ()=>[
8
+ new GraphQLSchemaPlugin({
9
+ typeDefs: `
10
10
  type AdminUsersQuery {
11
11
  _empty: String
12
12
  }
@@ -40,16 +40,17 @@ export const createUsersGraphQL = () => {
40
40
  error: AdminUsersError
41
41
  }
42
42
  `,
43
- resolvers: {
44
- Query: {
45
- adminUsers: emptyResolver
46
- },
47
- Mutation: {
48
- adminUsers: emptyResolver
49
- }
50
- }
51
- }), new GraphQLSchemaPlugin({
52
- typeDefs: /* GraphQL */`
43
+ resolvers: {
44
+ Query: {
45
+ adminUsers: emptyResolver
46
+ },
47
+ Mutation: {
48
+ adminUsers: emptyResolver
49
+ }
50
+ }
51
+ }),
52
+ new GraphQLSchemaPlugin({
53
+ typeDefs: `
53
54
  type AdminUser {
54
55
  id: ID!
55
56
  displayName: String!
@@ -84,102 +85,83 @@ export const createUsersGraphQL = () => {
84
85
  listUsers: AdminUsersListResponse
85
86
  }
86
87
  `,
87
- resolvers: {
88
- AdminUser: {
89
- roles(user, _, context) {
90
- if (!user.roles) {
91
- return null;
92
- }
93
- return context.security.listRoles({
94
- where: {
95
- id_in: user.roles
96
- }
97
- });
98
- }
99
- },
100
- AdminUsersQuery: {
101
- getUser: async (_, {
102
- where
103
- }, context) => {
104
- const getUser = context.container.resolve(GetUserUseCase);
105
- const userResult = await getUser.execute({
106
- id: where.id,
107
- email: where.email
108
- });
109
- if (userResult.isFail()) {
110
- const error = userResult.error;
111
- if (error.code === "AdminUser/NotFound") {
112
- return new NotFoundResponse(`User "${JSON.stringify(where)}" was not found!`);
113
- }
114
- return new ErrorResponse({
115
- message: error.message,
116
- code: error.code,
117
- data: error.data
118
- });
119
- }
120
- return new Response(userResult.value);
121
- },
122
- getCurrentUser: async (_, __, context) => {
123
- const identity = context.security.getIdentity();
124
- if (!identity.isAdmin()) {
125
- throw new NotAuthorizedResponse();
126
- }
127
-
128
- // Current user might not have permissions to execute `getUser` (this method can load any user in the system),
129
- // but loading your own user record should be allowed. For that reason, let's temporarily disable authorization.
130
-
131
- const getUser = context.container.resolve(GetUserUseCase);
132
- const userResponse = await context.security.withoutAuthorization(async () => {
133
- // Get user record using the identity ID.
134
- return await getUser.execute({
135
- id: identity.id
136
- });
137
- });
138
- if (userResponse.isFail()) {
139
- const error = userResponse.error;
140
- if (error.code === "AdminUser/NotFound") {
141
- return new NotFoundResponse(`User with ID ${identity.id} was not found!`);
88
+ resolvers: {
89
+ AdminUser: {
90
+ roles (user, _, context) {
91
+ if (!user.roles) return null;
92
+ return context.security.listRoles({
93
+ where: {
94
+ id_in: user.roles
95
+ }
96
+ });
97
+ }
98
+ },
99
+ AdminUsersQuery: {
100
+ getUser: async (_, { where }, context)=>{
101
+ const getUser = context.container.resolve(GetUserUseCase);
102
+ const userResult = await getUser.execute({
103
+ id: where.id,
104
+ email: where.email
105
+ });
106
+ if (userResult.isFail()) {
107
+ const error = userResult.error;
108
+ if ("AdminUser/NotFound" === error.code) return new NotFoundResponse(`User "${JSON.stringify(where)}" was not found!`);
109
+ return new ErrorResponse({
110
+ message: error.message,
111
+ code: error.code,
112
+ data: error.data
113
+ });
114
+ }
115
+ return new Response(userResult.value);
116
+ },
117
+ getCurrentUser: async (_, __, context)=>{
118
+ const identity = context.security.getIdentity();
119
+ if (!identity.isAdmin()) throw new NotAuthorizedResponse();
120
+ const getUser = context.container.resolve(GetUserUseCase);
121
+ const userResponse = await context.security.withoutAuthorization(async ()=>await getUser.execute({
122
+ id: identity.id
123
+ }));
124
+ if (userResponse.isFail()) {
125
+ const error = userResponse.error;
126
+ if ("AdminUser/NotFound" === error.code) return new NotFoundResponse(`User with ID ${identity.id} was not found!`);
127
+ return new ErrorResponse({
128
+ message: error.message,
129
+ code: error.code,
130
+ data: error.data
131
+ });
132
+ }
133
+ return new Response(userResponse.value);
134
+ },
135
+ listUsers: async (_, __, context)=>{
136
+ const listUsers = context.container.resolve(ListUsersUseCase);
137
+ const users = await listUsers.execute();
138
+ if (users.isFail()) return new ListErrorResponse(users.error);
139
+ return new ListResponse(users.value);
140
+ }
141
+ }
142
142
  }
143
- return new ErrorResponse({
144
- message: error.message,
145
- code: error.code,
146
- data: error.data
147
- });
148
- }
149
- return new Response(userResponse.value);
150
- },
151
- listUsers: async (_, __, context) => {
152
- const listUsers = context.container.resolve(ListUsersUseCase);
153
- const users = await listUsers.execute();
154
- if (users.isFail()) {
155
- return new ListErrorResponse(users.error);
156
- }
157
- return new ListResponse(users.value);
158
- }
159
- }
160
- }
161
- }), new GraphQLSchemaPlugin({
162
- typeDefs: /* GraphQL */`
143
+ }),
144
+ new GraphQLSchemaPlugin({
145
+ typeDefs: `
163
146
  extend type AdminUser {
164
147
  teams: [SecurityTeam]
165
148
  }
166
149
  `,
167
- resolvers: {
168
- AdminUser: {
169
- teams(user, _, context) {
170
- const hasTeams = Array.isArray(user.teams) && user.teams.length > 0;
171
- if (!hasTeams) {
172
- return [];
173
- }
174
- return context.security.listTeams({
175
- where: {
176
- id_in: user.teams
150
+ resolvers: {
151
+ AdminUser: {
152
+ teams (user, _, context) {
153
+ const hasTeams = Array.isArray(user.teams) && user.teams.length > 0;
154
+ if (!hasTeams) return [];
155
+ return context.security.listTeams({
156
+ where: {
157
+ id_in: user.teams
158
+ }
159
+ });
160
+ }
161
+ }
177
162
  }
178
- });
179
- }
180
- }
181
- }
182
- })].filter(Boolean);
183
- };
163
+ })
164
+ ].filter(Boolean);
165
+ export { createUsersGraphQL };
184
166
 
185
167
  //# sourceMappingURL=user.gql.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ErrorResponse","ListErrorResponse","ListResponse","NotFoundResponse","Response","GraphQLSchemaPlugin","GetUserUseCase","NotAuthorizedResponse","ListUsersUseCase","emptyResolver","createUsersGraphQL","typeDefs","resolvers","Query","adminUsers","Mutation","AdminUser","roles","user","_","context","security","listRoles","where","id_in","AdminUsersQuery","getUser","container","resolve","userResult","execute","id","email","isFail","error","code","JSON","stringify","message","data","value","getCurrentUser","__","identity","getIdentity","isAdmin","userResponse","withoutAuthorization","listUsers","users","teams","hasTeams","Array","isArray","length","listTeams","filter","Boolean"],"sources":["user.gql.ts"],"sourcesContent":["import {\n ErrorResponse,\n ListErrorResponse,\n ListResponse,\n NotFoundResponse,\n Response\n} from \"@webiny/handler-graphql/responses.js\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin.js\";\nimport type { ApiCoreContext } from \"~/types/core.js\";\nimport { AdminUser } from \"~/types/users.js\";\nimport { GetUserUseCase } from \"~/features/users/GetUser/index.js\";\nimport NotAuthorizedResponse from \"~/graphql/security/NotAuthorizedResponse.js\";\nimport { ListUsersUseCase } from \"~/features/users/ListUsers/index.js\";\n\nconst emptyResolver = () => ({});\n\nexport const createUsersGraphQL = () => {\n return [\n new GraphQLSchemaPlugin<ApiCoreContext>({\n typeDefs: /* GraphQL */ `\n type AdminUsersQuery {\n _empty: String\n }\n\n type AdminUsersMutation {\n _empty: String\n }\n\n extend type Query {\n adminUsers: AdminUsersQuery\n }\n\n extend type Mutation {\n adminUsers: AdminUsersMutation\n }\n\n type AdminUsersCreatedBy {\n id: ID\n displayName: String\n }\n\n type AdminUsersError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type AdminUsersBooleanResponse {\n data: Boolean\n error: AdminUsersError\n }\n `,\n resolvers: {\n Query: {\n adminUsers: emptyResolver\n },\n Mutation: {\n adminUsers: emptyResolver\n }\n }\n }),\n new GraphQLSchemaPlugin<ApiCoreContext>({\n typeDefs: /* GraphQL */ `\n type AdminUser {\n id: ID!\n displayName: String!\n email: String!\n\n roles: [SecurityRole]\n firstName: String\n lastName: String\n avatar: JSON\n external: Boolean\n createdOn: DateTime\n }\n\n type AdminUsersResponse {\n data: AdminUser\n error: AdminUsersError\n }\n\n type AdminUsersListResponse {\n data: [AdminUser]\n error: AdminUsersError\n }\n\n input AdminUsersGetUserWhereInput {\n id: ID\n email: String\n }\n\n extend type AdminUsersQuery {\n getUser(where: AdminUsersGetUserWhereInput): AdminUsersResponse\n getCurrentUser: AdminUsersResponse\n listUsers: AdminUsersListResponse\n }\n `,\n resolvers: {\n AdminUser: {\n roles(user: AdminUser, _, context) {\n if (!user.roles) {\n return null;\n }\n\n return context.security.listRoles({ where: { id_in: user.roles } });\n }\n },\n AdminUsersQuery: {\n getUser: async (_, { where }: any, context) => {\n const getUser = context.container.resolve(GetUserUseCase);\n\n const userResult = await getUser.execute({\n id: where.id,\n email: where.email\n });\n\n if (userResult.isFail()) {\n const error = userResult.error;\n if (error.code === \"AdminUser/NotFound\") {\n return new NotFoundResponse(\n `User \"${JSON.stringify(where)}\" was not found!`\n );\n }\n\n return new ErrorResponse({\n message: error.message,\n code: error.code,\n data: error.data\n });\n }\n\n return new Response(userResult.value);\n },\n getCurrentUser: async (_, __, context) => {\n const identity = context.security.getIdentity();\n\n if (!identity.isAdmin()) {\n throw new NotAuthorizedResponse();\n }\n\n // Current user might not have permissions to execute `getUser` (this method can load any user in the system),\n // but loading your own user record should be allowed. For that reason, let's temporarily disable authorization.\n\n const getUser = context.container.resolve(GetUserUseCase);\n\n const userResponse = await context.security.withoutAuthorization(\n async () => {\n // Get user record using the identity ID.\n return await getUser.execute({ id: identity.id });\n }\n );\n\n if (userResponse.isFail()) {\n const error = userResponse.error;\n if (error.code === \"AdminUser/NotFound\") {\n return new NotFoundResponse(\n `User with ID ${identity.id} was not found!`\n );\n }\n\n return new ErrorResponse({\n message: error.message,\n code: error.code,\n data: error.data\n });\n }\n\n return new Response(userResponse.value);\n },\n listUsers: async (_, __, context) => {\n const listUsers = context.container.resolve(ListUsersUseCase);\n const users = await listUsers.execute();\n\n if (users.isFail()) {\n return new ListErrorResponse(users.error);\n }\n\n return new ListResponse(users.value);\n }\n }\n }\n }),\n new GraphQLSchemaPlugin<ApiCoreContext>({\n typeDefs: /* GraphQL */ `\n extend type AdminUser {\n teams: [SecurityTeam]\n }\n `,\n resolvers: {\n AdminUser: {\n teams(user: AdminUser, _, context) {\n const hasTeams = Array.isArray(user.teams) && user.teams.length > 0;\n if (!hasTeams) {\n return [];\n }\n\n return context.security.listTeams({ where: { id_in: user.teams } });\n }\n }\n }\n })\n ].filter(Boolean);\n};\n"],"mappings":"AAAA,SACIA,aAAa,EACbC,iBAAiB,EACjBC,YAAY,EACZC,gBAAgB,EAChBC,QAAQ,QACL,sCAAsC;AAC7C,SAASC,mBAAmB,QAAQ,wDAAwD;AAG5F,SAASC,cAAc;AACvB,OAAOC,qBAAqB;AAC5B,SAASC,gBAAgB;AAEzB,MAAMC,aAAa,GAAGA,CAAA,MAAO,CAAC,CAAC,CAAC;AAEhC,OAAO,MAAMC,kBAAkB,GAAGA,CAAA,KAAM;EACpC,OAAO,CACH,IAAIL,mBAAmB,CAAiB;IACpCM,QAAQ,EAAE,aAAc;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;IACDC,SAAS,EAAE;MACPC,KAAK,EAAE;QACHC,UAAU,EAAEL;MAChB,CAAC;MACDM,QAAQ,EAAE;QACND,UAAU,EAAEL;MAChB;IACJ;EACJ,CAAC,CAAC,EACF,IAAIJ,mBAAmB,CAAiB;IACpCM,QAAQ,EAAE,aAAc;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;IACDC,SAAS,EAAE;MACPI,SAAS,EAAE;QACPC,KAAKA,CAACC,IAAe,EAAEC,CAAC,EAAEC,OAAO,EAAE;UAC/B,IAAI,CAACF,IAAI,CAACD,KAAK,EAAE;YACb,OAAO,IAAI;UACf;UAEA,OAAOG,OAAO,CAACC,QAAQ,CAACC,SAAS,CAAC;YAAEC,KAAK,EAAE;cAAEC,KAAK,EAAEN,IAAI,CAACD;YAAM;UAAE,CAAC,CAAC;QACvE;MACJ,CAAC;MACDQ,eAAe,EAAE;QACbC,OAAO,EAAE,MAAAA,CAAOP,CAAC,EAAE;UAAEI;QAAW,CAAC,EAAEH,OAAO,KAAK;UAC3C,MAAMM,OAAO,GAAGN,OAAO,CAACO,SAAS,CAACC,OAAO,CAACtB,cAAc,CAAC;UAEzD,MAAMuB,UAAU,GAAG,MAAMH,OAAO,CAACI,OAAO,CAAC;YACrCC,EAAE,EAAER,KAAK,CAACQ,EAAE;YACZC,KAAK,EAAET,KAAK,CAACS;UACjB,CAAC,CAAC;UAEF,IAAIH,UAAU,CAACI,MAAM,CAAC,CAAC,EAAE;YACrB,MAAMC,KAAK,GAAGL,UAAU,CAACK,KAAK;YAC9B,IAAIA,KAAK,CAACC,IAAI,KAAK,oBAAoB,EAAE;cACrC,OAAO,IAAIhC,gBAAgB,CACvB,SAASiC,IAAI,CAACC,SAAS,CAACd,KAAK,CAAC,kBAClC,CAAC;YACL;YAEA,OAAO,IAAIvB,aAAa,CAAC;cACrBsC,OAAO,EAAEJ,KAAK,CAACI,OAAO;cACtBH,IAAI,EAAED,KAAK,CAACC,IAAI;cAChBI,IAAI,EAAEL,KAAK,CAACK;YAChB,CAAC,CAAC;UACN;UAEA,OAAO,IAAInC,QAAQ,CAACyB,UAAU,CAACW,KAAK,CAAC;QACzC,CAAC;QACDC,cAAc,EAAE,MAAAA,CAAOtB,CAAC,EAAEuB,EAAE,EAAEtB,OAAO,KAAK;UACtC,MAAMuB,QAAQ,GAAGvB,OAAO,CAACC,QAAQ,CAACuB,WAAW,CAAC,CAAC;UAE/C,IAAI,CAACD,QAAQ,CAACE,OAAO,CAAC,CAAC,EAAE;YACrB,MAAM,IAAItC,qBAAqB,CAAC,CAAC;UACrC;;UAEA;UACA;;UAEA,MAAMmB,OAAO,GAAGN,OAAO,CAACO,SAAS,CAACC,OAAO,CAACtB,cAAc,CAAC;UAEzD,MAAMwC,YAAY,GAAG,MAAM1B,OAAO,CAACC,QAAQ,CAAC0B,oBAAoB,CAC5D,YAAY;YACR;YACA,OAAO,MAAMrB,OAAO,CAACI,OAAO,CAAC;cAAEC,EAAE,EAAEY,QAAQ,CAACZ;YAAG,CAAC,CAAC;UACrD,CACJ,CAAC;UAED,IAAIe,YAAY,CAACb,MAAM,CAAC,CAAC,EAAE;YACvB,MAAMC,KAAK,GAAGY,YAAY,CAACZ,KAAK;YAChC,IAAIA,KAAK,CAACC,IAAI,KAAK,oBAAoB,EAAE;cACrC,OAAO,IAAIhC,gBAAgB,CACvB,gBAAgBwC,QAAQ,CAACZ,EAAE,iBAC/B,CAAC;YACL;YAEA,OAAO,IAAI/B,aAAa,CAAC;cACrBsC,OAAO,EAAEJ,KAAK,CAACI,OAAO;cACtBH,IAAI,EAAED,KAAK,CAACC,IAAI;cAChBI,IAAI,EAAEL,KAAK,CAACK;YAChB,CAAC,CAAC;UACN;UAEA,OAAO,IAAInC,QAAQ,CAAC0C,YAAY,CAACN,KAAK,CAAC;QAC3C,CAAC;QACDQ,SAAS,EAAE,MAAAA,CAAO7B,CAAC,EAAEuB,EAAE,EAAEtB,OAAO,KAAK;UACjC,MAAM4B,SAAS,GAAG5B,OAAO,CAACO,SAAS,CAACC,OAAO,CAACpB,gBAAgB,CAAC;UAC7D,MAAMyC,KAAK,GAAG,MAAMD,SAAS,CAAClB,OAAO,CAAC,CAAC;UAEvC,IAAImB,KAAK,CAAChB,MAAM,CAAC,CAAC,EAAE;YAChB,OAAO,IAAIhC,iBAAiB,CAACgD,KAAK,CAACf,KAAK,CAAC;UAC7C;UAEA,OAAO,IAAIhC,YAAY,CAAC+C,KAAK,CAACT,KAAK,CAAC;QACxC;MACJ;IACJ;EACJ,CAAC,CAAC,EACF,IAAInC,mBAAmB,CAAiB;IACpCM,QAAQ,EAAE,aAAc;AACpC;AACA;AACA;AACA,aAAa;IACDC,SAAS,EAAE;MACPI,SAAS,EAAE;QACPkC,KAAKA,CAAChC,IAAe,EAAEC,CAAC,EAAEC,OAAO,EAAE;UAC/B,MAAM+B,QAAQ,GAAGC,KAAK,CAACC,OAAO,CAACnC,IAAI,CAACgC,KAAK,CAAC,IAAIhC,IAAI,CAACgC,KAAK,CAACI,MAAM,GAAG,CAAC;UACnE,IAAI,CAACH,QAAQ,EAAE;YACX,OAAO,EAAE;UACb;UAEA,OAAO/B,OAAO,CAACC,QAAQ,CAACkC,SAAS,CAAC;YAAEhC,KAAK,EAAE;cAAEC,KAAK,EAAEN,IAAI,CAACgC;YAAM;UAAE,CAAC,CAAC;QACvE;MACJ;IACJ;EACJ,CAAC,CAAC,CACL,CAACM,MAAM,CAACC,OAAO,CAAC;AACrB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"graphql/users/user.gql.js","sources":["../../../src/graphql/users/user.gql.ts"],"sourcesContent":["import {\n ErrorResponse,\n ListErrorResponse,\n ListResponse,\n NotFoundResponse,\n Response\n} from \"@webiny/handler-graphql/responses.js\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin.js\";\nimport type { ApiCoreContext } from \"~/types/core.js\";\nimport { AdminUser } from \"~/types/users.js\";\nimport { GetUserUseCase } from \"~/features/users/GetUser/index.js\";\nimport NotAuthorizedResponse from \"~/graphql/security/NotAuthorizedResponse.js\";\nimport { ListUsersUseCase } from \"~/features/users/ListUsers/index.js\";\n\nconst emptyResolver = () => ({});\n\nexport const createUsersGraphQL = () => {\n return [\n new GraphQLSchemaPlugin<ApiCoreContext>({\n typeDefs: /* GraphQL */ `\n type AdminUsersQuery {\n _empty: String\n }\n\n type AdminUsersMutation {\n _empty: String\n }\n\n extend type Query {\n adminUsers: AdminUsersQuery\n }\n\n extend type Mutation {\n adminUsers: AdminUsersMutation\n }\n\n type AdminUsersCreatedBy {\n id: ID\n displayName: String\n }\n\n type AdminUsersError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type AdminUsersBooleanResponse {\n data: Boolean\n error: AdminUsersError\n }\n `,\n resolvers: {\n Query: {\n adminUsers: emptyResolver\n },\n Mutation: {\n adminUsers: emptyResolver\n }\n }\n }),\n new GraphQLSchemaPlugin<ApiCoreContext>({\n typeDefs: /* GraphQL */ `\n type AdminUser {\n id: ID!\n displayName: String!\n email: String!\n\n roles: [SecurityRole]\n firstName: String\n lastName: String\n avatar: JSON\n external: Boolean\n createdOn: DateTime\n }\n\n type AdminUsersResponse {\n data: AdminUser\n error: AdminUsersError\n }\n\n type AdminUsersListResponse {\n data: [AdminUser]\n error: AdminUsersError\n }\n\n input AdminUsersGetUserWhereInput {\n id: ID\n email: String\n }\n\n extend type AdminUsersQuery {\n getUser(where: AdminUsersGetUserWhereInput): AdminUsersResponse\n getCurrentUser: AdminUsersResponse\n listUsers: AdminUsersListResponse\n }\n `,\n resolvers: {\n AdminUser: {\n roles(user: AdminUser, _, context) {\n if (!user.roles) {\n return null;\n }\n\n return context.security.listRoles({ where: { id_in: user.roles } });\n }\n },\n AdminUsersQuery: {\n getUser: async (_, { where }: any, context) => {\n const getUser = context.container.resolve(GetUserUseCase);\n\n const userResult = await getUser.execute({\n id: where.id,\n email: where.email\n });\n\n if (userResult.isFail()) {\n const error = userResult.error;\n if (error.code === \"AdminUser/NotFound\") {\n return new NotFoundResponse(\n `User \"${JSON.stringify(where)}\" was not found!`\n );\n }\n\n return new ErrorResponse({\n message: error.message,\n code: error.code,\n data: error.data\n });\n }\n\n return new Response(userResult.value);\n },\n getCurrentUser: async (_, __, context) => {\n const identity = context.security.getIdentity();\n\n if (!identity.isAdmin()) {\n throw new NotAuthorizedResponse();\n }\n\n // Current user might not have permissions to execute `getUser` (this method can load any user in the system),\n // but loading your own user record should be allowed. For that reason, let's temporarily disable authorization.\n\n const getUser = context.container.resolve(GetUserUseCase);\n\n const userResponse = await context.security.withoutAuthorization(\n async () => {\n // Get user record using the identity ID.\n return await getUser.execute({ id: identity.id });\n }\n );\n\n if (userResponse.isFail()) {\n const error = userResponse.error;\n if (error.code === \"AdminUser/NotFound\") {\n return new NotFoundResponse(\n `User with ID ${identity.id} was not found!`\n );\n }\n\n return new ErrorResponse({\n message: error.message,\n code: error.code,\n data: error.data\n });\n }\n\n return new Response(userResponse.value);\n },\n listUsers: async (_, __, context) => {\n const listUsers = context.container.resolve(ListUsersUseCase);\n const users = await listUsers.execute();\n\n if (users.isFail()) {\n return new ListErrorResponse(users.error);\n }\n\n return new ListResponse(users.value);\n }\n }\n }\n }),\n new GraphQLSchemaPlugin<ApiCoreContext>({\n typeDefs: /* GraphQL */ `\n extend type AdminUser {\n teams: [SecurityTeam]\n }\n `,\n resolvers: {\n AdminUser: {\n teams(user: AdminUser, _, context) {\n const hasTeams = Array.isArray(user.teams) && user.teams.length > 0;\n if (!hasTeams) {\n return [];\n }\n\n return context.security.listTeams({ where: { id_in: user.teams } });\n }\n }\n }\n })\n ].filter(Boolean);\n};\n"],"names":["emptyResolver","createUsersGraphQL","GraphQLSchemaPlugin","user","_","context","where","getUser","GetUserUseCase","userResult","error","NotFoundResponse","JSON","ErrorResponse","Response","__","identity","NotAuthorizedResponse","userResponse","listUsers","ListUsersUseCase","users","ListErrorResponse","ListResponse","hasTeams","Array","Boolean"],"mappings":"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"}
@@ -1,10 +1,9 @@
1
1
  import { GraphQLSchemaPlugin } from "@webiny/handler-graphql/plugins/index.js";
2
2
  import { ErrorResponse, Response } from "@webiny/handler-graphql/responses.js";
3
3
  import { WcpContext } from "../../features/wcp/WcpContext/index.js";
4
- const emptyResolver = () => ({});
5
- export const createWcpGraphQL = () => {
6
- return new GraphQLSchemaPlugin({
7
- typeDefs: /* GraphQL */`
4
+ const emptyResolver = ()=>({});
5
+ const createWcpGraphQL = ()=>new GraphQLSchemaPlugin({
6
+ typeDefs: `
8
7
  type WcpProjectPackageFeaturesFeature {
9
8
  enabled: Boolean
10
9
  options: JSON
@@ -18,6 +17,8 @@ export const createWcpGraphQL = () => {
18
17
  auditLogs: WcpProjectPackageFeaturesFeature
19
18
  recordLocking: WcpProjectPackageFeaturesFeature
20
19
  fileManager: WcpProjectPackageFeaturesFeature
20
+ aiPowerups: WcpProjectPackageFeaturesFeature
21
+ abTesting: WcpProjectPackageFeaturesFeature
21
22
  }
22
23
 
23
24
  type WcpProjectPackage {
@@ -58,31 +59,29 @@ export const createWcpGraphQL = () => {
58
59
  wcp: WcpMutation
59
60
  }
60
61
  `,
61
- resolvers: {
62
- Query: {
63
- wcp: emptyResolver
64
- },
65
- WcpQuery: {
66
- getProject: async (_, __, context) => {
67
- try {
68
- const wcpContext = context.container.resolve(WcpContext);
69
- const project = wcpContext.getProject();
70
- if (!project) {
71
- throw Error(`Could not get project!`);
62
+ resolvers: {
63
+ Query: {
64
+ wcp: emptyResolver
65
+ },
66
+ WcpQuery: {
67
+ getProject: async (_, __, context)=>{
68
+ try {
69
+ const wcpContext = context.container.resolve(WcpContext);
70
+ const project = wcpContext.getProjectWithFeatureFlags();
71
+ if (!project) throw Error("Could not get project!");
72
+ return new Response(project);
73
+ } catch (e) {
74
+ return new ErrorResponse({
75
+ code: "COULD_NOT_GET_PROJECT",
76
+ message: e.message,
77
+ data: null,
78
+ stack: e.stack
79
+ });
80
+ }
81
+ }
72
82
  }
73
- return new Response(project);
74
- } catch (e) {
75
- return new ErrorResponse({
76
- code: "COULD_NOT_GET_PROJECT",
77
- message: e.message,
78
- data: null,
79
- stack: e.stack
80
- });
81
- }
82
83
  }
83
- }
84
- }
85
- });
86
- };
84
+ });
85
+ export { createWcpGraphQL };
87
86
 
88
87
  //# sourceMappingURL=graphql.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["GraphQLSchemaPlugin","ErrorResponse","Response","WcpContext","emptyResolver","createWcpGraphQL","typeDefs","resolvers","Query","wcp","WcpQuery","getProject","_","__","context","wcpContext","container","resolve","project","Error","e","code","message","data","stack"],"sources":["graphql.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/index.js\";\nimport { ErrorResponse, Response } from \"@webiny/handler-graphql/responses.js\";\nimport { WcpContext } from \"~/features/wcp/WcpContext/index.js\";\n\nconst emptyResolver = () => ({});\n\nexport const createWcpGraphQL = () => {\n return new GraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type WcpProjectPackageFeaturesFeature {\n enabled: Boolean\n options: JSON\n }\n\n type WcpProjectPackageFeatures {\n seats: WcpProjectPackageFeaturesFeature\n multiTenancy: WcpProjectPackageFeaturesFeature\n advancedPublishingWorkflow: WcpProjectPackageFeaturesFeature\n advancedAccessControlLayer: WcpProjectPackageFeaturesFeature\n auditLogs: WcpProjectPackageFeaturesFeature\n recordLocking: WcpProjectPackageFeaturesFeature\n fileManager: WcpProjectPackageFeaturesFeature\n }\n\n type WcpProjectPackage {\n features: WcpProjectPackageFeatures\n }\n\n type WcpProject {\n orgId: ID\n projectId: ID\n package: WcpProjectPackage\n }\n\n type WcpError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type WcpProjectResponse {\n data: WcpProject\n error: WcpError\n }\n\n type WcpQuery {\n getProject: WcpProjectResponse\n }\n\n type WcpMutation {\n updateProject: WcpProjectResponse\n }\n\n extend type Query {\n wcp: WcpQuery\n }\n\n extend type Mutation {\n wcp: WcpMutation\n }\n `,\n resolvers: {\n Query: {\n wcp: emptyResolver\n },\n WcpQuery: {\n getProject: async (_, __, context) => {\n try {\n const wcpContext = context.container.resolve(WcpContext);\n const project = wcpContext.getProject();\n\n if (!project) {\n throw Error(`Could not get project!`);\n }\n\n return new Response(project);\n } catch (e) {\n return new ErrorResponse({\n code: \"COULD_NOT_GET_PROJECT\",\n message: e.message,\n data: null,\n stack: e.stack\n });\n }\n }\n }\n }\n });\n};\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,0CAA0C;AAC9E,SAASC,aAAa,EAAEC,QAAQ,QAAQ,sCAAsC;AAC9E,SAASC,UAAU;AAEnB,MAAMC,aAAa,GAAGA,CAAA,MAAO,CAAC,CAAC,CAAC;AAEhC,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EAClC,OAAO,IAAIL,mBAAmB,CAAC;IAC3BM,QAAQ,EAAE,aAAc;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;IACDC,SAAS,EAAE;MACPC,KAAK,EAAE;QACHC,GAAG,EAAEL;MACT,CAAC;MACDM,QAAQ,EAAE;QACNC,UAAU,EAAE,MAAAA,CAAOC,CAAC,EAAEC,EAAE,EAAEC,OAAO,KAAK;UAClC,IAAI;YACA,MAAMC,UAAU,GAAGD,OAAO,CAACE,SAAS,CAACC,OAAO,CAACd,UAAU,CAAC;YACxD,MAAMe,OAAO,GAAGH,UAAU,CAACJ,UAAU,CAAC,CAAC;YAEvC,IAAI,CAACO,OAAO,EAAE;cACV,MAAMC,KAAK,CAAC,wBAAwB,CAAC;YACzC;YAEA,OAAO,IAAIjB,QAAQ,CAACgB,OAAO,CAAC;UAChC,CAAC,CAAC,OAAOE,CAAC,EAAE;YACR,OAAO,IAAInB,aAAa,CAAC;cACrBoB,IAAI,EAAE,uBAAuB;cAC7BC,OAAO,EAAEF,CAAC,CAACE,OAAO;cAClBC,IAAI,EAAE,IAAI;cACVC,KAAK,EAAEJ,CAAC,CAACI;YACb,CAAC,CAAC;UACN;QACJ;MACJ;IACJ;EACJ,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"graphql/wcp/graphql.js","sources":["../../../src/graphql/wcp/graphql.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/index.js\";\nimport { ErrorResponse, Response } from \"@webiny/handler-graphql/responses.js\";\nimport { WcpContext } from \"~/features/wcp/WcpContext/index.js\";\n\nconst emptyResolver = () => ({});\n\nexport const createWcpGraphQL = () => {\n return new GraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type WcpProjectPackageFeaturesFeature {\n enabled: Boolean\n options: JSON\n }\n\n type WcpProjectPackageFeatures {\n seats: WcpProjectPackageFeaturesFeature\n multiTenancy: WcpProjectPackageFeaturesFeature\n advancedPublishingWorkflow: WcpProjectPackageFeaturesFeature\n advancedAccessControlLayer: WcpProjectPackageFeaturesFeature\n auditLogs: WcpProjectPackageFeaturesFeature\n recordLocking: WcpProjectPackageFeaturesFeature\n fileManager: WcpProjectPackageFeaturesFeature\n aiPowerups: WcpProjectPackageFeaturesFeature\n abTesting: WcpProjectPackageFeaturesFeature\n }\n\n type WcpProjectPackage {\n features: WcpProjectPackageFeatures\n }\n\n type WcpProject {\n orgId: ID\n projectId: ID\n package: WcpProjectPackage\n }\n\n type WcpError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type WcpProjectResponse {\n data: WcpProject\n error: WcpError\n }\n\n type WcpQuery {\n getProject: WcpProjectResponse\n }\n\n type WcpMutation {\n updateProject: WcpProjectResponse\n }\n\n extend type Query {\n wcp: WcpQuery\n }\n\n extend type Mutation {\n wcp: WcpMutation\n }\n `,\n resolvers: {\n Query: {\n wcp: emptyResolver\n },\n WcpQuery: {\n getProject: async (_, __, context) => {\n try {\n const wcpContext = context.container.resolve(WcpContext);\n const project = wcpContext.getProjectWithFeatureFlags();\n\n if (!project) {\n throw Error(`Could not get project!`);\n }\n\n return new Response(project);\n } catch (e) {\n return new ErrorResponse({\n code: \"COULD_NOT_GET_PROJECT\",\n message: e.message,\n data: null,\n stack: e.stack\n });\n }\n }\n }\n }\n });\n};\n"],"names":["emptyResolver","createWcpGraphQL","GraphQLSchemaPlugin","_","__","context","wcpContext","WcpContext","project","Error","Response","e","ErrorResponse"],"mappings":";;;AAIA,MAAMA,gBAAgB,IAAO,EAAC;AAEvB,MAAMC,mBAAmB,IACrB,IAAIC,oBAAoB;QAC3B,UAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAuDzB,CAAC;QACD,WAAW;YACP,OAAO;gBACH,KAAKF;YACT;YACA,UAAU;gBACN,YAAY,OAAOG,GAAGC,IAAIC;oBACtB,IAAI;wBACA,MAAMC,aAAaD,QAAQ,SAAS,CAAC,OAAO,CAACE;wBAC7C,MAAMC,UAAUF,WAAW,0BAA0B;wBAErD,IAAI,CAACE,SACD,MAAMC,MAAM;wBAGhB,OAAO,IAAIC,SAASF;oBACxB,EAAE,OAAOG,GAAG;wBACR,OAAO,IAAIC,cAAc;4BACrB,MAAM;4BACN,SAASD,EAAE,OAAO;4BAClB,MAAM;4BACN,OAAOA,EAAE,KAAK;wBAClB;oBACJ;gBACJ;YACJ;QACJ;IACJ"}
package/idp/JwksCache.js CHANGED
@@ -1,32 +1,26 @@
1
- export class JwksCache {
2
- cache = new Map();
3
- async getKeys(issuer) {
4
- // Check cache first
5
- const cached = this.cache.get(issuer);
6
- if (cached) {
7
- return cached.jwks;
1
+ class JwksCache {
2
+ async getKeys(issuer) {
3
+ const cached = this.cache.get(issuer);
4
+ if (cached) return cached.jwks;
5
+ const openidUrl = new URL(issuer);
6
+ const pathname = openidUrl.pathname + "/.well-known/openid-configuration";
7
+ openidUrl.pathname = pathname.replace(/\/+/g, "/");
8
+ const oidcConfig = await fetch(openidUrl.toString()).then((res)=>res.json());
9
+ const jwksResponse = await fetch(oidcConfig.jwks_uri).then((res)=>res.json());
10
+ const jwks = jwksResponse.keys;
11
+ this.cache.set(issuer, {
12
+ oidcConfig,
13
+ jwks
14
+ });
15
+ return jwks;
16
+ }
17
+ clearCache() {
18
+ this.cache.clear();
19
+ }
20
+ constructor(){
21
+ this.cache = new Map();
8
22
  }
9
-
10
- // Fetch OIDC configuration
11
- const openidUrl = new URL(issuer);
12
- const pathname = openidUrl.pathname + "/.well-known/openid-configuration";
13
- openidUrl.pathname = pathname.replace(/\/+/g, "/");
14
- const oidcConfig = await fetch(openidUrl.toString()).then(res => res.json());
15
-
16
- // Fetch JWKs from jwks_uri
17
- const jwksResponse = await fetch(oidcConfig.jwks_uri).then(res => res.json());
18
- const jwks = jwksResponse.keys;
19
-
20
- // Cache both config and JWKs
21
- this.cache.set(issuer, {
22
- oidcConfig,
23
- jwks
24
- });
25
- return jwks;
26
- }
27
- clearCache() {
28
- this.cache.clear();
29
- }
30
23
  }
24
+ export { JwksCache };
31
25
 
32
26
  //# sourceMappingURL=JwksCache.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["JwksCache","cache","Map","getKeys","issuer","cached","get","jwks","openidUrl","URL","pathname","replace","oidcConfig","fetch","toString","then","res","json","jwksResponse","jwks_uri","keys","set","clearCache","clear"],"sources":["JwksCache.ts"],"sourcesContent":["import type { Jwk } from \"~/features/security/utils/verifyJwtUsingJwk.js\";\nimport { JwkCache } from \"./abstractions.js\";\n\ninterface OidcConfiguration {\n jwks_uri: string;\n [key: string]: any;\n}\n\ninterface CacheEntry {\n oidcConfig: OidcConfiguration;\n jwks: Jwk[];\n}\n\nexport class JwksCache implements JwkCache.Interface {\n private cache = new Map<string, CacheEntry>();\n\n async getKeys(issuer: string): Promise<Jwk[]> {\n // Check cache first\n const cached = this.cache.get(issuer);\n if (cached) {\n return cached.jwks;\n }\n\n // Fetch OIDC configuration\n const openidUrl = new URL(issuer);\n const pathname = openidUrl.pathname + \"/.well-known/openid-configuration\";\n openidUrl.pathname = pathname.replace(/\\/+/g, \"/\");\n\n const oidcConfig = await fetch(openidUrl.toString()).then(\n res => res.json() as Promise<OidcConfiguration>\n );\n\n // Fetch JWKs from jwks_uri\n const jwksResponse = await fetch(oidcConfig.jwks_uri).then(res => res.json());\n const jwks = jwksResponse.keys as Jwk[];\n\n // Cache both config and JWKs\n this.cache.set(issuer, {\n oidcConfig,\n jwks\n });\n\n return jwks;\n }\n\n clearCache(): void {\n this.cache.clear();\n }\n}\n"],"mappings":"AAaA,OAAO,MAAMA,SAAS,CAA+B;EACzCC,KAAK,GAAG,IAAIC,GAAG,CAAqB,CAAC;EAE7C,MAAMC,OAAOA,CAACC,MAAc,EAAkB;IAC1C;IACA,MAAMC,MAAM,GAAG,IAAI,CAACJ,KAAK,CAACK,GAAG,CAACF,MAAM,CAAC;IACrC,IAAIC,MAAM,EAAE;MACR,OAAOA,MAAM,CAACE,IAAI;IACtB;;IAEA;IACA,MAAMC,SAAS,GAAG,IAAIC,GAAG,CAACL,MAAM,CAAC;IACjC,MAAMM,QAAQ,GAAGF,SAAS,CAACE,QAAQ,GAAG,mCAAmC;IACzEF,SAAS,CAACE,QAAQ,GAAGA,QAAQ,CAACC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;IAElD,MAAMC,UAAU,GAAG,MAAMC,KAAK,CAACL,SAAS,CAACM,QAAQ,CAAC,CAAC,CAAC,CAACC,IAAI,CACrDC,GAAG,IAAIA,GAAG,CAACC,IAAI,CAAC,CACpB,CAAC;;IAED;IACA,MAAMC,YAAY,GAAG,MAAML,KAAK,CAACD,UAAU,CAACO,QAAQ,CAAC,CAACJ,IAAI,CAACC,GAAG,IAAIA,GAAG,CAACC,IAAI,CAAC,CAAC,CAAC;IAC7E,MAAMV,IAAI,GAAGW,YAAY,CAACE,IAAa;;IAEvC;IACA,IAAI,CAACnB,KAAK,CAACoB,GAAG,CAACjB,MAAM,EAAE;MACnBQ,UAAU;MACVL;IACJ,CAAC,CAAC;IAEF,OAAOA,IAAI;EACf;EAEAe,UAAUA,CAAA,EAAS;IACf,IAAI,CAACrB,KAAK,CAACsB,KAAK,CAAC,CAAC;EACtB;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"idp/JwksCache.js","sources":["../../src/idp/JwksCache.ts"],"sourcesContent":["import type { Jwk } from \"~/features/security/utils/verifyJwtUsingJwk.js\";\nimport { JwkCache } from \"./abstractions.js\";\n\ninterface OidcConfiguration {\n jwks_uri: string;\n [key: string]: any;\n}\n\ninterface CacheEntry {\n oidcConfig: OidcConfiguration;\n jwks: Jwk[];\n}\n\nexport class JwksCache implements JwkCache.Interface {\n private cache = new Map<string, CacheEntry>();\n\n async getKeys(issuer: string): Promise<Jwk[]> {\n // Check cache first\n const cached = this.cache.get(issuer);\n if (cached) {\n return cached.jwks;\n }\n\n // Fetch OIDC configuration\n const openidUrl = new URL(issuer);\n const pathname = openidUrl.pathname + \"/.well-known/openid-configuration\";\n openidUrl.pathname = pathname.replace(/\\/+/g, \"/\");\n\n const oidcConfig = await fetch(openidUrl.toString()).then(\n res => res.json() as Promise<OidcConfiguration>\n );\n\n // Fetch JWKs from jwks_uri\n const jwksResponse = await fetch(oidcConfig.jwks_uri).then(res => res.json());\n const jwks = jwksResponse.keys as Jwk[];\n\n // Cache both config and JWKs\n this.cache.set(issuer, {\n oidcConfig,\n jwks\n });\n\n return jwks;\n }\n\n clearCache(): void {\n this.cache.clear();\n }\n}\n"],"names":["JwksCache","issuer","cached","openidUrl","URL","pathname","oidcConfig","fetch","res","jwksResponse","jwks","Map"],"mappings":"AAaO,MAAMA;IAGT,MAAM,QAAQC,MAAc,EAAkB;QAE1C,MAAMC,SAAS,IAAI,CAAC,KAAK,CAAC,GAAG,CAACD;QAC9B,IAAIC,QACA,OAAOA,OAAO,IAAI;QAItB,MAAMC,YAAY,IAAIC,IAAIH;QAC1B,MAAMI,WAAWF,UAAU,QAAQ,GAAG;QACtCA,UAAU,QAAQ,GAAGE,SAAS,OAAO,CAAC,QAAQ;QAE9C,MAAMC,aAAa,MAAMC,MAAMJ,UAAU,QAAQ,IAAI,IAAI,CACrDK,CAAAA,MAAOA,IAAI,IAAI;QAInB,MAAMC,eAAe,MAAMF,MAAMD,WAAW,QAAQ,EAAE,IAAI,CAACE,CAAAA,MAAOA,IAAI,IAAI;QAC1E,MAAME,OAAOD,aAAa,IAAI;QAG9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAACR,QAAQ;YACnBK;YACAI;QACJ;QAEA,OAAOA;IACX;IAEA,aAAmB;QACf,IAAI,CAAC,KAAK,CAAC,KAAK;IACpB;;aAjCQ,KAAK,GAAG,IAAIC;;AAkCxB"}
@@ -1,58 +1,46 @@
1
- import jwt from "jsonwebtoken";
1
+ import jsonwebtoken from "jsonwebtoken";
2
2
  import { Authenticator } from "../features/security/authentication/Authenticator/abstractions.js";
3
3
  import { JwtIdentityProvider } from "./abstractions.js";
4
4
  import { isJwt } from "../features/security/utils/isJwt.js";
5
5
  class JwtAuthenticatorImpl {
6
- constructor(providers) {
7
- this.providers = providers;
8
- }
9
- async authenticate(token) {
10
- if (!isJwt(token)) {
11
- return null;
6
+ constructor(providers){
7
+ this.providers = providers;
12
8
  }
13
-
14
- // Decode JWT to get payload
15
- const decoded = jwt.decode(token, {
16
- complete: true
17
- });
18
- if (!decoded || typeof decoded === "string") {
19
- return null;
20
- }
21
- if (typeof decoded.payload === "string") {
22
- return null;
23
- }
24
-
25
- // TODO: validate expiration claim and exit early if expired
26
-
27
- for (const provider of this.providers) {
28
- // Check if provider is applicable
29
- if (provider.isApplicable(decoded.payload)) {
30
- // Use provider to get identity
31
- const identity = await provider.getIdentity(token, decoded);
32
- if (identity) {
33
- // We treat all IDP identities as external by default.
34
- const isExternal = identity.profile?.external ?? true;
35
- return {
36
- ...identity,
37
- type: identity.type ?? "admin",
38
- profile: {
39
- ...(identity.profile ?? {}),
40
- external: isExternal
9
+ async authenticate(token) {
10
+ if (!isJwt(token)) return null;
11
+ const decoded = jsonwebtoken.decode(token, {
12
+ complete: true
13
+ });
14
+ if (!decoded || "string" == typeof decoded) return null;
15
+ if ("string" == typeof decoded.payload) return null;
16
+ for (const provider of this.providers)if (provider.isApplicable(decoded.payload)) {
17
+ const identity = await provider.getIdentity(token, decoded);
18
+ if (identity) {
19
+ const isExternal = identity.profile?.external ?? true;
20
+ return {
21
+ ...identity,
22
+ type: identity.type ?? "admin",
23
+ profile: {
24
+ ...identity.profile ?? {},
25
+ external: isExternal
26
+ }
27
+ };
41
28
  }
42
- };
43
29
  }
44
- }
30
+ return null;
45
31
  }
46
-
47
- // No applicable provider found
48
- return null;
49
- }
50
32
  }
51
- export const JwtAuthenticator = Authenticator.createImplementation({
52
- implementation: JwtAuthenticatorImpl,
53
- dependencies: [[JwtIdentityProvider, {
54
- multiple: true
55
- }]]
33
+ const JwtAuthenticator = Authenticator.createImplementation({
34
+ implementation: JwtAuthenticatorImpl,
35
+ dependencies: [
36
+ [
37
+ JwtIdentityProvider,
38
+ {
39
+ multiple: true
40
+ }
41
+ ]
42
+ ]
56
43
  });
44
+ export { JwtAuthenticator };
57
45
 
58
46
  //# sourceMappingURL=JwtAuthenticator.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["jwt","Authenticator","JwtIdentityProvider","isJwt","JwtAuthenticatorImpl","constructor","providers","authenticate","token","decoded","decode","complete","payload","provider","isApplicable","identity","getIdentity","isExternal","profile","external","type","JwtAuthenticator","createImplementation","implementation","dependencies","multiple"],"sources":["JwtAuthenticator.ts"],"sourcesContent":["import jwt from \"jsonwebtoken\";\nimport { Authenticator } from \"~/features/security/authentication/Authenticator/abstractions.js\";\nimport { IdentityProvider, JwtIdentityProvider } from \"./abstractions.js\";\nimport { isJwt } from \"~/features/security/utils/isJwt.js\";\nimport type { IdentityData } from \"~/features/security/IdentityContext/Identity.js\";\n\nclass JwtAuthenticatorImpl implements Authenticator.Interface {\n constructor(private providers: JwtIdentityProvider.Interface[]) {}\n\n async authenticate(token: string): Promise<IdentityData | null> {\n if (!isJwt(token)) {\n return null;\n }\n\n // Decode JWT to get payload\n const decoded = jwt.decode(token, { complete: true });\n if (!decoded || typeof decoded === \"string\") {\n return null;\n }\n\n if (typeof decoded.payload === \"string\") {\n return null;\n }\n\n // TODO: validate expiration claim and exit early if expired\n\n for (const provider of this.providers) {\n // Check if provider is applicable\n if (provider.isApplicable(decoded.payload as IdentityProvider.JwtPayload)) {\n // Use provider to get identity\n const identity = await provider.getIdentity(\n token,\n decoded as JwtIdentityProvider.Jwt\n );\n\n if (identity) {\n // We treat all IDP identities as external by default.\n const isExternal = identity.profile?.external ?? true;\n return {\n ...identity,\n type: identity.type ?? \"admin\",\n profile: {\n ...(identity.profile ?? {}),\n external: isExternal\n }\n };\n }\n }\n }\n\n // No applicable provider found\n return null;\n }\n}\n\nexport const JwtAuthenticator = Authenticator.createImplementation({\n implementation: JwtAuthenticatorImpl,\n dependencies: [[JwtIdentityProvider, { multiple: true }]]\n});\n"],"mappings":"AAAA,OAAOA,GAAG,MAAM,cAAc;AAC9B,SAASC,aAAa;AACtB,SAA2BC,mBAAmB;AAC9C,SAASC,KAAK;AAGd,MAAMC,oBAAoB,CAAoC;EAC1DC,WAAWA,CAASC,SAA0C,EAAE;IAAA,KAA5CA,SAA0C,GAA1CA,SAA0C;EAAG;EAEjE,MAAMC,YAAYA,CAACC,KAAa,EAAgC;IAC5D,IAAI,CAACL,KAAK,CAACK,KAAK,CAAC,EAAE;MACf,OAAO,IAAI;IACf;;IAEA;IACA,MAAMC,OAAO,GAAGT,GAAG,CAACU,MAAM,CAACF,KAAK,EAAE;MAAEG,QAAQ,EAAE;IAAK,CAAC,CAAC;IACrD,IAAI,CAACF,OAAO,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;MACzC,OAAO,IAAI;IACf;IAEA,IAAI,OAAOA,OAAO,CAACG,OAAO,KAAK,QAAQ,EAAE;MACrC,OAAO,IAAI;IACf;;IAEA;;IAEA,KAAK,MAAMC,QAAQ,IAAI,IAAI,CAACP,SAAS,EAAE;MACnC;MACA,IAAIO,QAAQ,CAACC,YAAY,CAACL,OAAO,CAACG,OAAsC,CAAC,EAAE;QACvE;QACA,MAAMG,QAAQ,GAAG,MAAMF,QAAQ,CAACG,WAAW,CACvCR,KAAK,EACLC,OACJ,CAAC;QAED,IAAIM,QAAQ,EAAE;UACV;UACA,MAAME,UAAU,GAAGF,QAAQ,CAACG,OAAO,EAAEC,QAAQ,IAAI,IAAI;UACrD,OAAO;YACH,GAAGJ,QAAQ;YACXK,IAAI,EAAEL,QAAQ,CAACK,IAAI,IAAI,OAAO;YAC9BF,OAAO,EAAE;cACL,IAAIH,QAAQ,CAACG,OAAO,IAAI,CAAC,CAAC,CAAC;cAC3BC,QAAQ,EAAEF;YACd;UACJ,CAAC;QACL;MACJ;IACJ;;IAEA;IACA,OAAO,IAAI;EACf;AACJ;AAEA,OAAO,MAAMI,gBAAgB,GAAGpB,aAAa,CAACqB,oBAAoB,CAAC;EAC/DC,cAAc,EAAEnB,oBAAoB;EACpCoB,YAAY,EAAE,CAAC,CAACtB,mBAAmB,EAAE;IAAEuB,QAAQ,EAAE;EAAK,CAAC,CAAC;AAC5D,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"idp/JwtAuthenticator.js","sources":["../../src/idp/JwtAuthenticator.ts"],"sourcesContent":["import jwt from \"jsonwebtoken\";\nimport { Authenticator } from \"~/features/security/authentication/Authenticator/abstractions.js\";\nimport { IdentityProvider, JwtIdentityProvider } from \"./abstractions.js\";\nimport { isJwt } from \"~/features/security/utils/isJwt.js\";\nimport type { IdentityData } from \"~/features/security/IdentityContext/Identity.js\";\n\nclass JwtAuthenticatorImpl implements Authenticator.Interface {\n constructor(private providers: JwtIdentityProvider.Interface[]) {}\n\n async authenticate(token: string): Promise<IdentityData | null> {\n if (!isJwt(token)) {\n return null;\n }\n\n // Decode JWT to get payload\n const decoded = jwt.decode(token, { complete: true });\n if (!decoded || typeof decoded === \"string\") {\n return null;\n }\n\n if (typeof decoded.payload === \"string\") {\n return null;\n }\n\n // TODO: validate expiration claim and exit early if expired\n\n for (const provider of this.providers) {\n // Check if provider is applicable\n if (provider.isApplicable(decoded.payload as IdentityProvider.JwtPayload)) {\n // Use provider to get identity\n const identity = await provider.getIdentity(\n token,\n decoded as JwtIdentityProvider.Jwt\n );\n\n if (identity) {\n // We treat all IDP identities as external by default.\n const isExternal = identity.profile?.external ?? true;\n return {\n ...identity,\n type: identity.type ?? \"admin\",\n profile: {\n ...(identity.profile ?? {}),\n external: isExternal\n }\n };\n }\n }\n }\n\n // No applicable provider found\n return null;\n }\n}\n\nexport const JwtAuthenticator = Authenticator.createImplementation({\n implementation: JwtAuthenticatorImpl,\n dependencies: [[JwtIdentityProvider, { multiple: true }]]\n});\n"],"names":["JwtAuthenticatorImpl","providers","token","isJwt","decoded","jwt","provider","identity","isExternal","JwtAuthenticator","Authenticator","JwtIdentityProvider"],"mappings":";;;;AAMA,MAAMA;IACF,YAAoBC,SAA0C,CAAE;aAA5CA,SAAS,GAATA;IAA6C;IAEjE,MAAM,aAAaC,KAAa,EAAgC;QAC5D,IAAI,CAACC,MAAMD,QACP,OAAO;QAIX,MAAME,UAAUC,aAAAA,MAAU,CAACH,OAAO;YAAE,UAAU;QAAK;QACnD,IAAI,CAACE,WAAW,AAAmB,YAAnB,OAAOA,SACnB,OAAO;QAGX,IAAI,AAA2B,YAA3B,OAAOA,QAAQ,OAAO,EACtB,OAAO;QAKX,KAAK,MAAME,YAAY,IAAI,CAAC,SAAS,CAEjC,IAAIA,SAAS,YAAY,CAACF,QAAQ,OAAO,GAAkC;YAEvE,MAAMG,WAAW,MAAMD,SAAS,WAAW,CACvCJ,OACAE;YAGJ,IAAIG,UAAU;gBAEV,MAAMC,aAAaD,SAAS,OAAO,EAAE,YAAY;gBACjD,OAAO;oBACH,GAAGA,QAAQ;oBACX,MAAMA,SAAS,IAAI,IAAI;oBACvB,SAAS;wBACL,GAAIA,SAAS,OAAO,IAAI,CAAC,CAAC;wBAC1B,UAAUC;oBACd;gBACJ;YACJ;QACJ;QAIJ,OAAO;IACX;AACJ;AAEO,MAAMC,mBAAmBC,cAAc,oBAAoB,CAAC;IAC/D,gBAAgBV;IAChB,cAAc;QAAC;YAACW;YAAqB;gBAAE,UAAU;YAAK;SAAE;KAAC;AAC7D"}