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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (786) hide show
  1. package/ApiCoreFeature.js +18 -18
  2. package/ApiCoreFeature.js.map +1 -1
  3. package/createApiCore.d.ts +1 -1
  4. package/createApiCore.js +14 -9
  5. package/createApiCore.js.map +1 -1
  6. package/domain/identity/SystemIdentityValue.js +9 -8
  7. package/domain/identity/SystemIdentityValue.js.map +1 -1
  8. package/domain/security/ApiToken.js +5 -11
  9. package/domain/security/ApiToken.js.map +1 -1
  10. package/domain/tenancy/RootTenantValue.js +9 -8
  11. package/domain/tenancy/RootTenantValue.js.map +1 -1
  12. package/domain/tenancy/errors.js +0 -3
  13. package/exports/api/build-params.js +0 -3
  14. package/exports/api/event-publisher.js +0 -3
  15. package/exports/api/graphql.js +0 -2
  16. package/exports/api/key-value-store.js +0 -3
  17. package/exports/api/logger.js +0 -3
  18. package/exports/api/security/api-key.js +0 -2
  19. package/exports/api/security/authentication.js +0 -2
  20. package/exports/api/security/role.js +1 -3
  21. package/exports/api/security/user.js +0 -2
  22. package/exports/api/security.js +3 -7
  23. package/exports/api/system.js +0 -2
  24. package/exports/api/tasks.js +0 -2
  25. package/exports/api/tenancy.js +4 -6
  26. package/exports/api.js +1 -3
  27. package/features/ai/Ai.js +100 -117
  28. package/features/ai/Ai.js.map +1 -1
  29. package/features/ai/AiSdkTools.js +23 -19
  30. package/features/ai/AiSdkTools.js.map +1 -1
  31. package/features/ai/AnthropicSdkFactory.js +82 -65
  32. package/features/ai/AnthropicSdkFactory.js.map +1 -1
  33. package/features/ai/OpenAiSdkFactory.js +234 -181
  34. package/features/ai/OpenAiSdkFactory.js.map +1 -1
  35. package/features/ai/abstractions.js +7 -32
  36. package/features/ai/abstractions.js.map +1 -1
  37. package/features/ai/feature.js +9 -8
  38. package/features/ai/feature.js.map +1 -1
  39. package/features/ai/index.js +1 -3
  40. package/features/buildParams/BuildParams.js +20 -14
  41. package/features/buildParams/BuildParams.js.map +1 -1
  42. package/features/buildParams/abstractions.js +3 -4
  43. package/features/buildParams/abstractions.js.map +1 -1
  44. package/features/buildParams/feature.js +6 -5
  45. package/features/buildParams/feature.js.map +1 -1
  46. package/features/buildParams/index.js +0 -2
  47. package/features/encryption/EncryptionService.js +50 -46
  48. package/features/encryption/EncryptionService.js.map +1 -1
  49. package/features/encryption/abstractions.js +2 -2
  50. package/features/encryption/abstractions.js.map +1 -1
  51. package/features/encryption/feature.js +6 -5
  52. package/features/encryption/feature.js.map +1 -1
  53. package/features/encryption/index.js +0 -2
  54. package/features/eventPublisher/EventPublisher.js +9 -15
  55. package/features/eventPublisher/EventPublisher.js.map +1 -1
  56. package/features/eventPublisher/__tests__/EventPublisher.test.js +385 -419
  57. package/features/eventPublisher/__tests__/EventPublisher.test.js.map +1 -1
  58. package/features/eventPublisher/abstractions.js +7 -12
  59. package/features/eventPublisher/abstractions.js.map +1 -1
  60. package/features/eventPublisher/feature.js +8 -7
  61. package/features/eventPublisher/feature.js.map +1 -1
  62. package/features/eventPublisher/index.js +0 -2
  63. package/features/featureFlags/FeatureFlags.js +15 -12
  64. package/features/featureFlags/FeatureFlags.js.map +1 -1
  65. package/features/featureFlags/abstractions.js +2 -1
  66. package/features/featureFlags/abstractions.js.map +1 -1
  67. package/features/featureFlags/feature.js +6 -5
  68. package/features/featureFlags/feature.js.map +1 -1
  69. package/features/keyValueStore/GlobalKeyValueStore.js +28 -23
  70. package/features/keyValueStore/GlobalKeyValueStore.js.map +1 -1
  71. package/features/keyValueStore/KeyValueStore.js +30 -27
  72. package/features/keyValueStore/KeyValueStore.js.map +1 -1
  73. package/features/keyValueStore/KeyValueStoreRepository.d.ts +2 -2
  74. package/features/keyValueStore/KeyValueStoreRepository.js +34 -41
  75. package/features/keyValueStore/KeyValueStoreRepository.js.map +1 -1
  76. package/features/keyValueStore/abstractions.d.ts +6 -2
  77. package/features/keyValueStore/abstractions.js +5 -20
  78. package/features/keyValueStore/abstractions.js.map +1 -1
  79. package/features/keyValueStore/errors.js +16 -17
  80. package/features/keyValueStore/errors.js.map +1 -1
  81. package/features/keyValueStore/feature.js +9 -9
  82. package/features/keyValueStore/feature.js.map +1 -1
  83. package/features/keyValueStore/index.js +1 -3
  84. package/features/logger/LoggerService.js +41 -45
  85. package/features/logger/LoggerService.js.map +1 -1
  86. package/features/logger/abstractions.js +2 -2
  87. package/features/logger/abstractions.js.map +1 -1
  88. package/features/logger/feature.js +6 -5
  89. package/features/logger/feature.js.map +1 -1
  90. package/features/logger/index.js +0 -2
  91. package/features/masker/Masker.js +11 -14
  92. package/features/masker/Masker.js.map +1 -1
  93. package/features/masker/abstractions.js +2 -1
  94. package/features/masker/abstractions.js.map +1 -1
  95. package/features/masker/feature.js +7 -6
  96. package/features/masker/feature.js.map +1 -1
  97. package/features/masker/index.js +0 -2
  98. package/features/security/IdentityContext/AnonymousIdentity.js +12 -16
  99. package/features/security/IdentityContext/AnonymousIdentity.js.map +1 -1
  100. package/features/security/IdentityContext/AuthenticatedIdentity.js +5 -8
  101. package/features/security/IdentityContext/AuthenticatedIdentity.js.map +1 -1
  102. package/features/security/IdentityContext/Identity.js +63 -71
  103. package/features/security/IdentityContext/Identity.js.map +1 -1
  104. package/features/security/IdentityContext/IdentityContext.js +69 -106
  105. package/features/security/IdentityContext/IdentityContext.js.map +1 -1
  106. package/features/security/IdentityContext/abstractions.js +2 -2
  107. package/features/security/IdentityContext/abstractions.js.map +1 -1
  108. package/features/security/IdentityContext/feature.js +6 -5
  109. package/features/security/IdentityContext/feature.js.map +1 -1
  110. package/features/security/IdentityContext/index.js +0 -3
  111. package/features/security/SecurityFeature.js +13 -21
  112. package/features/security/SecurityFeature.js.map +1 -1
  113. package/features/security/apiKeys/CreateApiKey/CreateApiKeyUseCase.js +48 -49
  114. package/features/security/apiKeys/CreateApiKey/CreateApiKeyUseCase.js.map +1 -1
  115. package/features/security/apiKeys/CreateApiKey/abstractions.js +2 -2
  116. package/features/security/apiKeys/CreateApiKey/abstractions.js.map +1 -1
  117. package/features/security/apiKeys/CreateApiKey/events.js +17 -16
  118. package/features/security/apiKeys/CreateApiKey/events.js.map +1 -1
  119. package/features/security/apiKeys/CreateApiKey/feature.js +6 -5
  120. package/features/security/apiKeys/CreateApiKey/feature.js.map +1 -1
  121. package/features/security/apiKeys/CreateApiKey/index.js +0 -2
  122. package/features/security/apiKeys/DeleteApiKey/DeleteApiKeyUseCase.js +29 -30
  123. package/features/security/apiKeys/DeleteApiKey/DeleteApiKeyUseCase.js.map +1 -1
  124. package/features/security/apiKeys/DeleteApiKey/abstractions.js +2 -2
  125. package/features/security/apiKeys/DeleteApiKey/abstractions.js.map +1 -1
  126. package/features/security/apiKeys/DeleteApiKey/events.js +17 -16
  127. package/features/security/apiKeys/DeleteApiKey/events.js.map +1 -1
  128. package/features/security/apiKeys/DeleteApiKey/feature.js +6 -5
  129. package/features/security/apiKeys/DeleteApiKey/feature.js.map +1 -1
  130. package/features/security/apiKeys/DeleteApiKey/index.js +0 -2
  131. package/features/security/apiKeys/GetApiKey/GetApiKeyUseCase.js +16 -14
  132. package/features/security/apiKeys/GetApiKey/GetApiKeyUseCase.js.map +1 -1
  133. package/features/security/apiKeys/GetApiKey/abstractions.js +2 -2
  134. package/features/security/apiKeys/GetApiKey/abstractions.js.map +1 -1
  135. package/features/security/apiKeys/GetApiKey/feature.js +6 -5
  136. package/features/security/apiKeys/GetApiKey/feature.js.map +1 -1
  137. package/features/security/apiKeys/GetApiKey/index.js +0 -2
  138. package/features/security/apiKeys/GetApiKeyBySlug/GetApiKeyBySlugUseCase.js +13 -10
  139. package/features/security/apiKeys/GetApiKeyBySlug/GetApiKeyBySlugUseCase.js.map +1 -1
  140. package/features/security/apiKeys/GetApiKeyBySlug/abstractions.js +2 -2
  141. package/features/security/apiKeys/GetApiKeyBySlug/abstractions.js.map +1 -1
  142. package/features/security/apiKeys/GetApiKeyBySlug/feature.js +6 -5
  143. package/features/security/apiKeys/GetApiKeyBySlug/feature.js.map +1 -1
  144. package/features/security/apiKeys/GetApiKeyBySlug/index.js +0 -2
  145. package/features/security/apiKeys/GetApiKeyByToken/GetApiKeyByTokenUseCase.js +13 -10
  146. package/features/security/apiKeys/GetApiKeyByToken/GetApiKeyByTokenUseCase.js.map +1 -1
  147. package/features/security/apiKeys/GetApiKeyByToken/abstractions.js +2 -2
  148. package/features/security/apiKeys/GetApiKeyByToken/abstractions.js.map +1 -1
  149. package/features/security/apiKeys/GetApiKeyByToken/feature.js +6 -5
  150. package/features/security/apiKeys/GetApiKeyByToken/feature.js.map +1 -1
  151. package/features/security/apiKeys/GetApiKeyByToken/index.js +0 -2
  152. package/features/security/apiKeys/ListApiKeys/ListApiKeysUseCase.js +17 -17
  153. package/features/security/apiKeys/ListApiKeys/ListApiKeysUseCase.js.map +1 -1
  154. package/features/security/apiKeys/ListApiKeys/abstractions.js +2 -2
  155. package/features/security/apiKeys/ListApiKeys/abstractions.js.map +1 -1
  156. package/features/security/apiKeys/ListApiKeys/feature.js +6 -5
  157. package/features/security/apiKeys/ListApiKeys/feature.js.map +1 -1
  158. package/features/security/apiKeys/ListApiKeys/index.js +0 -2
  159. package/features/security/apiKeys/UpdateApiKey/UpdateApiKeyUseCase.js +39 -42
  160. package/features/security/apiKeys/UpdateApiKey/UpdateApiKeyUseCase.js.map +1 -1
  161. package/features/security/apiKeys/UpdateApiKey/abstractions.js +2 -2
  162. package/features/security/apiKeys/UpdateApiKey/abstractions.js.map +1 -1
  163. package/features/security/apiKeys/UpdateApiKey/events.js +17 -16
  164. package/features/security/apiKeys/UpdateApiKey/events.js.map +1 -1
  165. package/features/security/apiKeys/UpdateApiKey/feature.js +6 -5
  166. package/features/security/apiKeys/UpdateApiKey/feature.js.map +1 -1
  167. package/features/security/apiKeys/UpdateApiKey/index.js +0 -2
  168. package/features/security/apiKeys/feature.js +14 -16
  169. package/features/security/apiKeys/feature.js.map +1 -1
  170. package/features/security/apiKeys/shared/ApiKeyProvider.js +42 -42
  171. package/features/security/apiKeys/shared/ApiKeyProvider.js.map +1 -1
  172. package/features/security/apiKeys/shared/ApiKeysRepository.js +108 -135
  173. package/features/security/apiKeys/shared/ApiKeysRepository.js.map +1 -1
  174. package/features/security/apiKeys/shared/abstractions.js +4 -6
  175. package/features/security/apiKeys/shared/abstractions.js.map +1 -1
  176. package/features/security/apiKeys/shared/errors.js +29 -32
  177. package/features/security/apiKeys/shared/errors.js.map +1 -1
  178. package/features/security/apiKeys/shared/generateToken.js +6 -16
  179. package/features/security/apiKeys/shared/generateToken.js.map +1 -1
  180. package/features/security/apiKeys/shared/schemas.js +27 -23
  181. package/features/security/apiKeys/shared/schemas.js.map +1 -1
  182. package/features/security/apiKeys/shared/types.js +0 -3
  183. package/features/security/authentication/AuthenticationContext/AuthenticationContext.js +44 -38
  184. package/features/security/authentication/AuthenticationContext/AuthenticationContext.js.map +1 -1
  185. package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.js +33 -43
  186. package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.js.map +1 -1
  187. package/features/security/authentication/AuthenticationContext/abstractions.js +2 -2
  188. package/features/security/authentication/AuthenticationContext/abstractions.js.map +1 -1
  189. package/features/security/authentication/AuthenticationContext/errors.js +51 -116
  190. package/features/security/authentication/AuthenticationContext/errors.js.map +1 -1
  191. package/features/security/authentication/AuthenticationContext/events.js +17 -16
  192. package/features/security/authentication/AuthenticationContext/events.js.map +1 -1
  193. package/features/security/authentication/AuthenticationContext/feature.js +6 -5
  194. package/features/security/authentication/AuthenticationContext/feature.js.map +1 -1
  195. package/features/security/authentication/AuthenticationContext/index.js +2 -4
  196. package/features/security/authentication/Authenticator/abstractions.js +2 -2
  197. package/features/security/authentication/Authenticator/abstractions.js.map +1 -1
  198. package/features/security/authentication/Authenticator/index.js +0 -2
  199. package/features/security/authorization/AuthorizationContext/AuthorizationContext.js +46 -59
  200. package/features/security/authorization/AuthorizationContext/AuthorizationContext.js.map +1 -1
  201. package/features/security/authorization/AuthorizationContext/abstractions.js +3 -4
  202. package/features/security/authorization/AuthorizationContext/abstractions.js.map +1 -1
  203. package/features/security/authorization/AuthorizationContext/feature.js +10 -9
  204. package/features/security/authorization/AuthorizationContext/feature.js.map +1 -1
  205. package/features/security/authorization/AuthorizationContext/index.js +1 -4
  206. package/features/security/authorization/Authorizer/abstractions.js +2 -2
  207. package/features/security/authorization/Authorizer/abstractions.js.map +1 -1
  208. package/features/security/authorization/Authorizer/index.js +0 -2
  209. package/features/security/authorization/GroupsTeamsAuthorizer/GetPermissionsFromIdentity.js +60 -64
  210. package/features/security/authorization/GroupsTeamsAuthorizer/GetPermissionsFromIdentity.js.map +1 -1
  211. package/features/security/authorization/GroupsTeamsAuthorizer/RolesTeamsAuthorizer.js +26 -40
  212. package/features/security/authorization/GroupsTeamsAuthorizer/RolesTeamsAuthorizer.js.map +1 -1
  213. package/features/security/authorization/GroupsTeamsAuthorizer/abstractions.js +2 -1
  214. package/features/security/authorization/GroupsTeamsAuthorizer/abstractions.js.map +1 -1
  215. package/features/security/authorization/GroupsTeamsAuthorizer/feature.js +7 -6
  216. package/features/security/authorization/GroupsTeamsAuthorizer/feature.js.map +1 -1
  217. package/features/security/login/abstractions.js +9 -8
  218. package/features/security/login/abstractions.js.map +1 -1
  219. package/features/security/login/index.js +0 -2
  220. package/features/security/permissions/createPermissionSchema.js +6 -5
  221. package/features/security/permissions/createPermissionSchema.js.map +1 -1
  222. package/features/security/permissions/createPermissions.js +148 -236
  223. package/features/security/permissions/createPermissions.js.map +1 -1
  224. package/features/security/permissions/index.js +0 -2
  225. package/features/security/permissions/types.js +0 -3
  226. package/features/security/roles/CreateRole/CreateRoleUseCase.js +53 -59
  227. package/features/security/roles/CreateRole/CreateRoleUseCase.js.map +1 -1
  228. package/features/security/roles/CreateRole/abstractions.js +2 -2
  229. package/features/security/roles/CreateRole/abstractions.js.map +1 -1
  230. package/features/security/roles/CreateRole/events.js +17 -16
  231. package/features/security/roles/CreateRole/events.js.map +1 -1
  232. package/features/security/roles/CreateRole/feature.js +6 -5
  233. package/features/security/roles/CreateRole/feature.js.map +1 -1
  234. package/features/security/roles/CreateRole/index.js +0 -2
  235. package/features/security/roles/CreateRole/schema.js +8 -7
  236. package/features/security/roles/CreateRole/schema.js.map +1 -1
  237. package/features/security/roles/DeleteRole/DeleteRoleUseCase.js +35 -41
  238. package/features/security/roles/DeleteRole/DeleteRoleUseCase.js.map +1 -1
  239. package/features/security/roles/DeleteRole/abstractions.js +2 -2
  240. package/features/security/roles/DeleteRole/abstractions.js.map +1 -1
  241. package/features/security/roles/DeleteRole/events.js +17 -16
  242. package/features/security/roles/DeleteRole/events.js.map +1 -1
  243. package/features/security/roles/DeleteRole/feature.js +6 -5
  244. package/features/security/roles/DeleteRole/feature.js.map +1 -1
  245. package/features/security/roles/DeleteRole/index.js +0 -2
  246. package/features/security/roles/GetRole/GetRoleUseCase.js +19 -18
  247. package/features/security/roles/GetRole/GetRoleUseCase.js.map +1 -1
  248. package/features/security/roles/GetRole/abstractions.js +2 -2
  249. package/features/security/roles/GetRole/abstractions.js.map +1 -1
  250. package/features/security/roles/GetRole/feature.js +6 -5
  251. package/features/security/roles/GetRole/feature.js.map +1 -1
  252. package/features/security/roles/GetRole/index.js +0 -2
  253. package/features/security/roles/Installer/RolesInstaller.js +38 -35
  254. package/features/security/roles/Installer/RolesInstaller.js.map +1 -1
  255. package/features/security/roles/ListRoles/ListRolesUseCase.js +18 -17
  256. package/features/security/roles/ListRoles/ListRolesUseCase.js.map +1 -1
  257. package/features/security/roles/ListRoles/abstractions.js +2 -2
  258. package/features/security/roles/ListRoles/abstractions.js.map +1 -1
  259. package/features/security/roles/ListRoles/feature.js +6 -5
  260. package/features/security/roles/ListRoles/feature.js.map +1 -1
  261. package/features/security/roles/ListRoles/index.js +0 -2
  262. package/features/security/roles/UpdateRole/UpdateRoleUseCase.js +43 -50
  263. package/features/security/roles/UpdateRole/UpdateRoleUseCase.js.map +1 -1
  264. package/features/security/roles/UpdateRole/abstractions.js +2 -2
  265. package/features/security/roles/UpdateRole/abstractions.js.map +1 -1
  266. package/features/security/roles/UpdateRole/events.js +17 -16
  267. package/features/security/roles/UpdateRole/events.js.map +1 -1
  268. package/features/security/roles/UpdateRole/feature.js +6 -5
  269. package/features/security/roles/UpdateRole/feature.js.map +1 -1
  270. package/features/security/roles/UpdateRole/index.js +0 -2
  271. package/features/security/roles/UpdateRole/schema.js +7 -6
  272. package/features/security/roles/UpdateRole/schema.js.map +1 -1
  273. package/features/security/roles/feature.js +14 -18
  274. package/features/security/roles/feature.js.map +1 -1
  275. package/features/security/roles/shared/RoleProvider.js +27 -21
  276. package/features/security/roles/shared/RoleProvider.js.map +1 -1
  277. package/features/security/roles/shared/RolesRepository.js +96 -113
  278. package/features/security/roles/shared/RolesRepository.js.map +1 -1
  279. package/features/security/roles/shared/abstractions.js +3 -4
  280. package/features/security/roles/shared/abstractions.js.map +1 -1
  281. package/features/security/roles/shared/decorators/ListCache.js +23 -22
  282. package/features/security/roles/shared/decorators/ListCache.js.map +1 -1
  283. package/features/security/roles/shared/decorators/RolesRepositoryCachingDecorator.js +40 -62
  284. package/features/security/roles/shared/decorators/RolesRepositoryCachingDecorator.js.map +1 -1
  285. package/features/security/roles/shared/errors.js +50 -56
  286. package/features/security/roles/shared/errors.js.map +1 -1
  287. package/features/security/roles/shared/types.js +0 -3
  288. package/features/security/shared/abstractions.js +4 -6
  289. package/features/security/shared/abstractions.js.map +1 -1
  290. package/features/security/shared/errors.js +8 -8
  291. package/features/security/shared/errors.js.map +1 -1
  292. package/features/security/shared/index.js +0 -2
  293. package/features/security/teams/CreateTeam/CreateTeamUseCase.js +53 -59
  294. package/features/security/teams/CreateTeam/CreateTeamUseCase.js.map +1 -1
  295. package/features/security/teams/CreateTeam/abstractions.js +2 -2
  296. package/features/security/teams/CreateTeam/abstractions.js.map +1 -1
  297. package/features/security/teams/CreateTeam/events.js +17 -16
  298. package/features/security/teams/CreateTeam/events.js.map +1 -1
  299. package/features/security/teams/CreateTeam/feature.js +6 -5
  300. package/features/security/teams/CreateTeam/feature.js.map +1 -1
  301. package/features/security/teams/CreateTeam/index.js +0 -2
  302. package/features/security/teams/CreateTeam/schema.js +6 -5
  303. package/features/security/teams/CreateTeam/schema.js.map +1 -1
  304. package/features/security/teams/DeleteTeam/DeleteTeamUseCase.js +36 -46
  305. package/features/security/teams/DeleteTeam/DeleteTeamUseCase.js.map +1 -1
  306. package/features/security/teams/DeleteTeam/abstractions.js +2 -2
  307. package/features/security/teams/DeleteTeam/abstractions.js.map +1 -1
  308. package/features/security/teams/DeleteTeam/events.js +17 -16
  309. package/features/security/teams/DeleteTeam/events.js.map +1 -1
  310. package/features/security/teams/DeleteTeam/feature.js +6 -5
  311. package/features/security/teams/DeleteTeam/feature.js.map +1 -1
  312. package/features/security/teams/DeleteTeam/index.js +0 -2
  313. package/features/security/teams/GetTeam/GetTeamUseCase.js +17 -17
  314. package/features/security/teams/GetTeam/GetTeamUseCase.js.map +1 -1
  315. package/features/security/teams/GetTeam/abstractions.js +2 -2
  316. package/features/security/teams/GetTeam/abstractions.js.map +1 -1
  317. package/features/security/teams/GetTeam/feature.js +6 -5
  318. package/features/security/teams/GetTeam/feature.js.map +1 -1
  319. package/features/security/teams/GetTeam/index.js +0 -2
  320. package/features/security/teams/ListTeams/ListTeamsUseCase.js +20 -21
  321. package/features/security/teams/ListTeams/ListTeamsUseCase.js.map +1 -1
  322. package/features/security/teams/ListTeams/abstractions.js +2 -2
  323. package/features/security/teams/ListTeams/abstractions.js.map +1 -1
  324. package/features/security/teams/ListTeams/feature.js +6 -5
  325. package/features/security/teams/ListTeams/feature.js.map +1 -1
  326. package/features/security/teams/ListTeams/index.js +0 -2
  327. package/features/security/teams/UpdateTeam/UpdateTeamUseCase.js +46 -58
  328. package/features/security/teams/UpdateTeam/UpdateTeamUseCase.js.map +1 -1
  329. package/features/security/teams/UpdateTeam/abstractions.js +2 -2
  330. package/features/security/teams/UpdateTeam/abstractions.js.map +1 -1
  331. package/features/security/teams/UpdateTeam/events.js +17 -16
  332. package/features/security/teams/UpdateTeam/events.js.map +1 -1
  333. package/features/security/teams/UpdateTeam/feature.js +6 -5
  334. package/features/security/teams/UpdateTeam/feature.js.map +1 -1
  335. package/features/security/teams/UpdateTeam/index.js +0 -2
  336. package/features/security/teams/UpdateTeam/schema.js +5 -4
  337. package/features/security/teams/UpdateTeam/schema.js.map +1 -1
  338. package/features/security/teams/feature.js +13 -17
  339. package/features/security/teams/feature.js.map +1 -1
  340. package/features/security/teams/shared/TeamProvider.js +27 -21
  341. package/features/security/teams/shared/TeamProvider.js.map +1 -1
  342. package/features/security/teams/shared/TeamsRepository.js +100 -118
  343. package/features/security/teams/shared/TeamsRepository.js.map +1 -1
  344. package/features/security/teams/shared/abstractions.js +3 -4
  345. package/features/security/teams/shared/abstractions.js.map +1 -1
  346. package/features/security/teams/shared/decorators/TeamsRepositoryCachingDecorator.js +40 -62
  347. package/features/security/teams/shared/decorators/TeamsRepositoryCachingDecorator.js.map +1 -1
  348. package/features/security/teams/shared/errors.js +62 -70
  349. package/features/security/teams/shared/errors.js.map +1 -1
  350. package/features/security/teams/shared/types.js +0 -3
  351. package/features/security/utils/AppPermissions.js +50 -89
  352. package/features/security/utils/AppPermissions.js.map +1 -1
  353. package/features/security/utils/IdentityValue.js +19 -22
  354. package/features/security/utils/IdentityValue.js.map +1 -1
  355. package/features/security/utils/filterOutCustomWbyAppsPermissions.js +24 -27
  356. package/features/security/utils/filterOutCustomWbyAppsPermissions.js.map +1 -1
  357. package/features/security/utils/getPermissionsFromRoles.js +5 -10
  358. package/features/security/utils/getPermissionsFromRoles.js.map +1 -1
  359. package/features/security/utils/isJwt.js +2 -1
  360. package/features/security/utils/isJwt.js.map +1 -1
  361. package/features/security/utils/verifyJwtUsingJwk.js +6 -7
  362. package/features/security/utils/verifyJwtUsingJwk.js.map +1 -1
  363. package/features/system/InstallSystem/InstallSystemUseCase.js +45 -44
  364. package/features/system/InstallSystem/InstallSystemUseCase.js.map +1 -1
  365. package/features/system/InstallSystem/abstractions.js +3 -17
  366. package/features/system/InstallSystem/abstractions.js.map +1 -1
  367. package/features/system/InstallSystem/errors.js +15 -16
  368. package/features/system/InstallSystem/errors.js.map +1 -1
  369. package/features/system/InstallSystem/events.js +8 -5
  370. package/features/system/InstallSystem/events.js.map +1 -1
  371. package/features/system/InstallSystem/feature.js +6 -7
  372. package/features/system/InstallSystem/feature.js.map +1 -1
  373. package/features/system/InstallSystem/index.js +2 -6
  374. package/features/system/SystemFeature.js +6 -5
  375. package/features/system/SystemFeature.js.map +1 -1
  376. package/features/task/TaskController/abstractions.js +2 -10
  377. package/features/task/TaskController/abstractions.js.map +1 -1
  378. package/features/task/TaskController/index.js +0 -2
  379. package/features/task/TaskDefinition/abstractions.js +8 -40
  380. package/features/task/TaskDefinition/abstractions.js.map +1 -1
  381. package/features/task/TaskDefinition/index.js +0 -2
  382. package/features/task/TaskService/abstractions.js +9 -13
  383. package/features/task/TaskService/abstractions.js.map +1 -1
  384. package/features/task/TaskService/index.js +0 -2
  385. package/features/tenancy/CreateTenant/CreateTenantGateway.js +14 -11
  386. package/features/tenancy/CreateTenant/CreateTenantGateway.js.map +1 -1
  387. package/features/tenancy/CreateTenant/CreateTenantRepository.js +18 -15
  388. package/features/tenancy/CreateTenant/CreateTenantRepository.js.map +1 -1
  389. package/features/tenancy/CreateTenant/CreateTenantUseCase.js +44 -41
  390. package/features/tenancy/CreateTenant/CreateTenantUseCase.js.map +1 -1
  391. package/features/tenancy/CreateTenant/abstractions.js +6 -29
  392. package/features/tenancy/CreateTenant/abstractions.js.map +1 -1
  393. package/features/tenancy/CreateTenant/decorators/CreateTenantWithWcpIncrement.js +16 -15
  394. package/features/tenancy/CreateTenant/decorators/CreateTenantWithWcpIncrement.js.map +1 -1
  395. package/features/tenancy/CreateTenant/errors.js +8 -8
  396. package/features/tenancy/CreateTenant/errors.js.map +1 -1
  397. package/features/tenancy/CreateTenant/events.js +16 -11
  398. package/features/tenancy/CreateTenant/events.js.map +1 -1
  399. package/features/tenancy/CreateTenant/feature.js +9 -8
  400. package/features/tenancy/CreateTenant/feature.js.map +1 -1
  401. package/features/tenancy/CreateTenant/index.js +2 -4
  402. package/features/tenancy/DeleteTenant/DeleteTenantGateway.js +15 -12
  403. package/features/tenancy/DeleteTenant/DeleteTenantGateway.js.map +1 -1
  404. package/features/tenancy/DeleteTenant/DeleteTenantRepository.js +22 -19
  405. package/features/tenancy/DeleteTenant/DeleteTenantRepository.js.map +1 -1
  406. package/features/tenancy/DeleteTenant/DeleteTenantUseCase.js +29 -27
  407. package/features/tenancy/DeleteTenant/DeleteTenantUseCase.js.map +1 -1
  408. package/features/tenancy/DeleteTenant/abstractions.js +6 -10
  409. package/features/tenancy/DeleteTenant/abstractions.js.map +1 -1
  410. package/features/tenancy/DeleteTenant/decorators/DeleteTenantWithWcpDecrement.js +16 -13
  411. package/features/tenancy/DeleteTenant/decorators/DeleteTenantWithWcpDecrement.js.map +1 -1
  412. package/features/tenancy/DeleteTenant/events.js +16 -11
  413. package/features/tenancy/DeleteTenant/events.js.map +1 -1
  414. package/features/tenancy/DeleteTenant/feature.js +9 -8
  415. package/features/tenancy/DeleteTenant/feature.js.map +1 -1
  416. package/features/tenancy/DeleteTenant/index.js +2 -4
  417. package/features/tenancy/GetRootTenant/GetRootTenantUseCase.js +15 -12
  418. package/features/tenancy/GetRootTenant/GetRootTenantUseCase.js.map +1 -1
  419. package/features/tenancy/GetRootTenant/abstractions.js +2 -4
  420. package/features/tenancy/GetRootTenant/abstractions.js.map +1 -1
  421. package/features/tenancy/GetRootTenant/feature.js +6 -5
  422. package/features/tenancy/GetRootTenant/feature.js.map +1 -1
  423. package/features/tenancy/GetRootTenant/index.js +0 -2
  424. package/features/tenancy/GetTenantById/GetTenantByIdGateway.js +17 -12
  425. package/features/tenancy/GetTenantById/GetTenantByIdGateway.js.map +1 -1
  426. package/features/tenancy/GetTenantById/GetTenantByIdRepository.js +18 -19
  427. package/features/tenancy/GetTenantById/GetTenantByIdRepository.js.map +1 -1
  428. package/features/tenancy/GetTenantById/GetTenantByIdUseCase.js +17 -17
  429. package/features/tenancy/GetTenantById/GetTenantByIdUseCase.js.map +1 -1
  430. package/features/tenancy/GetTenantById/abstractions.js +4 -6
  431. package/features/tenancy/GetTenantById/abstractions.js.map +1 -1
  432. package/features/tenancy/GetTenantById/feature.js +8 -12
  433. package/features/tenancy/GetTenantById/feature.js.map +1 -1
  434. package/features/tenancy/GetTenantById/index.js +1 -3
  435. package/features/tenancy/InstallTenant/DependencyResolver.js +53 -65
  436. package/features/tenancy/InstallTenant/DependencyResolver.js.map +1 -1
  437. package/features/tenancy/InstallTenant/InstallTenantUseCase.js +95 -113
  438. package/features/tenancy/InstallTenant/InstallTenantUseCase.js.map +1 -1
  439. package/features/tenancy/InstallTenant/abstractions.js +4 -15
  440. package/features/tenancy/InstallTenant/abstractions.js.map +1 -1
  441. package/features/tenancy/InstallTenant/errors.js +15 -16
  442. package/features/tenancy/InstallTenant/errors.js.map +1 -1
  443. package/features/tenancy/InstallTenant/events.js +8 -5
  444. package/features/tenancy/InstallTenant/events.js.map +1 -1
  445. package/features/tenancy/InstallTenant/feature.js +6 -5
  446. package/features/tenancy/InstallTenant/feature.js.map +1 -1
  447. package/features/tenancy/InstallTenant/index.js +1 -3
  448. package/features/tenancy/ListTenants/ListTenantsGateway.js +14 -11
  449. package/features/tenancy/ListTenants/ListTenantsGateway.js.map +1 -1
  450. package/features/tenancy/ListTenants/ListTenantsRepository.js +14 -12
  451. package/features/tenancy/ListTenants/ListTenantsRepository.js.map +1 -1
  452. package/features/tenancy/ListTenants/ListTenantsUseCase.js +16 -14
  453. package/features/tenancy/ListTenants/ListTenantsUseCase.js.map +1 -1
  454. package/features/tenancy/ListTenants/abstractions.js +4 -12
  455. package/features/tenancy/ListTenants/abstractions.js.map +1 -1
  456. package/features/tenancy/ListTenants/feature.js +8 -7
  457. package/features/tenancy/ListTenants/feature.js.map +1 -1
  458. package/features/tenancy/ListTenants/index.js +1 -3
  459. package/features/tenancy/TenancyFeature.js +20 -26
  460. package/features/tenancy/TenancyFeature.js.map +1 -1
  461. package/features/tenancy/TenantContext/TenantContext.js +46 -48
  462. package/features/tenancy/TenantContext/TenantContext.js.map +1 -1
  463. package/features/tenancy/TenantContext/abstractions.js +2 -2
  464. package/features/tenancy/TenantContext/abstractions.js.map +1 -1
  465. package/features/tenancy/TenantContext/errors.js +7 -7
  466. package/features/tenancy/TenantContext/errors.js.map +1 -1
  467. package/features/tenancy/TenantContext/feature.js +6 -5
  468. package/features/tenancy/TenantContext/feature.js.map +1 -1
  469. package/features/tenancy/TenantContext/index.js +0 -2
  470. package/features/tenancy/UpdateTenant/UpdateTenantGateway.js +14 -11
  471. package/features/tenancy/UpdateTenant/UpdateTenantGateway.js.map +1 -1
  472. package/features/tenancy/UpdateTenant/UpdateTenantRepository.js +19 -16
  473. package/features/tenancy/UpdateTenant/UpdateTenantRepository.js.map +1 -1
  474. package/features/tenancy/UpdateTenant/UpdateTenantUseCase.js +37 -36
  475. package/features/tenancy/UpdateTenant/UpdateTenantUseCase.js.map +1 -1
  476. package/features/tenancy/UpdateTenant/abstractions.js +6 -10
  477. package/features/tenancy/UpdateTenant/abstractions.js.map +1 -1
  478. package/features/tenancy/UpdateTenant/events.js +16 -11
  479. package/features/tenancy/UpdateTenant/events.js.map +1 -1
  480. package/features/tenancy/UpdateTenant/feature.js +8 -7
  481. package/features/tenancy/UpdateTenant/feature.js.map +1 -1
  482. package/features/tenancy/UpdateTenant/index.js +2 -4
  483. package/features/tenancy/shared/TenantCache.js +18 -17
  484. package/features/tenancy/shared/TenantCache.js.map +1 -1
  485. package/features/tenancy/shared/abstractions.js +2 -1
  486. package/features/tenancy/shared/abstractions.js.map +1 -1
  487. package/features/tenancy/shared/storageOperations.js +2 -5
  488. package/features/tenancy/shared/storageOperations.js.map +1 -1
  489. package/features/users/AdminUsersFeature.js +15 -19
  490. package/features/users/AdminUsersFeature.js.map +1 -1
  491. package/features/users/CreateUser/CreateUserUseCase.js +65 -100
  492. package/features/users/CreateUser/CreateUserUseCase.js.map +1 -1
  493. package/features/users/CreateUser/abstractions.js +2 -13
  494. package/features/users/CreateUser/abstractions.js.map +1 -1
  495. package/features/users/CreateUser/decorators/CreateUserWithWcpIncrement.js +16 -15
  496. package/features/users/CreateUser/decorators/CreateUserWithWcpIncrement.js.map +1 -1
  497. package/features/users/CreateUser/events.js +17 -18
  498. package/features/users/CreateUser/events.js.map +1 -1
  499. package/features/users/CreateUser/feature.js +7 -6
  500. package/features/users/CreateUser/feature.js.map +1 -1
  501. package/features/users/CreateUser/index.js +0 -2
  502. package/features/users/CreateUser/schema.js +14 -18
  503. package/features/users/CreateUser/schema.js.map +1 -1
  504. package/features/users/DeleteUser/DeleteUserUseCase.js +35 -50
  505. package/features/users/DeleteUser/DeleteUserUseCase.js.map +1 -1
  506. package/features/users/DeleteUser/abstractions.js +2 -13
  507. package/features/users/DeleteUser/abstractions.js.map +1 -1
  508. package/features/users/DeleteUser/decorators/DeleteUserWithWcpDecrement.js +15 -16
  509. package/features/users/DeleteUser/decorators/DeleteUserWithWcpDecrement.js.map +1 -1
  510. package/features/users/DeleteUser/errors.js +7 -7
  511. package/features/users/DeleteUser/errors.js.map +1 -1
  512. package/features/users/DeleteUser/events.js +17 -18
  513. package/features/users/DeleteUser/events.js.map +1 -1
  514. package/features/users/DeleteUser/feature.js +7 -6
  515. package/features/users/DeleteUser/feature.js.map +1 -1
  516. package/features/users/DeleteUser/index.js +0 -2
  517. package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.js +60 -74
  518. package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.js.map +1 -1
  519. package/features/users/ExternalIdpUserSync/feature.js +6 -5
  520. package/features/users/ExternalIdpUserSync/feature.js.map +1 -1
  521. package/features/users/ExternalIdpUserSync/index.js +0 -2
  522. package/features/users/GetIdentityProfile/GetIdentityProfileUseCase.js +29 -39
  523. package/features/users/GetIdentityProfile/GetIdentityProfileUseCase.js.map +1 -1
  524. package/features/users/GetIdentityProfile/abstractions.js +2 -11
  525. package/features/users/GetIdentityProfile/abstractions.js.map +1 -1
  526. package/features/users/GetIdentityProfile/feature.js +6 -5
  527. package/features/users/GetIdentityProfile/feature.js.map +1 -1
  528. package/features/users/GetIdentityProfile/index.js +0 -2
  529. package/features/users/GetIdentityProfile/types.js +0 -3
  530. package/features/users/GetUser/GetUserUseCase.js +19 -23
  531. package/features/users/GetUser/GetUserUseCase.js.map +1 -1
  532. package/features/users/GetUser/abstractions.js +2 -11
  533. package/features/users/GetUser/abstractions.js.map +1 -1
  534. package/features/users/GetUser/feature.js +6 -5
  535. package/features/users/GetUser/feature.js.map +1 -1
  536. package/features/users/GetUser/index.js +0 -2
  537. package/features/users/ListUserTeams/ListUserTeamsUseCase.js +33 -42
  538. package/features/users/ListUserTeams/ListUserTeamsUseCase.js.map +1 -1
  539. package/features/users/ListUserTeams/abstractions.js +2 -11
  540. package/features/users/ListUserTeams/abstractions.js.map +1 -1
  541. package/features/users/ListUserTeams/feature.js +6 -5
  542. package/features/users/ListUserTeams/feature.js.map +1 -1
  543. package/features/users/ListUserTeams/index.js +0 -2
  544. package/features/users/ListUsers/ListUsersUseCase.js +19 -23
  545. package/features/users/ListUsers/ListUsersUseCase.js.map +1 -1
  546. package/features/users/ListUsers/abstractions.js +2 -11
  547. package/features/users/ListUsers/abstractions.js.map +1 -1
  548. package/features/users/ListUsers/feature.js +6 -5
  549. package/features/users/ListUsers/feature.js.map +1 -1
  550. package/features/users/ListUsers/index.js +0 -2
  551. package/features/users/UpdateUser/UpdateUserUseCase.js +52 -74
  552. package/features/users/UpdateUser/UpdateUserUseCase.js.map +1 -1
  553. package/features/users/UpdateUser/abstractions.js +2 -13
  554. package/features/users/UpdateUser/abstractions.js.map +1 -1
  555. package/features/users/UpdateUser/events.js +17 -18
  556. package/features/users/UpdateUser/events.js.map +1 -1
  557. package/features/users/UpdateUser/feature.js +6 -5
  558. package/features/users/UpdateUser/feature.js.map +1 -1
  559. package/features/users/UpdateUser/index.js +0 -2
  560. package/features/users/UpdateUser/schema.js +11 -10
  561. package/features/users/UpdateUser/schema.js.map +1 -1
  562. package/features/users/shared/AdminUsersRepository.js +104 -112
  563. package/features/users/shared/AdminUsersRepository.js.map +1 -1
  564. package/features/users/shared/abstractions.js +2 -9
  565. package/features/users/shared/abstractions.js.map +1 -1
  566. package/features/users/shared/errors.js +40 -46
  567. package/features/users/shared/errors.js.map +1 -1
  568. package/features/users/shared/loaders.js +52 -66
  569. package/features/users/shared/loaders.js.map +1 -1
  570. package/features/users/shared/storageAbstractions.js +2 -2
  571. package/features/users/shared/storageAbstractions.js.map +1 -1
  572. package/features/users/shared/types.js +0 -3
  573. package/features/wcp/WcpContext/WcpContext.js +138 -142
  574. package/features/wcp/WcpContext/WcpContext.js.map +1 -1
  575. package/features/wcp/WcpContext/abstractions.js +2 -6
  576. package/features/wcp/WcpContext/abstractions.js.map +1 -1
  577. package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.js +135 -134
  578. package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.js.map +1 -1
  579. package/features/wcp/WcpContext/feature.js +6 -5
  580. package/features/wcp/WcpContext/feature.js.map +1 -1
  581. package/features/wcp/WcpContext/index.js +0 -2
  582. package/features/wcp/WcpContext/types.js +0 -3
  583. package/features/wcp/WcpContext/utils.js +35 -53
  584. package/features/wcp/WcpContext/utils.js.map +1 -1
  585. package/features/wcp/WcpFeature.js +7 -6
  586. package/features/wcp/WcpFeature.js.map +1 -1
  587. package/graphql/security/NotAuthorizedResponse.js +11 -14
  588. package/graphql/security/NotAuthorizedResponse.js.map +1 -1
  589. package/graphql/security/ProfileMapper.js +12 -11
  590. package/graphql/security/ProfileMapper.js.map +1 -1
  591. package/graphql/security/apiKey.gql.js +38 -47
  592. package/graphql/security/apiKey.gql.js.map +1 -1
  593. package/graphql/security/base.gql.js +11 -10
  594. package/graphql/security/base.gql.js.map +1 -1
  595. package/graphql/security/identity.gql.js +87 -97
  596. package/graphql/security/identity.gql.js.map +1 -1
  597. package/graphql/security/index.js +13 -8
  598. package/graphql/security/index.js.map +1 -1
  599. package/graphql/security/role.gql.js +49 -57
  600. package/graphql/security/role.gql.js.map +1 -1
  601. package/graphql/security/team.gql.js +61 -69
  602. package/graphql/security/team.gql.js.map +1 -1
  603. package/graphql/system/createSystemGraphQL.js +31 -34
  604. package/graphql/system/createSystemGraphQL.js.map +1 -1
  605. package/graphql/users/user.gql.js +87 -105
  606. package/graphql/users/user.gql.js.map +1 -1
  607. package/graphql/wcp/graphql.js +25 -28
  608. package/graphql/wcp/graphql.js.map +1 -1
  609. package/idp/JwksCache.js +22 -28
  610. package/idp/JwksCache.js.map +1 -1
  611. package/idp/JwtAuthenticator.js +34 -46
  612. package/idp/JwtAuthenticator.js.map +1 -1
  613. package/idp/OidcJwtIdentityProvider.js +55 -82
  614. package/idp/OidcJwtIdentityProvider.js.map +1 -1
  615. package/idp/abstractions.js +5 -14
  616. package/idp/abstractions.js.map +1 -1
  617. package/idp/feature.js +8 -7
  618. package/idp/feature.js.map +1 -1
  619. package/idp/index.js +1 -3
  620. package/idp/types.js +0 -3
  621. package/index.js +0 -2
  622. package/legacy/security/LegacyContext.js +133 -186
  623. package/legacy/security/LegacyContext.js.map +1 -1
  624. package/legacy/security/createSecurityContext.js +5 -9
  625. package/legacy/security/createSecurityContext.js.map +1 -1
  626. package/legacy/security/plugins/apiKeyAuthentication.js +15 -24
  627. package/legacy/security/plugins/apiKeyAuthentication.js.map +1 -1
  628. package/legacy/security/plugins/apiKeyAuthorization.js +9 -18
  629. package/legacy/security/plugins/apiKeyAuthorization.js.map +1 -1
  630. package/legacy/security/plugins/authenticateUsingCookie.js +18 -22
  631. package/legacy/security/plugins/authenticateUsingCookie.js.map +1 -1
  632. package/legacy/security/plugins/authenticateUsingHttpHeader.d.ts +1 -1
  633. package/legacy/security/plugins/authenticateUsingHttpHeader.js +15 -18
  634. package/legacy/security/plugins/authenticateUsingHttpHeader.js.map +1 -1
  635. package/legacy/security/plugins/secureHeaders.js +28 -21
  636. package/legacy/security/plugins/secureHeaders.js.map +1 -1
  637. package/legacy/tenancy/LegacyContext.js +45 -52
  638. package/legacy/tenancy/LegacyContext.js.map +1 -1
  639. package/legacy/tenancy/createTenancyContext.js +22 -42
  640. package/legacy/tenancy/createTenancyContext.js.map +1 -1
  641. package/legacy/users/LegacyContext.js +39 -54
  642. package/legacy/users/LegacyContext.js.map +1 -1
  643. package/legacy/users/createAdminUsersContext.js +7 -7
  644. package/legacy/users/createAdminUsersContext.js.map +1 -1
  645. package/legacy/wcp/LegacyWcpContext.js +80 -79
  646. package/legacy/wcp/LegacyWcpContext.js.map +1 -1
  647. package/legacy/wcp/context.d.ts +1 -3
  648. package/legacy/wcp/context.js +33 -37
  649. package/legacy/wcp/context.js.map +1 -1
  650. package/models/base/BaseModel.js +51 -56
  651. package/models/base/BaseModel.js.map +1 -1
  652. package/models/base/ModelBuilder.js +65 -78
  653. package/models/base/ModelBuilder.js.map +1 -1
  654. package/models/base/ModelFactory.js +0 -3
  655. package/models/base/__tests__/ModelBuilder.test.js +437 -454
  656. package/models/base/__tests__/ModelBuilder.test.js.map +1 -1
  657. package/models/base/abstractions.js +0 -3
  658. package/models/cms/FieldBuilder.js +112 -121
  659. package/models/cms/FieldBuilder.js.map +1 -1
  660. package/models/cms/FieldBuilderRegistry.js +13 -12
  661. package/models/cms/FieldBuilderRegistry.js.map +1 -1
  662. package/models/cms/FieldDefinitionsBuilder.js +37 -54
  663. package/models/cms/FieldDefinitionsBuilder.js.map +1 -1
  664. package/models/cms/PrivateCmsModelBuilder.js +84 -89
  665. package/models/cms/PrivateCmsModelBuilder.js.map +1 -1
  666. package/models/cms/PrivatePage/Page.fields.js +7 -6
  667. package/models/cms/PrivatePage/Page.fields.js.map +1 -1
  668. package/models/cms/PrivatePage/PageModelBuilder.js +18 -15
  669. package/models/cms/PrivatePage/PageModelBuilder.js.map +1 -1
  670. package/models/cms/PrivatePage/PageModelFactory.js +20 -25
  671. package/models/cms/PrivatePage/PageModelFactory.js.map +1 -1
  672. package/models/cms/PrivatePage/__tests__/PageModelFactory.test.js +218 -234
  673. package/models/cms/PrivatePage/__tests__/PageModelFactory.test.js.map +1 -1
  674. package/models/cms/PrivatePage/__tests__/PagePublishingDecorator.js +33 -36
  675. package/models/cms/PrivatePage/__tests__/PagePublishingDecorator.js.map +1 -1
  676. package/models/cms/PrivatePage/__tests__/PageSeoDecorator.js +25 -26
  677. package/models/cms/PrivatePage/__tests__/PageSeoDecorator.js.map +1 -1
  678. package/models/cms/PrivatePage/abstractions.js +3 -9
  679. package/models/cms/PrivatePage/abstractions.js.map +1 -1
  680. package/models/cms/__tests__/PrivateCmsModelBuilder.test.js +173 -185
  681. package/models/cms/__tests__/PrivateCmsModelBuilder.test.js.map +1 -1
  682. package/models/cms/abstractions.js +3 -20
  683. package/models/cms/abstractions.js.map +1 -1
  684. package/models/cms/types.js +0 -3
  685. package/models/simple/Page/PageModelBuilder.js +15 -14
  686. package/models/simple/Page/PageModelBuilder.js.map +1 -1
  687. package/models/simple/Page/PageModelFactory.js +16 -15
  688. package/models/simple/Page/PageModelFactory.js.map +1 -1
  689. package/models/simple/Page/__tests__/PageModelBuilderDecorator.js +21 -20
  690. package/models/simple/Page/__tests__/PageModelBuilderDecorator.js.map +1 -1
  691. package/models/simple/Page/__tests__/PageModelBuilderDecorator2.js +17 -16
  692. package/models/simple/Page/__tests__/PageModelBuilderDecorator2.js.map +1 -1
  693. package/models/simple/Page/__tests__/PageModelFactory.test.js +28 -28
  694. package/models/simple/Page/__tests__/PageModelFactory.test.js.map +1 -1
  695. package/models/simple/Page/abstractions.js +9 -8
  696. package/models/simple/Page/abstractions.js.map +1 -1
  697. package/package.json +21 -21
  698. package/types/core.js +0 -3
  699. package/types/security.js +0 -3
  700. package/types/tenancy.js +0 -3
  701. package/types/users.js +0 -3
  702. package/domain/tenancy/errors.js.map +0 -1
  703. package/exports/api/build-params.js.map +0 -1
  704. package/exports/api/event-publisher.js.map +0 -1
  705. package/exports/api/graphql.js.map +0 -1
  706. package/exports/api/key-value-store.js.map +0 -1
  707. package/exports/api/logger.js.map +0 -1
  708. package/exports/api/security/api-key.js.map +0 -1
  709. package/exports/api/security/authentication.js.map +0 -1
  710. package/exports/api/security/role.js.map +0 -1
  711. package/exports/api/security/user.js.map +0 -1
  712. package/exports/api/security.js.map +0 -1
  713. package/exports/api/system.js.map +0 -1
  714. package/exports/api/tasks.js.map +0 -1
  715. package/exports/api/tenancy.js.map +0 -1
  716. package/exports/api.js.map +0 -1
  717. package/features/ai/index.js.map +0 -1
  718. package/features/buildParams/index.js.map +0 -1
  719. package/features/encryption/index.js.map +0 -1
  720. package/features/eventPublisher/index.js.map +0 -1
  721. package/features/keyValueStore/index.js.map +0 -1
  722. package/features/logger/index.js.map +0 -1
  723. package/features/masker/index.js.map +0 -1
  724. package/features/security/IdentityContext/index.js.map +0 -1
  725. package/features/security/apiKeys/CreateApiKey/index.js.map +0 -1
  726. package/features/security/apiKeys/DeleteApiKey/index.js.map +0 -1
  727. package/features/security/apiKeys/GetApiKey/index.js.map +0 -1
  728. package/features/security/apiKeys/GetApiKeyBySlug/index.js.map +0 -1
  729. package/features/security/apiKeys/GetApiKeyByToken/index.js.map +0 -1
  730. package/features/security/apiKeys/ListApiKeys/index.js.map +0 -1
  731. package/features/security/apiKeys/UpdateApiKey/index.js.map +0 -1
  732. package/features/security/apiKeys/shared/types.js.map +0 -1
  733. package/features/security/authentication/AuthenticationContext/index.js.map +0 -1
  734. package/features/security/authentication/Authenticator/index.js.map +0 -1
  735. package/features/security/authorization/AuthorizationContext/index.js.map +0 -1
  736. package/features/security/authorization/Authorizer/index.js.map +0 -1
  737. package/features/security/login/index.js.map +0 -1
  738. package/features/security/permissions/index.js.map +0 -1
  739. package/features/security/permissions/types.js.map +0 -1
  740. package/features/security/roles/CreateRole/index.js.map +0 -1
  741. package/features/security/roles/DeleteRole/index.js.map +0 -1
  742. package/features/security/roles/GetRole/index.js.map +0 -1
  743. package/features/security/roles/ListRoles/index.js.map +0 -1
  744. package/features/security/roles/UpdateRole/index.js.map +0 -1
  745. package/features/security/roles/shared/types.js.map +0 -1
  746. package/features/security/shared/index.js.map +0 -1
  747. package/features/security/teams/CreateTeam/index.js.map +0 -1
  748. package/features/security/teams/DeleteTeam/index.js.map +0 -1
  749. package/features/security/teams/GetTeam/index.js.map +0 -1
  750. package/features/security/teams/ListTeams/index.js.map +0 -1
  751. package/features/security/teams/UpdateTeam/index.js.map +0 -1
  752. package/features/security/teams/shared/types.js.map +0 -1
  753. package/features/system/InstallSystem/index.js.map +0 -1
  754. package/features/task/TaskController/index.js.map +0 -1
  755. package/features/task/TaskDefinition/index.js.map +0 -1
  756. package/features/task/TaskService/index.js.map +0 -1
  757. package/features/tenancy/CreateTenant/index.js.map +0 -1
  758. package/features/tenancy/DeleteTenant/index.js.map +0 -1
  759. package/features/tenancy/GetRootTenant/index.js.map +0 -1
  760. package/features/tenancy/GetTenantById/index.js.map +0 -1
  761. package/features/tenancy/InstallTenant/index.js.map +0 -1
  762. package/features/tenancy/ListTenants/index.js.map +0 -1
  763. package/features/tenancy/TenantContext/index.js.map +0 -1
  764. package/features/tenancy/UpdateTenant/index.js.map +0 -1
  765. package/features/users/CreateUser/index.js.map +0 -1
  766. package/features/users/DeleteUser/index.js.map +0 -1
  767. package/features/users/ExternalIdpUserSync/index.js.map +0 -1
  768. package/features/users/GetIdentityProfile/index.js.map +0 -1
  769. package/features/users/GetIdentityProfile/types.js.map +0 -1
  770. package/features/users/GetUser/index.js.map +0 -1
  771. package/features/users/ListUserTeams/index.js.map +0 -1
  772. package/features/users/ListUsers/index.js.map +0 -1
  773. package/features/users/UpdateUser/index.js.map +0 -1
  774. package/features/users/shared/types.js.map +0 -1
  775. package/features/wcp/WcpContext/index.js.map +0 -1
  776. package/features/wcp/WcpContext/types.js.map +0 -1
  777. package/idp/index.js.map +0 -1
  778. package/idp/types.js.map +0 -1
  779. package/index.js.map +0 -1
  780. package/models/base/ModelFactory.js.map +0 -1
  781. package/models/base/abstractions.js.map +0 -1
  782. package/models/cms/types.js.map +0 -1
  783. package/types/core.js.map +0 -1
  784. package/types/security.js.map +0 -1
  785. package/types/tenancy.js.map +0 -1
  786. package/types/users.js.map +0 -1
@@ -1,12 +1,12 @@
1
- import { Response, ErrorResponse } from "@webiny/handler-graphql/responses.js";
1
+ import { ErrorResponse, Response } from "@webiny/handler-graphql/responses.js";
2
2
  import { GraphQLSchemaPlugin } from "@webiny/handler-graphql/plugins/GraphQLSchemaPlugin.js";
3
3
  import { CreateApiKeyUseCase } from "../../features/security/apiKeys/CreateApiKey/index.js";
4
4
  import { UpdateApiKeyUseCase } from "../../features/security/apiKeys/UpdateApiKey/index.js";
5
5
  import { DeleteApiKeyUseCase } from "../../features/security/apiKeys/DeleteApiKey/index.js";
6
6
  import { ListApiKeysUseCase } from "../../features/security/apiKeys/ListApiKeys/index.js";
7
7
  import { GetApiKeyUseCase } from "../../features/security/apiKeys/GetApiKey/index.js";
8
- export default new GraphQLSchemaPlugin({
9
- typeDefs: /* GraphQL */`
8
+ const apiKey_gql = new GraphQLSchemaPlugin({
9
+ typeDefs: `
10
10
  type SecurityApiKey {
11
11
  id: ID
12
12
  name: String
@@ -48,52 +48,43 @@ export default new GraphQLSchemaPlugin({
48
48
  deleteApiKey(id: ID!): SecurityBooleanResponse
49
49
  }
50
50
  `,
51
- resolvers: {
52
- SecurityQuery: {
53
- async listApiKeys(_, __, context) {
54
- const list = context.container.resolve(ListApiKeysUseCase);
55
- const result = await list.execute();
56
- if (result.isOk()) {
57
- return new Response(result.value);
51
+ resolvers: {
52
+ SecurityQuery: {
53
+ async listApiKeys (_, __, context) {
54
+ const list = context.container.resolve(ListApiKeysUseCase);
55
+ const result = await list.execute();
56
+ if (result.isOk()) return new Response(result.value);
57
+ return new ErrorResponse(result.error);
58
+ },
59
+ async getApiKey (_, args, context) {
60
+ const getById = context.container.resolve(GetApiKeyUseCase);
61
+ const result = await getById.execute(args.id);
62
+ if (result.isOk()) return new Response(result.value);
63
+ return new ErrorResponse(result.error);
64
+ }
65
+ },
66
+ SecurityMutation: {
67
+ async createApiKey (_, args, context) {
68
+ const createApiKey = context.container.resolve(CreateApiKeyUseCase);
69
+ const result = await createApiKey.execute(args.data);
70
+ if (result.isOk()) return new Response(result.value);
71
+ return new ErrorResponse(result.error);
72
+ },
73
+ async updateApiKey (_, args, context) {
74
+ const updateApiKey = context.container.resolve(UpdateApiKeyUseCase);
75
+ const result = await updateApiKey.execute(args.id, args.data);
76
+ if (result.isOk()) return new Response(result.value);
77
+ return new ErrorResponse(result.error);
78
+ },
79
+ async deleteApiKey (_, args, context) {
80
+ const deleteApiKey = context.container.resolve(DeleteApiKeyUseCase);
81
+ const result = await deleteApiKey.execute(args.id);
82
+ if (result.isOk()) return new Response(true);
83
+ return new ErrorResponse(result.error);
84
+ }
58
85
  }
59
- return new ErrorResponse(result.error);
60
- },
61
- async getApiKey(_, args, context) {
62
- const getById = context.container.resolve(GetApiKeyUseCase);
63
- const result = await getById.execute(args.id);
64
- if (result.isOk()) {
65
- return new Response(result.value);
66
- }
67
- return new ErrorResponse(result.error);
68
- }
69
- },
70
- SecurityMutation: {
71
- async createApiKey(_, args, context) {
72
- const createApiKey = context.container.resolve(CreateApiKeyUseCase);
73
- const result = await createApiKey.execute(args.data);
74
- if (result.isOk()) {
75
- return new Response(result.value);
76
- }
77
- return new ErrorResponse(result.error);
78
- },
79
- async updateApiKey(_, args, context) {
80
- const updateApiKey = context.container.resolve(UpdateApiKeyUseCase);
81
- const result = await updateApiKey.execute(args.id, args.data);
82
- if (result.isOk()) {
83
- return new Response(result.value);
84
- }
85
- return new ErrorResponse(result.error);
86
- },
87
- async deleteApiKey(_, args, context) {
88
- const deleteApiKey = context.container.resolve(DeleteApiKeyUseCase);
89
- const result = await deleteApiKey.execute(args.id);
90
- if (result.isOk()) {
91
- return new Response(true);
92
- }
93
- return new ErrorResponse(result.error);
94
- }
95
86
  }
96
- }
97
87
  });
88
+ export default apiKey_gql;
98
89
 
99
90
  //# sourceMappingURL=apiKey.gql.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Response","ErrorResponse","GraphQLSchemaPlugin","CreateApiKeyUseCase","UpdateApiKeyUseCase","DeleteApiKeyUseCase","ListApiKeysUseCase","GetApiKeyUseCase","typeDefs","resolvers","SecurityQuery","listApiKeys","_","__","context","list","container","resolve","result","execute","isOk","value","error","getApiKey","args","getById","id","SecurityMutation","createApiKey","data","updateApiKey","deleteApiKey"],"sources":["apiKey.gql.ts"],"sourcesContent":["import { Response, ErrorResponse } from \"@webiny/handler-graphql/responses.js\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin.js\";\nimport type { ApiCoreContext } from \"~/types/core.js\";\nimport { CreateApiKeyUseCase } from \"~/features/security/apiKeys/CreateApiKey/index.js\";\nimport { UpdateApiKeyUseCase } from \"~/features/security/apiKeys/UpdateApiKey/index.js\";\nimport { DeleteApiKeyUseCase } from \"~/features/security/apiKeys/DeleteApiKey/index.js\";\nimport { ListApiKeysUseCase } from \"~/features/security/apiKeys/ListApiKeys/index.js\";\nimport { GetApiKeyUseCase } from \"~/features/security/apiKeys/GetApiKey/index.js\";\n\nexport default new GraphQLSchemaPlugin<ApiCoreContext>({\n typeDefs: /* GraphQL */ `\n type SecurityApiKey {\n id: ID\n name: String\n slug: String\n description: String\n token: String\n permissions: [JSON]\n createdOn: DateTime\n createdBy: SecurityCreatedBy\n }\n\n input SecurityApiKeyInput {\n id: ID\n name: String!\n slug: String\n description: String\n token: String\n permissions: [JSON]!\n }\n\n type SecurityApiKeyResponse {\n data: SecurityApiKey\n error: SecurityError\n }\n\n type SecurityApiKeyListResponse {\n data: [SecurityApiKey!]\n error: SecurityError\n }\n\n extend type SecurityQuery {\n listApiKeys: SecurityApiKeyListResponse\n getApiKey(id: ID!): SecurityApiKeyResponse\n }\n\n extend type SecurityMutation {\n createApiKey(data: SecurityApiKeyInput!): SecurityApiKeyResponse\n updateApiKey(id: ID!, data: SecurityApiKeyInput!): SecurityApiKeyResponse\n deleteApiKey(id: ID!): SecurityBooleanResponse\n }\n `,\n resolvers: {\n SecurityQuery: {\n async listApiKeys(_, __, context) {\n const list = context.container.resolve(ListApiKeysUseCase);\n const result = await list.execute();\n\n if (result.isOk()) {\n return new Response(result.value);\n }\n return new ErrorResponse(result.error);\n },\n async getApiKey(_, args: any, context) {\n const getById = context.container.resolve(GetApiKeyUseCase);\n const result = await getById.execute(args.id);\n\n if (result.isOk()) {\n return new Response(result.value);\n }\n return new ErrorResponse(result.error);\n }\n },\n SecurityMutation: {\n async createApiKey(_, args: any, context) {\n const createApiKey = context.container.resolve(CreateApiKeyUseCase);\n const result = await createApiKey.execute(args.data);\n\n if (result.isOk()) {\n return new Response(result.value);\n }\n return new ErrorResponse(result.error);\n },\n async updateApiKey(_, args: any, context) {\n const updateApiKey = context.container.resolve(UpdateApiKeyUseCase);\n const result = await updateApiKey.execute(args.id, args.data);\n\n if (result.isOk()) {\n return new Response(result.value);\n }\n return new ErrorResponse(result.error);\n },\n async deleteApiKey(_, args: any, context) {\n const deleteApiKey = context.container.resolve(DeleteApiKeyUseCase);\n const result = await deleteApiKey.execute(args.id);\n\n if (result.isOk()) {\n return new Response(true);\n }\n return new ErrorResponse(result.error);\n }\n }\n }\n});\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,aAAa,QAAQ,sCAAsC;AAC9E,SAASC,mBAAmB,QAAQ,wDAAwD;AAE5F,SAASC,mBAAmB;AAC5B,SAASC,mBAAmB;AAC5B,SAASC,mBAAmB;AAC5B,SAASC,kBAAkB;AAC3B,SAASC,gBAAgB;AAEzB,eAAe,IAAIL,mBAAmB,CAAiB;EACnDM,QAAQ,EAAE,aAAc;AAC5B;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,KAAK;EACDC,SAAS,EAAE;IACPC,aAAa,EAAE;MACX,MAAMC,WAAWA,CAACC,CAAC,EAAEC,EAAE,EAAEC,OAAO,EAAE;QAC9B,MAAMC,IAAI,GAAGD,OAAO,CAACE,SAAS,CAACC,OAAO,CAACX,kBAAkB,CAAC;QAC1D,MAAMY,MAAM,GAAG,MAAMH,IAAI,CAACI,OAAO,CAAC,CAAC;QAEnC,IAAID,MAAM,CAACE,IAAI,CAAC,CAAC,EAAE;UACf,OAAO,IAAIpB,QAAQ,CAACkB,MAAM,CAACG,KAAK,CAAC;QACrC;QACA,OAAO,IAAIpB,aAAa,CAACiB,MAAM,CAACI,KAAK,CAAC;MAC1C,CAAC;MACD,MAAMC,SAASA,CAACX,CAAC,EAAEY,IAAS,EAAEV,OAAO,EAAE;QACnC,MAAMW,OAAO,GAAGX,OAAO,CAACE,SAAS,CAACC,OAAO,CAACV,gBAAgB,CAAC;QAC3D,MAAMW,MAAM,GAAG,MAAMO,OAAO,CAACN,OAAO,CAACK,IAAI,CAACE,EAAE,CAAC;QAE7C,IAAIR,MAAM,CAACE,IAAI,CAAC,CAAC,EAAE;UACf,OAAO,IAAIpB,QAAQ,CAACkB,MAAM,CAACG,KAAK,CAAC;QACrC;QACA,OAAO,IAAIpB,aAAa,CAACiB,MAAM,CAACI,KAAK,CAAC;MAC1C;IACJ,CAAC;IACDK,gBAAgB,EAAE;MACd,MAAMC,YAAYA,CAAChB,CAAC,EAAEY,IAAS,EAAEV,OAAO,EAAE;QACtC,MAAMc,YAAY,GAAGd,OAAO,CAACE,SAAS,CAACC,OAAO,CAACd,mBAAmB,CAAC;QACnE,MAAMe,MAAM,GAAG,MAAMU,YAAY,CAACT,OAAO,CAACK,IAAI,CAACK,IAAI,CAAC;QAEpD,IAAIX,MAAM,CAACE,IAAI,CAAC,CAAC,EAAE;UACf,OAAO,IAAIpB,QAAQ,CAACkB,MAAM,CAACG,KAAK,CAAC;QACrC;QACA,OAAO,IAAIpB,aAAa,CAACiB,MAAM,CAACI,KAAK,CAAC;MAC1C,CAAC;MACD,MAAMQ,YAAYA,CAAClB,CAAC,EAAEY,IAAS,EAAEV,OAAO,EAAE;QACtC,MAAMgB,YAAY,GAAGhB,OAAO,CAACE,SAAS,CAACC,OAAO,CAACb,mBAAmB,CAAC;QACnE,MAAMc,MAAM,GAAG,MAAMY,YAAY,CAACX,OAAO,CAACK,IAAI,CAACE,EAAE,EAAEF,IAAI,CAACK,IAAI,CAAC;QAE7D,IAAIX,MAAM,CAACE,IAAI,CAAC,CAAC,EAAE;UACf,OAAO,IAAIpB,QAAQ,CAACkB,MAAM,CAACG,KAAK,CAAC;QACrC;QACA,OAAO,IAAIpB,aAAa,CAACiB,MAAM,CAACI,KAAK,CAAC;MAC1C,CAAC;MACD,MAAMS,YAAYA,CAACnB,CAAC,EAAEY,IAAS,EAAEV,OAAO,EAAE;QACtC,MAAMiB,YAAY,GAAGjB,OAAO,CAACE,SAAS,CAACC,OAAO,CAACZ,mBAAmB,CAAC;QACnE,MAAMa,MAAM,GAAG,MAAMa,YAAY,CAACZ,OAAO,CAACK,IAAI,CAACE,EAAE,CAAC;QAElD,IAAIR,MAAM,CAACE,IAAI,CAAC,CAAC,EAAE;UACf,OAAO,IAAIpB,QAAQ,CAAC,IAAI,CAAC;QAC7B;QACA,OAAO,IAAIC,aAAa,CAACiB,MAAM,CAACI,KAAK,CAAC;MAC1C;IACJ;EACJ;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"graphql/security/apiKey.gql.js","sources":["../../../src/graphql/security/apiKey.gql.ts"],"sourcesContent":["import { Response, ErrorResponse } from \"@webiny/handler-graphql/responses.js\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin.js\";\nimport type { ApiCoreContext } from \"~/types/core.js\";\nimport { CreateApiKeyUseCase } from \"~/features/security/apiKeys/CreateApiKey/index.js\";\nimport { UpdateApiKeyUseCase } from \"~/features/security/apiKeys/UpdateApiKey/index.js\";\nimport { DeleteApiKeyUseCase } from \"~/features/security/apiKeys/DeleteApiKey/index.js\";\nimport { ListApiKeysUseCase } from \"~/features/security/apiKeys/ListApiKeys/index.js\";\nimport { GetApiKeyUseCase } from \"~/features/security/apiKeys/GetApiKey/index.js\";\n\nexport default new GraphQLSchemaPlugin<ApiCoreContext>({\n typeDefs: /* GraphQL */ `\n type SecurityApiKey {\n id: ID\n name: String\n slug: String\n description: String\n token: String\n permissions: [JSON]\n createdOn: DateTime\n createdBy: SecurityCreatedBy\n }\n\n input SecurityApiKeyInput {\n id: ID\n name: String!\n slug: String\n description: String\n token: String\n permissions: [JSON]!\n }\n\n type SecurityApiKeyResponse {\n data: SecurityApiKey\n error: SecurityError\n }\n\n type SecurityApiKeyListResponse {\n data: [SecurityApiKey!]\n error: SecurityError\n }\n\n extend type SecurityQuery {\n listApiKeys: SecurityApiKeyListResponse\n getApiKey(id: ID!): SecurityApiKeyResponse\n }\n\n extend type SecurityMutation {\n createApiKey(data: SecurityApiKeyInput!): SecurityApiKeyResponse\n updateApiKey(id: ID!, data: SecurityApiKeyInput!): SecurityApiKeyResponse\n deleteApiKey(id: ID!): SecurityBooleanResponse\n }\n `,\n resolvers: {\n SecurityQuery: {\n async listApiKeys(_, __, context) {\n const list = context.container.resolve(ListApiKeysUseCase);\n const result = await list.execute();\n\n if (result.isOk()) {\n return new Response(result.value);\n }\n return new ErrorResponse(result.error);\n },\n async getApiKey(_, args: any, context) {\n const getById = context.container.resolve(GetApiKeyUseCase);\n const result = await getById.execute(args.id);\n\n if (result.isOk()) {\n return new Response(result.value);\n }\n return new ErrorResponse(result.error);\n }\n },\n SecurityMutation: {\n async createApiKey(_, args: any, context) {\n const createApiKey = context.container.resolve(CreateApiKeyUseCase);\n const result = await createApiKey.execute(args.data);\n\n if (result.isOk()) {\n return new Response(result.value);\n }\n return new ErrorResponse(result.error);\n },\n async updateApiKey(_, args: any, context) {\n const updateApiKey = context.container.resolve(UpdateApiKeyUseCase);\n const result = await updateApiKey.execute(args.id, args.data);\n\n if (result.isOk()) {\n return new Response(result.value);\n }\n return new ErrorResponse(result.error);\n },\n async deleteApiKey(_, args: any, context) {\n const deleteApiKey = context.container.resolve(DeleteApiKeyUseCase);\n const result = await deleteApiKey.execute(args.id);\n\n if (result.isOk()) {\n return new Response(true);\n }\n return new ErrorResponse(result.error);\n }\n }\n }\n});\n"],"names":["GraphQLSchemaPlugin","_","__","context","list","ListApiKeysUseCase","result","Response","ErrorResponse","args","getById","GetApiKeyUseCase","createApiKey","CreateApiKeyUseCase","updateApiKey","UpdateApiKeyUseCase","deleteApiKey","DeleteApiKeyUseCase"],"mappings":";;;;;;;AASA,mBAAe,IAAIA,oBAAoC;IACnD,UAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyCzB,CAAC;IACD,WAAW;QACP,eAAe;YACX,MAAM,aAAYC,CAAC,EAAEC,EAAE,EAAEC,OAAO;gBAC5B,MAAMC,OAAOD,QAAQ,SAAS,CAAC,OAAO,CAACE;gBACvC,MAAMC,SAAS,MAAMF,KAAK,OAAO;gBAEjC,IAAIE,OAAO,IAAI,IACX,OAAO,IAAIC,SAASD,OAAO,KAAK;gBAEpC,OAAO,IAAIE,cAAcF,OAAO,KAAK;YACzC;YACA,MAAM,WAAUL,CAAC,EAAEQ,IAAS,EAAEN,OAAO;gBACjC,MAAMO,UAAUP,QAAQ,SAAS,CAAC,OAAO,CAACQ;gBAC1C,MAAML,SAAS,MAAMI,QAAQ,OAAO,CAACD,KAAK,EAAE;gBAE5C,IAAIH,OAAO,IAAI,IACX,OAAO,IAAIC,SAASD,OAAO,KAAK;gBAEpC,OAAO,IAAIE,cAAcF,OAAO,KAAK;YACzC;QACJ;QACA,kBAAkB;YACd,MAAM,cAAaL,CAAC,EAAEQ,IAAS,EAAEN,OAAO;gBACpC,MAAMS,eAAeT,QAAQ,SAAS,CAAC,OAAO,CAACU;gBAC/C,MAAMP,SAAS,MAAMM,aAAa,OAAO,CAACH,KAAK,IAAI;gBAEnD,IAAIH,OAAO,IAAI,IACX,OAAO,IAAIC,SAASD,OAAO,KAAK;gBAEpC,OAAO,IAAIE,cAAcF,OAAO,KAAK;YACzC;YACA,MAAM,cAAaL,CAAC,EAAEQ,IAAS,EAAEN,OAAO;gBACpC,MAAMW,eAAeX,QAAQ,SAAS,CAAC,OAAO,CAACY;gBAC/C,MAAMT,SAAS,MAAMQ,aAAa,OAAO,CAACL,KAAK,EAAE,EAAEA,KAAK,IAAI;gBAE5D,IAAIH,OAAO,IAAI,IACX,OAAO,IAAIC,SAASD,OAAO,KAAK;gBAEpC,OAAO,IAAIE,cAAcF,OAAO,KAAK;YACzC;YACA,MAAM,cAAaL,CAAC,EAAEQ,IAAS,EAAEN,OAAO;gBACpC,MAAMa,eAAeb,QAAQ,SAAS,CAAC,OAAO,CAACc;gBAC/C,MAAMX,SAAS,MAAMU,aAAa,OAAO,CAACP,KAAK,EAAE;gBAEjD,IAAIH,OAAO,IAAI,IACX,OAAO,IAAIC,SAAS;gBAExB,OAAO,IAAIC,cAAcF,OAAO,KAAK;YACzC;QACJ;IACJ;AACJ"}
@@ -1,7 +1,7 @@
1
1
  import { GraphQLSchemaPlugin } from "@webiny/handler-graphql";
2
- const emptyResolver = () => ({});
3
- export default new GraphQLSchemaPlugin({
4
- typeDefs: /* GraphQL */`
2
+ const emptyResolver = ()=>({});
3
+ const base_gql = new GraphQLSchemaPlugin({
4
+ typeDefs: `
5
5
  type SecurityMutation {
6
6
  _empty: String
7
7
  }
@@ -35,14 +35,15 @@ export default new GraphQLSchemaPlugin({
35
35
  error: SecurityError
36
36
  }
37
37
  `,
38
- resolvers: {
39
- Query: {
40
- security: emptyResolver
41
- },
42
- Mutation: {
43
- security: emptyResolver
38
+ resolvers: {
39
+ Query: {
40
+ security: emptyResolver
41
+ },
42
+ Mutation: {
43
+ security: emptyResolver
44
+ }
44
45
  }
45
- }
46
46
  });
47
+ export default base_gql;
47
48
 
48
49
  //# sourceMappingURL=base.gql.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["GraphQLSchemaPlugin","emptyResolver","typeDefs","resolvers","Query","security","Mutation"],"sources":["base.gql.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport type { SecurityContext } from \"~/types/security.js\";\n\nconst emptyResolver = () => ({});\n\nexport default new GraphQLSchemaPlugin<SecurityContext>({\n typeDefs: /* GraphQL */ `\n type SecurityMutation {\n _empty: String\n }\n\n type SecurityQuery {\n _empty: String\n }\n\n extend type Query {\n security: SecurityQuery\n }\n\n extend type Mutation {\n security: SecurityMutation\n }\n\n type SecurityCreatedBy {\n id: ID\n displayName: String\n }\n\n type SecurityError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type SecurityBooleanResponse {\n data: Boolean\n error: SecurityError\n }\n `,\n resolvers: {\n Query: {\n security: emptyResolver\n },\n Mutation: {\n security: emptyResolver\n }\n }\n});\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,yBAAyB;AAG7D,MAAMC,aAAa,GAAGA,CAAA,MAAO,CAAC,CAAC,CAAC;AAEhC,eAAe,IAAID,mBAAmB,CAAkB;EACpDE,QAAQ,EAAE,aAAc;AAC5B;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,KAAK;EACDC,SAAS,EAAE;IACPC,KAAK,EAAE;MACHC,QAAQ,EAAEJ;IACd,CAAC;IACDK,QAAQ,EAAE;MACND,QAAQ,EAAEJ;IACd;EACJ;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"graphql/security/base.gql.js","sources":["../../../src/graphql/security/base.gql.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport type { SecurityContext } from \"~/types/security.js\";\n\nconst emptyResolver = () => ({});\n\nexport default new GraphQLSchemaPlugin<SecurityContext>({\n typeDefs: /* GraphQL */ `\n type SecurityMutation {\n _empty: String\n }\n\n type SecurityQuery {\n _empty: String\n }\n\n extend type Query {\n security: SecurityQuery\n }\n\n extend type Mutation {\n security: SecurityMutation\n }\n\n type SecurityCreatedBy {\n id: ID\n displayName: String\n }\n\n type SecurityError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type SecurityBooleanResponse {\n data: Boolean\n error: SecurityError\n }\n `,\n resolvers: {\n Query: {\n security: emptyResolver\n },\n Mutation: {\n security: emptyResolver\n }\n }\n});\n"],"names":["emptyResolver","GraphQLSchemaPlugin"],"mappings":";AAGA,MAAMA,gBAAgB,IAAO,EAAC;AAE9B,iBAAe,IAAIC,oBAAqC;IACpD,UAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiCzB,CAAC;IACD,WAAW;QACP,OAAO;YACH,UAAUD;QACd;QACA,UAAU;YACN,UAAUA;QACd;IACJ;AACJ"}
@@ -7,17 +7,15 @@ import { TeamsRepository } from "../../features/security/teams/shared/abstractio
7
7
  import { RolesRepository } from "../../features/security/roles/shared/abstractions.js";
8
8
  import { IdentityContext } from "../../features/security/IdentityContext/index.js";
9
9
  import { ProfileMapper } from "./ProfileMapper.js";
10
- const getDefaultTenant = async context => {
11
- const identity = context.security.getIdentity();
12
- const defaultTenantId = identity.context.defaultTenantId ?? "root";
13
- const defaultTenant = await context.tenancy.getTenantById(defaultTenantId);
14
- if (defaultTenant) {
15
- return defaultTenant;
16
- }
17
- return context.tenancy.getRootTenant();
10
+ const getDefaultTenant = async (context)=>{
11
+ const identity = context.security.getIdentity();
12
+ const defaultTenantId = identity.context.defaultTenantId ?? "root";
13
+ const defaultTenant = await context.tenancy.getTenantById(defaultTenantId);
14
+ if (defaultTenant) return defaultTenant;
15
+ return context.tenancy.getRootTenant();
18
16
  };
19
- export default new GraphQLSchemaPlugin({
20
- typeDefs: /* GraphQL */`
17
+ const identity_gql = new GraphQLSchemaPlugin({
18
+ typeDefs: `
21
19
  type SecurityIdentityTenant {
22
20
  id: ID!
23
21
  name: String!
@@ -65,99 +63,91 @@ export default new GraphQLSchemaPlugin({
65
63
  login: SecurityIdentityLoginResponse
66
64
  }
67
65
  `,
68
- resolvers: {
69
- SecurityMutation: {
70
- login: async (_, __, context) => {
71
- const identityContext = context.container.resolve(IdentityContext);
72
- const identity = identityContext.getIdentity();
73
- if (identity.isAnonymous()) {
74
- return new ErrorResponse({
75
- code: "Security/Identity/NotAuthenticated",
76
- message: "Unauthenticated!"
77
- });
66
+ resolvers: {
67
+ SecurityMutation: {
68
+ login: async (_, __, context)=>{
69
+ const identityContext = context.container.resolve(IdentityContext);
70
+ const identity = identityContext.getIdentity();
71
+ if (identity.isAnonymous()) return new ErrorResponse({
72
+ code: "Security/Identity/NotAuthenticated",
73
+ message: "Unauthenticated!"
74
+ });
75
+ try {
76
+ const eventPublisher = context.container.resolve(EventPublisher);
77
+ await eventPublisher.publish(new AfterLoginEvent({
78
+ identity
79
+ }));
80
+ } catch (err) {
81
+ return new ErrorResponse(err);
82
+ }
83
+ const rolesRepo = context.container.resolve(RolesRepository);
84
+ const teamsRepo = context.container.resolve(TeamsRepository);
85
+ const getProfile = context.container.resolve(GetIdentityProfileUseCase);
86
+ const result = await context.security.withoutAuthorization(async ()=>getProfile.execute(identity.id));
87
+ if (result.isFail()) return new ErrorResponse({
88
+ code: "Security/Identity/NotAuthorized",
89
+ message: "Missing user profile!"
90
+ });
91
+ const user = result.value;
92
+ const [roles, teams] = await Promise.all([
93
+ getRoles(user, rolesRepo),
94
+ getTeams(user, teamsRepo)
95
+ ]);
96
+ const profileMapper = new ProfileMapper();
97
+ const profile = await profileMapper.toDTO(user);
98
+ return new Response({
99
+ ...identity.toJson(),
100
+ profile,
101
+ roles,
102
+ teams
103
+ });
104
+ }
105
+ },
106
+ SecurityIdentity: {
107
+ defaultTenant (_, __, context) {
108
+ return getDefaultTenant(context);
109
+ },
110
+ currentTenant (_, __, context) {
111
+ return context.tenancy.getCurrentTenant();
112
+ },
113
+ permissions (_, __, context) {
114
+ return context.security.listPermissions();
115
+ }
78
116
  }
79
- try {
80
- const eventPublisher = context.container.resolve(EventPublisher);
81
- await eventPublisher.publish(new AfterLoginEvent({
82
- identity
83
- }));
84
- } catch (err) {
85
- return new ErrorResponse(err);
86
- }
87
-
88
- // Roles and teams are stored in the user record.
89
- const rolesRepo = context.container.resolve(RolesRepository);
90
- const teamsRepo = context.container.resolve(TeamsRepository);
91
- const getProfile = context.container.resolve(GetIdentityProfileUseCase);
92
- const result = await context.security.withoutAuthorization(async () => {
93
- return getProfile.execute(identity.id);
94
- });
95
- if (result.isFail()) {
96
- return new ErrorResponse({
97
- code: "Security/Identity/NotAuthorized",
98
- message: "Missing user profile!"
99
- });
100
- }
101
- const user = result.value;
102
- const [roles, teams] = await Promise.all([getRoles(user, rolesRepo), getTeams(user, teamsRepo)]);
103
- const profileMapper = new ProfileMapper();
104
- const profile = await profileMapper.toDTO(user);
105
- return new Response({
106
- ...identity.toJson(),
107
- profile,
108
- roles,
109
- teams
110
- });
111
- }
112
- },
113
- SecurityIdentity: {
114
- defaultTenant(_, __, context) {
115
- return getDefaultTenant(context);
116
- },
117
- currentTenant(_, __, context) {
118
- return context.tenancy.getCurrentTenant();
119
- },
120
- permissions(_, __, context) {
121
- return context.security.listPermissions();
122
- }
123
117
  }
124
- }
125
118
  });
126
- const getRoles = async (user, rolesRepo) => {
127
- const roleIds = user.roles ?? [];
128
- if (roleIds.length > 0) {
129
- const result = await rolesRepo.list({
130
- where: {
131
- id_in: roleIds
132
- }
133
- });
134
- if (result.isOk()) {
135
- return result.value.map(role => ({
136
- id: role.id,
137
- slug: role.slug,
138
- name: role.name
139
- }));
119
+ const getRoles = async (user, rolesRepo)=>{
120
+ const roleIds = user.roles ?? [];
121
+ if (roleIds.length > 0) {
122
+ const result = await rolesRepo.list({
123
+ where: {
124
+ id_in: roleIds
125
+ }
126
+ });
127
+ if (result.isOk()) return result.value.map((role)=>({
128
+ id: role.id,
129
+ slug: role.slug,
130
+ name: role.name
131
+ }));
140
132
  }
141
- }
142
- return [];
133
+ return [];
143
134
  };
144
- const getTeams = async (user, teamsRepo) => {
145
- const teamIds = user.teams ?? [];
146
- if (teamIds.length > 0) {
147
- const result = await teamsRepo.list({
148
- where: {
149
- id_in: teamIds
150
- }
151
- });
152
- if (result.isOk()) {
153
- return result.value.map(team => ({
154
- id: team.id,
155
- slug: team.slug,
156
- name: team.name
157
- }));
135
+ const getTeams = async (user, teamsRepo)=>{
136
+ const teamIds = user.teams ?? [];
137
+ if (teamIds.length > 0) {
138
+ const result = await teamsRepo.list({
139
+ where: {
140
+ id_in: teamIds
141
+ }
142
+ });
143
+ if (result.isOk()) return result.value.map((team)=>({
144
+ id: team.id,
145
+ slug: team.slug,
146
+ name: team.name
147
+ }));
158
148
  }
159
- }
160
- return [];
149
+ return [];
161
150
  };
151
+ export default identity_gql;
162
152
 
163
153
  //# sourceMappingURL=identity.gql.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["GraphQLSchemaPlugin","ErrorResponse","Response","EventPublisher","AfterLoginEvent","GetIdentityProfileUseCase","TeamsRepository","RolesRepository","IdentityContext","ProfileMapper","getDefaultTenant","context","identity","security","getIdentity","defaultTenantId","defaultTenant","tenancy","getTenantById","getRootTenant","typeDefs","resolvers","SecurityMutation","login","_","__","identityContext","container","resolve","isAnonymous","code","message","eventPublisher","publish","err","rolesRepo","teamsRepo","getProfile","result","withoutAuthorization","execute","id","isFail","user","value","roles","teams","Promise","all","getRoles","getTeams","profileMapper","profile","toDTO","toJson","SecurityIdentity","currentTenant","getCurrentTenant","permissions","listPermissions","roleIds","length","list","where","id_in","isOk","map","role","slug","name","teamIds","team"],"sources":["identity.gql.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin.js\";\nimport { ErrorResponse, Response } from \"@webiny/handler-graphql\";\nimport { EventPublisher } from \"~/features/eventPublisher/index.js\";\nimport type { ApiCoreContext } from \"~/types/core.js\";\nimport { AfterLoginEvent } from \"~/features/security/login/index.js\";\nimport { GetIdentityProfileUseCase } from \"~/features/users/GetIdentityProfile/index.js\";\nimport type { SecurityContext } from \"~/types/security.js\";\nimport type { AdminUser } from \"~/types/users.js\";\nimport { TeamsRepository } from \"~/features/security/teams/shared/abstractions.js\";\nimport { RolesRepository } from \"~/features/security/roles/shared/abstractions.js\";\nimport { IdentityContext } from \"~/features/security/IdentityContext/index.js\";\nimport { ProfileMapper } from \"./ProfileMapper.js\";\n\nconst getDefaultTenant = async (context: SecurityContext) => {\n const identity = context.security.getIdentity();\n const defaultTenantId = identity.context.defaultTenantId ?? \"root\";\n\n const defaultTenant = await context.tenancy.getTenantById(defaultTenantId);\n if (defaultTenant) {\n return defaultTenant;\n }\n\n return context.tenancy.getRootTenant();\n};\n\nexport default new GraphQLSchemaPlugin<ApiCoreContext>({\n typeDefs: /* GraphQL */ `\n type SecurityIdentityTenant {\n id: ID!\n name: String!\n }\n type SecurityIdentityProfileRole {\n id: String!\n slug: String!\n name: String!\n }\n\n type SecurityIdentityProfileTeam {\n id: String!\n slug: String!\n name: String!\n }\n\n type SecurityIdentityProfile {\n firstName: String\n lastName: String\n email: String\n avatar: JSON\n external: Boolean!\n createdOn: DateTime!\n }\n\n type SecurityIdentity {\n id: ID!\n type: String!\n displayName: String!\n roles: [SecurityIdentityProfileRole!]!\n teams: [SecurityIdentityProfileTeam!]!\n permissions: [JSON!]!\n profile: SecurityIdentityProfile!\n currentTenant: SecurityIdentityTenant!\n defaultTenant: SecurityIdentityTenant!\n }\n\n type SecurityIdentityLoginResponse {\n data: SecurityIdentity\n error: SecurityError\n }\n\n extend type SecurityMutation {\n \"Login using idToken obtained from a 3rd party identity provider\"\n login: SecurityIdentityLoginResponse\n }\n `,\n resolvers: {\n SecurityMutation: {\n login: async (_, __, context) => {\n const identityContext = context.container.resolve(IdentityContext);\n const identity = identityContext.getIdentity();\n if (identity.isAnonymous()) {\n return new ErrorResponse({\n code: \"Security/Identity/NotAuthenticated\",\n message: \"Unauthenticated!\"\n });\n }\n\n try {\n const eventPublisher = context.container.resolve(EventPublisher);\n await eventPublisher.publish(new AfterLoginEvent({ identity }));\n } catch (err) {\n return new ErrorResponse(err);\n }\n\n // Roles and teams are stored in the user record.\n const rolesRepo = context.container.resolve(RolesRepository);\n const teamsRepo = context.container.resolve(TeamsRepository);\n const getProfile = context.container.resolve(GetIdentityProfileUseCase);\n\n const result = await context.security.withoutAuthorization(async () => {\n return getProfile.execute(identity.id);\n });\n\n if (result.isFail()) {\n return new ErrorResponse({\n code: \"Security/Identity/NotAuthorized\",\n message: \"Missing user profile!\"\n });\n }\n\n const user = result.value;\n\n const [roles, teams] = await Promise.all([\n getRoles(user, rolesRepo),\n getTeams(user, teamsRepo)\n ]);\n\n const profileMapper = new ProfileMapper();\n const profile = await profileMapper.toDTO(user);\n\n return new Response({\n ...identity.toJson(),\n profile,\n roles,\n teams\n });\n }\n },\n SecurityIdentity: {\n defaultTenant(_, __, context) {\n return getDefaultTenant(context);\n },\n currentTenant(_, __, context) {\n return context.tenancy.getCurrentTenant();\n },\n permissions(_, __, context) {\n return context.security.listPermissions();\n }\n }\n }\n});\n\nconst getRoles = async (user: AdminUser, rolesRepo: RolesRepository.Interface) => {\n const roleIds = user.roles ?? [];\n if (roleIds.length > 0) {\n const result = await rolesRepo.list({\n where: { id_in: roleIds }\n });\n\n if (result.isOk()) {\n return result.value.map(role => ({\n id: role.id,\n slug: role.slug,\n name: role.name\n }));\n }\n }\n\n return [];\n};\n\nconst getTeams = async (user: AdminUser, teamsRepo: TeamsRepository.Interface) => {\n const teamIds = user.teams ?? [];\n if (teamIds.length > 0) {\n const result = await teamsRepo.list({\n where: { id_in: teamIds }\n });\n if (result.isOk()) {\n return result.value.map(team => ({\n id: team.id,\n slug: team.slug,\n name: team.name\n }));\n }\n }\n return [];\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"graphql/security/identity.gql.js","sources":["../../../src/graphql/security/identity.gql.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin.js\";\nimport { ErrorResponse, Response } from \"@webiny/handler-graphql\";\nimport { EventPublisher } from \"~/features/eventPublisher/index.js\";\nimport type { ApiCoreContext } from \"~/types/core.js\";\nimport { AfterLoginEvent } from \"~/features/security/login/index.js\";\nimport { GetIdentityProfileUseCase } from \"~/features/users/GetIdentityProfile/index.js\";\nimport type { SecurityContext } from \"~/types/security.js\";\nimport type { AdminUser } from \"~/types/users.js\";\nimport { TeamsRepository } from \"~/features/security/teams/shared/abstractions.js\";\nimport { RolesRepository } from \"~/features/security/roles/shared/abstractions.js\";\nimport { IdentityContext } from \"~/features/security/IdentityContext/index.js\";\nimport { ProfileMapper } from \"./ProfileMapper.js\";\n\nconst getDefaultTenant = async (context: SecurityContext) => {\n const identity = context.security.getIdentity();\n const defaultTenantId = identity.context.defaultTenantId ?? \"root\";\n\n const defaultTenant = await context.tenancy.getTenantById(defaultTenantId);\n if (defaultTenant) {\n return defaultTenant;\n }\n\n return context.tenancy.getRootTenant();\n};\n\nexport default new GraphQLSchemaPlugin<ApiCoreContext>({\n typeDefs: /* GraphQL */ `\n type SecurityIdentityTenant {\n id: ID!\n name: String!\n }\n type SecurityIdentityProfileRole {\n id: String!\n slug: String!\n name: String!\n }\n\n type SecurityIdentityProfileTeam {\n id: String!\n slug: String!\n name: String!\n }\n\n type SecurityIdentityProfile {\n firstName: String\n lastName: String\n email: String\n avatar: JSON\n external: Boolean!\n createdOn: DateTime!\n }\n\n type SecurityIdentity {\n id: ID!\n type: String!\n displayName: String!\n roles: [SecurityIdentityProfileRole!]!\n teams: [SecurityIdentityProfileTeam!]!\n permissions: [JSON!]!\n profile: SecurityIdentityProfile!\n currentTenant: SecurityIdentityTenant!\n defaultTenant: SecurityIdentityTenant!\n }\n\n type SecurityIdentityLoginResponse {\n data: SecurityIdentity\n error: SecurityError\n }\n\n extend type SecurityMutation {\n \"Login using idToken obtained from a 3rd party identity provider\"\n login: SecurityIdentityLoginResponse\n }\n `,\n resolvers: {\n SecurityMutation: {\n login: async (_, __, context) => {\n const identityContext = context.container.resolve(IdentityContext);\n const identity = identityContext.getIdentity();\n if (identity.isAnonymous()) {\n return new ErrorResponse({\n code: \"Security/Identity/NotAuthenticated\",\n message: \"Unauthenticated!\"\n });\n }\n\n try {\n const eventPublisher = context.container.resolve(EventPublisher);\n await eventPublisher.publish(new AfterLoginEvent({ identity }));\n } catch (err) {\n return new ErrorResponse(err);\n }\n\n // Roles and teams are stored in the user record.\n const rolesRepo = context.container.resolve(RolesRepository);\n const teamsRepo = context.container.resolve(TeamsRepository);\n const getProfile = context.container.resolve(GetIdentityProfileUseCase);\n\n const result = await context.security.withoutAuthorization(async () => {\n return getProfile.execute(identity.id);\n });\n\n if (result.isFail()) {\n return new ErrorResponse({\n code: \"Security/Identity/NotAuthorized\",\n message: \"Missing user profile!\"\n });\n }\n\n const user = result.value;\n\n const [roles, teams] = await Promise.all([\n getRoles(user, rolesRepo),\n getTeams(user, teamsRepo)\n ]);\n\n const profileMapper = new ProfileMapper();\n const profile = await profileMapper.toDTO(user);\n\n return new Response({\n ...identity.toJson(),\n profile,\n roles,\n teams\n });\n }\n },\n SecurityIdentity: {\n defaultTenant(_, __, context) {\n return getDefaultTenant(context);\n },\n currentTenant(_, __, context) {\n return context.tenancy.getCurrentTenant();\n },\n permissions(_, __, context) {\n return context.security.listPermissions();\n }\n }\n }\n});\n\nconst getRoles = async (user: AdminUser, rolesRepo: RolesRepository.Interface) => {\n const roleIds = user.roles ?? [];\n if (roleIds.length > 0) {\n const result = await rolesRepo.list({\n where: { id_in: roleIds }\n });\n\n if (result.isOk()) {\n return result.value.map(role => ({\n id: role.id,\n slug: role.slug,\n name: role.name\n }));\n }\n }\n\n return [];\n};\n\nconst getTeams = async (user: AdminUser, teamsRepo: TeamsRepository.Interface) => {\n const teamIds = user.teams ?? [];\n if (teamIds.length > 0) {\n const result = await teamsRepo.list({\n where: { id_in: teamIds }\n });\n if (result.isOk()) {\n return result.value.map(team => ({\n id: team.id,\n slug: team.slug,\n name: team.name\n }));\n }\n }\n return [];\n};\n"],"names":["getDefaultTenant","context","identity","defaultTenantId","defaultTenant","GraphQLSchemaPlugin","_","__","identityContext","IdentityContext","ErrorResponse","eventPublisher","EventPublisher","AfterLoginEvent","err","rolesRepo","RolesRepository","teamsRepo","TeamsRepository","getProfile","GetIdentityProfileUseCase","result","user","roles","teams","Promise","getRoles","getTeams","profileMapper","ProfileMapper","profile","Response","roleIds","role","teamIds","team"],"mappings":"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"}
@@ -1,10 +1,15 @@
1
- import base from "./base.gql.js";
2
- import apiKey from "./apiKey.gql.js";
3
- import role from "./role.gql.js";
4
- import team from "./team.gql.js";
5
- import identity from "./identity.gql.js";
6
- export const createSecurityGraphQL = () => {
7
- return [base, team, apiKey, role, identity];
8
- };
1
+ import base_gql from "./base.gql.js";
2
+ import apiKey_gql from "./apiKey.gql.js";
3
+ import role_gql from "./role.gql.js";
4
+ import team_gql from "./team.gql.js";
5
+ import identity_gql from "./identity.gql.js";
6
+ const createSecurityGraphQL = ()=>[
7
+ base_gql,
8
+ team_gql,
9
+ apiKey_gql,
10
+ role_gql,
11
+ identity_gql
12
+ ];
13
+ export { createSecurityGraphQL };
9
14
 
10
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["base","apiKey","role","team","identity","createSecurityGraphQL"],"sources":["index.ts"],"sourcesContent":["import base from \"./base.gql.js\";\nimport apiKey from \"./apiKey.gql.js\";\nimport role from \"./role.gql.js\";\nimport team from \"./team.gql.js\";\nimport identity from \"./identity.gql.js\";\n\nexport const createSecurityGraphQL = () => {\n return [base, team, apiKey, role, identity];\n};\n"],"mappings":"AAAA,OAAOA,IAAI;AACX,OAAOC,MAAM;AACb,OAAOC,IAAI;AACX,OAAOC,IAAI;AACX,OAAOC,QAAQ;AAEf,OAAO,MAAMC,qBAAqB,GAAGA,CAAA,KAAM;EACvC,OAAO,CAACL,IAAI,EAAEG,IAAI,EAAEF,MAAM,EAAEC,IAAI,EAAEE,QAAQ,CAAC;AAC/C,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"graphql/security/index.js","sources":["../../../src/graphql/security/index.ts"],"sourcesContent":["import base from \"./base.gql.js\";\nimport apiKey from \"./apiKey.gql.js\";\nimport role from \"./role.gql.js\";\nimport team from \"./team.gql.js\";\nimport identity from \"./identity.gql.js\";\n\nexport const createSecurityGraphQL = () => {\n return [base, team, apiKey, role, identity];\n};\n"],"names":["createSecurityGraphQL","base","team","apiKey","role","identity"],"mappings":";;;;;AAMO,MAAMA,wBAAwB,IAC1B;QAACC;QAAMC;QAAMC;QAAQC;QAAMC;KAAS"}
@@ -1,7 +1,7 @@
1
1
  import { ErrorResponse, ListErrorResponse, ListResponse, Response } from "@webiny/handler-graphql/responses.js";
2
2
  import { GraphQLSchemaPlugin } from "@webiny/handler-graphql/plugins/GraphQLSchemaPlugin.js";
3
- export default new GraphQLSchemaPlugin({
4
- typeDefs: /* GraphQL */`
3
+ const role_gql = new GraphQLSchemaPlugin({
4
+ typeDefs: `
5
5
  type SecurityRole {
6
6
  id: ID
7
7
  name: String
@@ -52,63 +52,55 @@ export default new GraphQLSchemaPlugin({
52
52
  deleteRole(id: ID!): SecurityBooleanResponse
53
53
  }
54
54
  `,
55
- resolvers: {
56
- SecurityQuery: {
57
- getRole: async (_, {
58
- where
59
- }, context) => {
60
- try {
61
- const roles = await context.security.getRole({
62
- where
63
- });
64
- return new Response(roles);
65
- } catch (e) {
66
- return new ErrorResponse(e);
55
+ resolvers: {
56
+ SecurityQuery: {
57
+ getRole: async (_, { where }, context)=>{
58
+ try {
59
+ const roles = await context.security.getRole({
60
+ where
61
+ });
62
+ return new Response(roles);
63
+ } catch (e) {
64
+ return new ErrorResponse(e);
65
+ }
66
+ },
67
+ listRoles: async (_, __, context)=>{
68
+ try {
69
+ const rolesList = await context.security.listRoles();
70
+ return new ListResponse(rolesList);
71
+ } catch (e) {
72
+ return new ListErrorResponse(e);
73
+ }
74
+ }
75
+ },
76
+ SecurityMutation: {
77
+ createRole: async (_, { data }, context)=>{
78
+ try {
79
+ const role = await context.security.createRole(data);
80
+ return new Response(role);
81
+ } catch (e) {
82
+ return new ErrorResponse(e);
83
+ }
84
+ },
85
+ updateRole: async (_, { id, data }, context)=>{
86
+ try {
87
+ const role = await context.security.updateRole(id, data);
88
+ return new Response(role);
89
+ } catch (e) {
90
+ return new ErrorResponse(e);
91
+ }
92
+ },
93
+ deleteRole: async (_, { id }, context)=>{
94
+ try {
95
+ await context.security.deleteRole(id);
96
+ return new Response(true);
97
+ } catch (e) {
98
+ return new ErrorResponse(e);
99
+ }
100
+ }
67
101
  }
68
- },
69
- listRoles: async (_, __, context) => {
70
- try {
71
- const rolesList = await context.security.listRoles();
72
- return new ListResponse(rolesList);
73
- } catch (e) {
74
- return new ListErrorResponse(e);
75
- }
76
- }
77
- },
78
- SecurityMutation: {
79
- createRole: async (_, {
80
- data
81
- }, context) => {
82
- try {
83
- const role = await context.security.createRole(data);
84
- return new Response(role);
85
- } catch (e) {
86
- return new ErrorResponse(e);
87
- }
88
- },
89
- updateRole: async (_, {
90
- id,
91
- data
92
- }, context) => {
93
- try {
94
- const role = await context.security.updateRole(id, data);
95
- return new Response(role);
96
- } catch (e) {
97
- return new ErrorResponse(e);
98
- }
99
- },
100
- deleteRole: async (_, {
101
- id
102
- }, context) => {
103
- try {
104
- await context.security.deleteRole(id);
105
- return new Response(true);
106
- } catch (e) {
107
- return new ErrorResponse(e);
108
- }
109
- }
110
102
  }
111
- }
112
103
  });
104
+ export default role_gql;
113
105
 
114
106
  //# sourceMappingURL=role.gql.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ErrorResponse","ListErrorResponse","ListResponse","Response","GraphQLSchemaPlugin","typeDefs","resolvers","SecurityQuery","getRole","_","where","context","roles","security","e","listRoles","__","rolesList","SecurityMutation","createRole","data","role","updateRole","id","deleteRole"],"sources":["role.gql.ts"],"sourcesContent":["import {\n ErrorResponse,\n ListErrorResponse,\n ListResponse,\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\";\n\nexport default new GraphQLSchemaPlugin<ApiCoreContext>({\n typeDefs: /* GraphQL */ `\n type SecurityRole {\n id: ID\n name: String\n slug: String\n createdOn: DateTime\n description: String\n permissions: [JSON]\n system: Boolean!\n plugin: Boolean\n }\n\n input SecurityRoleCreateInput {\n name: String!\n slug: String!\n description: String\n permissions: [JSON!]!\n }\n\n input SecurityRoleUpdateInput {\n name: String\n description: String\n permissions: [JSON!]\n }\n\n type SecurityRoleResponse {\n data: SecurityRole\n error: SecurityError\n }\n\n type SecurityRoleListResponse {\n data: [SecurityRole]\n error: SecurityError\n }\n\n input GetRoleWhereInput {\n id: ID\n slug: String\n }\n\n extend type SecurityQuery {\n getRole(where: GetRoleWhereInput!): SecurityRoleResponse\n listRoles: SecurityRoleListResponse\n }\n\n extend type SecurityMutation {\n createRole(data: SecurityRoleCreateInput!): SecurityRoleResponse\n updateRole(id: ID!, data: SecurityRoleUpdateInput!): SecurityRoleResponse\n deleteRole(id: ID!): SecurityBooleanResponse\n }\n `,\n resolvers: {\n SecurityQuery: {\n getRole: async (_, { where }, context) => {\n try {\n const roles = await context.security.getRole({ where });\n return new Response(roles);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n listRoles: async (_, __, context) => {\n try {\n const rolesList = await context.security.listRoles();\n\n return new ListResponse(rolesList);\n } catch (e) {\n return new ListErrorResponse(e);\n }\n }\n },\n SecurityMutation: {\n createRole: async (_, { data }, context) => {\n try {\n const role = await context.security.createRole(data);\n\n return new Response(role);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n updateRole: async (_, { id, data }, context) => {\n try {\n const role = await context.security.updateRole(id, data);\n return new Response(role);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n deleteRole: async (_, { id }, context) => {\n try {\n await context.security.deleteRole(id);\n\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n }\n }\n});\n"],"mappings":"AAAA,SACIA,aAAa,EACbC,iBAAiB,EACjBC,YAAY,EACZC,QAAQ,QACL,sCAAsC;AAC7C,SAASC,mBAAmB,QAAQ,wDAAwD;AAG5F,eAAe,IAAIA,mBAAmB,CAAiB;EACnDC,QAAQ,EAAE,aAAc;AAC5B;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,KAAK;EACDC,SAAS,EAAE;IACPC,aAAa,EAAE;MACXC,OAAO,EAAE,MAAAA,CAAOC,CAAC,EAAE;QAAEC;MAAM,CAAC,EAAEC,OAAO,KAAK;QACtC,IAAI;UACA,MAAMC,KAAK,GAAG,MAAMD,OAAO,CAACE,QAAQ,CAACL,OAAO,CAAC;YAAEE;UAAM,CAAC,CAAC;UACvD,OAAO,IAAIP,QAAQ,CAACS,KAAK,CAAC;QAC9B,CAAC,CAAC,OAAOE,CAAC,EAAE;UACR,OAAO,IAAId,aAAa,CAACc,CAAC,CAAC;QAC/B;MACJ,CAAC;MACDC,SAAS,EAAE,MAAAA,CAAON,CAAC,EAAEO,EAAE,EAAEL,OAAO,KAAK;QACjC,IAAI;UACA,MAAMM,SAAS,GAAG,MAAMN,OAAO,CAACE,QAAQ,CAACE,SAAS,CAAC,CAAC;UAEpD,OAAO,IAAIb,YAAY,CAACe,SAAS,CAAC;QACtC,CAAC,CAAC,OAAOH,CAAC,EAAE;UACR,OAAO,IAAIb,iBAAiB,CAACa,CAAC,CAAC;QACnC;MACJ;IACJ,CAAC;IACDI,gBAAgB,EAAE;MACdC,UAAU,EAAE,MAAAA,CAAOV,CAAC,EAAE;QAAEW;MAAK,CAAC,EAAET,OAAO,KAAK;QACxC,IAAI;UACA,MAAMU,IAAI,GAAG,MAAMV,OAAO,CAACE,QAAQ,CAACM,UAAU,CAACC,IAAI,CAAC;UAEpD,OAAO,IAAIjB,QAAQ,CAACkB,IAAI,CAAC;QAC7B,CAAC,CAAC,OAAOP,CAAC,EAAE;UACR,OAAO,IAAId,aAAa,CAACc,CAAC,CAAC;QAC/B;MACJ,CAAC;MACDQ,UAAU,EAAE,MAAAA,CAAOb,CAAC,EAAE;QAAEc,EAAE;QAAEH;MAAK,CAAC,EAAET,OAAO,KAAK;QAC5C,IAAI;UACA,MAAMU,IAAI,GAAG,MAAMV,OAAO,CAACE,QAAQ,CAACS,UAAU,CAACC,EAAE,EAAEH,IAAI,CAAC;UACxD,OAAO,IAAIjB,QAAQ,CAACkB,IAAI,CAAC;QAC7B,CAAC,CAAC,OAAOP,CAAC,EAAE;UACR,OAAO,IAAId,aAAa,CAACc,CAAC,CAAC;QAC/B;MACJ,CAAC;MACDU,UAAU,EAAE,MAAAA,CAAOf,CAAC,EAAE;QAAEc;MAAG,CAAC,EAAEZ,OAAO,KAAK;QACtC,IAAI;UACA,MAAMA,OAAO,CAACE,QAAQ,CAACW,UAAU,CAACD,EAAE,CAAC;UAErC,OAAO,IAAIpB,QAAQ,CAAC,IAAI,CAAC;QAC7B,CAAC,CAAC,OAAOW,CAAC,EAAE;UACR,OAAO,IAAId,aAAa,CAACc,CAAC,CAAC;QAC/B;MACJ;IACJ;EACJ;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"graphql/security/role.gql.js","sources":["../../../src/graphql/security/role.gql.ts"],"sourcesContent":["import {\n ErrorResponse,\n ListErrorResponse,\n ListResponse,\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\";\n\nexport default new GraphQLSchemaPlugin<ApiCoreContext>({\n typeDefs: /* GraphQL */ `\n type SecurityRole {\n id: ID\n name: String\n slug: String\n createdOn: DateTime\n description: String\n permissions: [JSON]\n system: Boolean!\n plugin: Boolean\n }\n\n input SecurityRoleCreateInput {\n name: String!\n slug: String!\n description: String\n permissions: [JSON!]!\n }\n\n input SecurityRoleUpdateInput {\n name: String\n description: String\n permissions: [JSON!]\n }\n\n type SecurityRoleResponse {\n data: SecurityRole\n error: SecurityError\n }\n\n type SecurityRoleListResponse {\n data: [SecurityRole]\n error: SecurityError\n }\n\n input GetRoleWhereInput {\n id: ID\n slug: String\n }\n\n extend type SecurityQuery {\n getRole(where: GetRoleWhereInput!): SecurityRoleResponse\n listRoles: SecurityRoleListResponse\n }\n\n extend type SecurityMutation {\n createRole(data: SecurityRoleCreateInput!): SecurityRoleResponse\n updateRole(id: ID!, data: SecurityRoleUpdateInput!): SecurityRoleResponse\n deleteRole(id: ID!): SecurityBooleanResponse\n }\n `,\n resolvers: {\n SecurityQuery: {\n getRole: async (_, { where }, context) => {\n try {\n const roles = await context.security.getRole({ where });\n return new Response(roles);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n listRoles: async (_, __, context) => {\n try {\n const rolesList = await context.security.listRoles();\n\n return new ListResponse(rolesList);\n } catch (e) {\n return new ListErrorResponse(e);\n }\n }\n },\n SecurityMutation: {\n createRole: async (_, { data }, context) => {\n try {\n const role = await context.security.createRole(data);\n\n return new Response(role);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n updateRole: async (_, { id, data }, context) => {\n try {\n const role = await context.security.updateRole(id, data);\n return new Response(role);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n deleteRole: async (_, { id }, context) => {\n try {\n await context.security.deleteRole(id);\n\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n }\n }\n});\n"],"names":["GraphQLSchemaPlugin","_","where","context","roles","Response","e","ErrorResponse","__","rolesList","ListResponse","ListErrorResponse","data","role","id"],"mappings":";;AASA,iBAAe,IAAIA,oBAAoC;IACnD,UAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkDzB,CAAC;IACD,WAAW;QACP,eAAe;YACX,SAAS,OAAOC,GAAG,EAAEC,KAAK,EAAE,EAAEC;gBAC1B,IAAI;oBACA,MAAMC,QAAQ,MAAMD,QAAQ,QAAQ,CAAC,OAAO,CAAC;wBAAED;oBAAM;oBACrD,OAAO,IAAIG,SAASD;gBACxB,EAAE,OAAOE,GAAG;oBACR,OAAO,IAAIC,cAAcD;gBAC7B;YACJ;YACA,WAAW,OAAOL,GAAGO,IAAIL;gBACrB,IAAI;oBACA,MAAMM,YAAY,MAAMN,QAAQ,QAAQ,CAAC,SAAS;oBAElD,OAAO,IAAIO,aAAaD;gBAC5B,EAAE,OAAOH,GAAG;oBACR,OAAO,IAAIK,kBAAkBL;gBACjC;YACJ;QACJ;QACA,kBAAkB;YACd,YAAY,OAAOL,GAAG,EAAEW,IAAI,EAAE,EAAET;gBAC5B,IAAI;oBACA,MAAMU,OAAO,MAAMV,QAAQ,QAAQ,CAAC,UAAU,CAACS;oBAE/C,OAAO,IAAIP,SAASQ;gBACxB,EAAE,OAAOP,GAAG;oBACR,OAAO,IAAIC,cAAcD;gBAC7B;YACJ;YACA,YAAY,OAAOL,GAAG,EAAEa,EAAE,EAAEF,IAAI,EAAE,EAAET;gBAChC,IAAI;oBACA,MAAMU,OAAO,MAAMV,QAAQ,QAAQ,CAAC,UAAU,CAACW,IAAIF;oBACnD,OAAO,IAAIP,SAASQ;gBACxB,EAAE,OAAOP,GAAG;oBACR,OAAO,IAAIC,cAAcD;gBAC7B;YACJ;YACA,YAAY,OAAOL,GAAG,EAAEa,EAAE,EAAE,EAAEX;gBAC1B,IAAI;oBACA,MAAMA,QAAQ,QAAQ,CAAC,UAAU,CAACW;oBAElC,OAAO,IAAIT,SAAS;gBACxB,EAAE,OAAOC,GAAG;oBACR,OAAO,IAAIC,cAAcD;gBAC7B;YACJ;QACJ;IACJ;AACJ"}