@webiny/api-core 0.0.0-unstable.e622468070 → 0.0.0-unstable.e6f0dc8ca7

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 (628) hide show
  1. package/ApiCoreFeature.d.ts +5 -1
  2. package/ApiCoreFeature.js +8 -0
  3. package/ApiCoreFeature.js.map +1 -1
  4. package/createApiCore.d.ts +1 -1
  5. package/createApiCore.js +2 -3
  6. package/createApiCore.js.map +1 -1
  7. package/domain/security/ApiToken.d.ts +1 -0
  8. package/domain/security/ApiToken.js +1 -0
  9. package/domain/security/ApiToken.js.map +1 -1
  10. package/exports/api/{buildParams.d.ts → build-params.d.ts} +1 -0
  11. package/exports/api/build-params.js +4 -0
  12. package/exports/api/build-params.js.map +1 -0
  13. package/exports/api/{eventPublisher.js → event-publisher.d.ts} +1 -2
  14. package/exports/api/event-publisher.js +4 -0
  15. package/exports/api/event-publisher.js.map +1 -0
  16. package/exports/api/{keyValueStore.d.ts → key-value-store.d.ts} +1 -0
  17. package/exports/api/key-value-store.js +4 -0
  18. package/exports/api/key-value-store.js.map +1 -0
  19. package/exports/api/logger.d.ts +1 -0
  20. package/exports/api/logger.js +1 -0
  21. package/exports/api/logger.js.map +1 -1
  22. package/exports/api/security/api-key.d.ts +7 -0
  23. package/exports/api/security/api-key.js +9 -0
  24. package/exports/api/security/api-key.js.map +1 -0
  25. package/exports/api/security/authentication.d.ts +1 -1
  26. package/exports/api/security/authentication.js +1 -1
  27. package/exports/api/security/authentication.js.map +1 -1
  28. package/exports/api/security/role.d.ts +3 -3
  29. package/exports/api/security/role.js +3 -3
  30. package/exports/api/security/role.js.map +1 -1
  31. package/exports/api/security/user.d.ts +3 -3
  32. package/exports/api/security/user.js +3 -3
  33. package/exports/api/security/user.js.map +1 -1
  34. package/exports/api/security.d.ts +6 -0
  35. package/exports/api/security.js +5 -0
  36. package/exports/api/security.js.map +1 -1
  37. package/exports/api/system.d.ts +1 -1
  38. package/exports/api/system.js +1 -1
  39. package/exports/api/system.js.map +1 -1
  40. package/exports/api/tenancy.d.ts +4 -4
  41. package/exports/api/tenancy.js +4 -4
  42. package/exports/api/tenancy.js.map +1 -1
  43. package/exports/api.d.ts +7 -0
  44. package/exports/api.js +8 -0
  45. package/exports/api.js.map +1 -0
  46. package/features/ai/Ai.d.ts +26 -0
  47. package/features/ai/Ai.js +133 -0
  48. package/features/ai/Ai.js.map +1 -0
  49. package/features/ai/AiSdkTools.d.ts +11 -0
  50. package/features/ai/AiSdkTools.js +25 -0
  51. package/features/ai/AiSdkTools.js.map +1 -0
  52. package/features/ai/AnthropicSdkFactory.d.ts +10 -0
  53. package/features/ai/AnthropicSdkFactory.js +71 -0
  54. package/features/ai/AnthropicSdkFactory.js.map +1 -0
  55. package/features/ai/OpenAiSdkFactory.d.ts +10 -0
  56. package/features/ai/OpenAiSdkFactory.js +187 -0
  57. package/features/ai/OpenAiSdkFactory.js.map +1 -0
  58. package/features/ai/abstractions.d.ts +92 -0
  59. package/features/ai/abstractions.js +35 -0
  60. package/features/ai/abstractions.js.map +1 -0
  61. package/features/ai/feature.d.ts +4 -0
  62. package/features/ai/feature.js +16 -0
  63. package/features/ai/feature.js.map +1 -0
  64. package/features/ai/index.d.ts +3 -0
  65. package/features/ai/index.js +4 -0
  66. package/features/ai/index.js.map +1 -0
  67. package/features/buildParams/abstractions.d.ts +2 -0
  68. package/features/buildParams/abstractions.js +2 -0
  69. package/features/buildParams/abstractions.js.map +1 -1
  70. package/features/buildParams/feature.d.ts +5 -1
  71. package/features/encryption/EncryptionService.d.ts +10 -0
  72. package/features/encryption/EncryptionService.js +58 -0
  73. package/features/encryption/EncryptionService.js.map +1 -0
  74. package/features/encryption/abstractions.d.ts +9 -0
  75. package/features/encryption/abstractions.js +5 -0
  76. package/features/encryption/abstractions.js.map +1 -0
  77. package/features/encryption/feature.d.ts +4 -0
  78. package/features/encryption/feature.js +10 -0
  79. package/features/encryption/feature.js.map +1 -0
  80. package/features/encryption/index.d.ts +1 -0
  81. package/features/encryption/index.js +3 -0
  82. package/features/encryption/index.js.map +1 -0
  83. package/features/eventPublisher/abstractions.d.ts +2 -0
  84. package/features/eventPublisher/abstractions.js +3 -0
  85. package/features/eventPublisher/abstractions.js.map +1 -1
  86. package/features/eventPublisher/feature.d.ts +5 -1
  87. package/features/featureFlags/FeatureFlags.d.ts +12 -0
  88. package/features/featureFlags/FeatureFlags.js +18 -0
  89. package/features/featureFlags/FeatureFlags.js.map +1 -0
  90. package/features/featureFlags/abstractions.d.ts +8 -0
  91. package/features/featureFlags/abstractions.js +4 -0
  92. package/features/featureFlags/abstractions.js.map +1 -0
  93. package/features/featureFlags/feature.d.ts +5 -0
  94. package/features/featureFlags/feature.js +10 -0
  95. package/features/featureFlags/feature.js.map +1 -0
  96. package/features/keyValueStore/GlobalKeyValueStore.js +3 -1
  97. package/features/keyValueStore/GlobalKeyValueStore.js.map +1 -1
  98. package/features/keyValueStore/KeyValueStoreRepository.d.ts +2 -2
  99. package/features/keyValueStore/KeyValueStoreRepository.js +2 -2
  100. package/features/keyValueStore/KeyValueStoreRepository.js.map +1 -1
  101. package/features/keyValueStore/abstractions.d.ts +10 -2
  102. package/features/keyValueStore/abstractions.js +4 -0
  103. package/features/keyValueStore/abstractions.js.map +1 -1
  104. package/features/keyValueStore/feature.d.ts +4 -1
  105. package/features/keyValueStore/feature.js.map +1 -1
  106. package/features/logger/abstractions.d.ts +1 -0
  107. package/features/logger/abstractions.js +1 -0
  108. package/features/logger/abstractions.js.map +1 -1
  109. package/features/logger/feature.d.ts +4 -1
  110. package/features/masker/Masker.d.ts +8 -0
  111. package/features/masker/Masker.js +21 -0
  112. package/features/masker/Masker.js.map +1 -0
  113. package/features/masker/abstractions.d.ts +11 -0
  114. package/features/masker/abstractions.js +4 -0
  115. package/features/masker/abstractions.js.map +1 -0
  116. package/features/masker/feature.d.ts +4 -0
  117. package/features/masker/feature.js +10 -0
  118. package/features/masker/feature.js.map +1 -0
  119. package/features/masker/index.d.ts +1 -0
  120. package/features/masker/index.js +3 -0
  121. package/features/masker/index.js.map +1 -0
  122. package/features/security/IdentityContext/IdentityContext.js +1 -1
  123. package/features/security/IdentityContext/IdentityContext.js.map +1 -1
  124. package/features/security/IdentityContext/abstractions.d.ts +1 -0
  125. package/features/security/IdentityContext/abstractions.js +1 -0
  126. package/features/security/IdentityContext/abstractions.js.map +1 -1
  127. package/features/security/IdentityContext/feature.d.ts +4 -1
  128. package/features/security/SecurityFeature.d.ts +5 -1
  129. package/features/security/apiKeys/CreateApiKey/CreateApiKeyUseCase.js +1 -1
  130. package/features/security/apiKeys/CreateApiKey/CreateApiKeyUseCase.js.map +1 -1
  131. package/features/security/apiKeys/CreateApiKey/abstractions.d.ts +1 -0
  132. package/features/security/apiKeys/CreateApiKey/abstractions.js +1 -0
  133. package/features/security/apiKeys/CreateApiKey/abstractions.js.map +1 -1
  134. package/features/security/apiKeys/CreateApiKey/events.d.ts +6 -4
  135. package/features/security/apiKeys/CreateApiKey/events.js +8 -4
  136. package/features/security/apiKeys/CreateApiKey/events.js.map +1 -1
  137. package/features/security/apiKeys/CreateApiKey/feature.d.ts +4 -1
  138. package/features/security/apiKeys/DeleteApiKey/abstractions.d.ts +1 -0
  139. package/features/security/apiKeys/DeleteApiKey/abstractions.js +1 -0
  140. package/features/security/apiKeys/DeleteApiKey/abstractions.js.map +1 -1
  141. package/features/security/apiKeys/DeleteApiKey/events.d.ts +6 -4
  142. package/features/security/apiKeys/DeleteApiKey/events.js +8 -4
  143. package/features/security/apiKeys/DeleteApiKey/events.js.map +1 -1
  144. package/features/security/apiKeys/DeleteApiKey/feature.d.ts +4 -1
  145. package/features/security/apiKeys/GetApiKey/abstractions.d.ts +1 -0
  146. package/features/security/apiKeys/GetApiKey/abstractions.js +1 -0
  147. package/features/security/apiKeys/GetApiKey/abstractions.js.map +1 -1
  148. package/features/security/apiKeys/GetApiKey/feature.d.ts +4 -1
  149. package/features/security/apiKeys/GetApiKeyBySlug/abstractions.d.ts +1 -0
  150. package/features/security/apiKeys/GetApiKeyBySlug/abstractions.js +1 -0
  151. package/features/security/apiKeys/GetApiKeyBySlug/abstractions.js.map +1 -1
  152. package/features/security/apiKeys/GetApiKeyBySlug/feature.d.ts +4 -1
  153. package/features/security/apiKeys/GetApiKeyByToken/abstractions.d.ts +1 -0
  154. package/features/security/apiKeys/GetApiKeyByToken/abstractions.js +1 -0
  155. package/features/security/apiKeys/GetApiKeyByToken/abstractions.js.map +1 -1
  156. package/features/security/apiKeys/GetApiKeyByToken/feature.d.ts +4 -1
  157. package/features/security/apiKeys/ListApiKeys/ListApiKeysUseCase.js +1 -1
  158. package/features/security/apiKeys/ListApiKeys/ListApiKeysUseCase.js.map +1 -1
  159. package/features/security/apiKeys/ListApiKeys/abstractions.d.ts +1 -0
  160. package/features/security/apiKeys/ListApiKeys/abstractions.js +1 -0
  161. package/features/security/apiKeys/ListApiKeys/abstractions.js.map +1 -1
  162. package/features/security/apiKeys/ListApiKeys/feature.d.ts +4 -1
  163. package/features/security/apiKeys/UpdateApiKey/UpdateApiKeyUseCase.js +1 -1
  164. package/features/security/apiKeys/UpdateApiKey/UpdateApiKeyUseCase.js.map +1 -1
  165. package/features/security/apiKeys/UpdateApiKey/abstractions.d.ts +1 -0
  166. package/features/security/apiKeys/UpdateApiKey/abstractions.js +1 -0
  167. package/features/security/apiKeys/UpdateApiKey/abstractions.js.map +1 -1
  168. package/features/security/apiKeys/UpdateApiKey/events.d.ts +6 -4
  169. package/features/security/apiKeys/UpdateApiKey/events.js +8 -4
  170. package/features/security/apiKeys/UpdateApiKey/events.js.map +1 -1
  171. package/features/security/apiKeys/UpdateApiKey/feature.d.ts +4 -1
  172. package/features/security/apiKeys/feature.d.ts +4 -1
  173. package/features/security/apiKeys/shared/abstractions.d.ts +5 -2
  174. package/features/security/apiKeys/shared/abstractions.js +3 -0
  175. package/features/security/apiKeys/shared/abstractions.js.map +1 -1
  176. package/features/security/apiKeys/shared/schemas.d.ts +10 -71
  177. package/features/security/apiKeys/shared/schemas.js +4 -4
  178. package/features/security/apiKeys/shared/schemas.js.map +1 -1
  179. package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.d.ts +2 -2
  180. package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.js +2 -2
  181. package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.js.map +1 -1
  182. package/features/security/authentication/AuthenticationContext/abstractions.d.ts +1 -0
  183. package/features/security/authentication/AuthenticationContext/abstractions.js +1 -0
  184. package/features/security/authentication/AuthenticationContext/abstractions.js.map +1 -1
  185. package/features/security/authentication/AuthenticationContext/events.d.ts +6 -4
  186. package/features/security/authentication/AuthenticationContext/events.js +8 -4
  187. package/features/security/authentication/AuthenticationContext/events.js.map +1 -1
  188. package/features/security/authentication/AuthenticationContext/feature.d.ts +4 -1
  189. package/features/security/authentication/Authenticator/abstractions.d.ts +1 -0
  190. package/features/security/authentication/Authenticator/abstractions.js +1 -0
  191. package/features/security/authentication/Authenticator/abstractions.js.map +1 -1
  192. package/features/security/authorization/AuthorizationContext/AuthorizationContext.d.ts +1 -0
  193. package/features/security/authorization/AuthorizationContext/AuthorizationContext.js +14 -2
  194. package/features/security/authorization/AuthorizationContext/AuthorizationContext.js.map +1 -1
  195. package/features/security/authorization/AuthorizationContext/abstractions.d.ts +2 -0
  196. package/features/security/authorization/AuthorizationContext/abstractions.js +2 -0
  197. package/features/security/authorization/AuthorizationContext/abstractions.js.map +1 -1
  198. package/features/security/authorization/AuthorizationContext/feature.d.ts +4 -1
  199. package/features/security/authorization/Authorizer/abstractions.d.ts +1 -0
  200. package/features/security/authorization/Authorizer/abstractions.js +1 -0
  201. package/features/security/authorization/Authorizer/abstractions.js.map +1 -1
  202. package/features/security/authorization/GroupsTeamsAuthorizer/feature.d.ts +4 -1
  203. package/features/security/login/abstractions.d.ts +3 -2
  204. package/features/security/login/abstractions.js +4 -2
  205. package/features/security/login/abstractions.js.map +1 -1
  206. package/features/security/permissions/createPermissionSchema.d.ts +2 -0
  207. package/features/security/permissions/createPermissionSchema.js +8 -0
  208. package/features/security/permissions/createPermissionSchema.js.map +1 -0
  209. package/features/security/permissions/createPermissions.d.ts +8 -0
  210. package/features/security/permissions/createPermissions.js +250 -0
  211. package/features/security/permissions/createPermissions.js.map +1 -0
  212. package/features/security/permissions/index.d.ts +3 -0
  213. package/features/security/permissions/index.js +4 -0
  214. package/features/security/permissions/index.js.map +1 -0
  215. package/features/security/permissions/types.d.ts +137 -0
  216. package/features/security/permissions/types.js +3 -0
  217. package/features/security/permissions/types.js.map +1 -0
  218. package/features/security/roles/CreateRole/CreateRoleUseCase.d.ts +1 -3
  219. package/features/security/roles/CreateRole/CreateRoleUseCase.js +3 -7
  220. package/features/security/roles/CreateRole/CreateRoleUseCase.js.map +1 -1
  221. package/features/security/roles/CreateRole/abstractions.d.ts +1 -0
  222. package/features/security/roles/CreateRole/abstractions.js +1 -0
  223. package/features/security/roles/CreateRole/abstractions.js.map +1 -1
  224. package/features/security/roles/CreateRole/events.d.ts +6 -4
  225. package/features/security/roles/CreateRole/events.js +8 -4
  226. package/features/security/roles/CreateRole/events.js.map +1 -1
  227. package/features/security/roles/CreateRole/feature.d.ts +4 -1
  228. package/features/security/roles/CreateRole/schema.d.ts +2 -20
  229. package/features/security/roles/CreateRole/schema.js +2 -2
  230. package/features/security/roles/CreateRole/schema.js.map +1 -1
  231. package/features/security/roles/DeleteRole/abstractions.d.ts +1 -0
  232. package/features/security/roles/DeleteRole/abstractions.js +1 -0
  233. package/features/security/roles/DeleteRole/abstractions.js.map +1 -1
  234. package/features/security/roles/DeleteRole/events.d.ts +6 -4
  235. package/features/security/roles/DeleteRole/events.js +8 -4
  236. package/features/security/roles/DeleteRole/events.js.map +1 -1
  237. package/features/security/roles/DeleteRole/feature.d.ts +4 -1
  238. package/features/security/roles/GetRole/abstractions.d.ts +1 -0
  239. package/features/security/roles/GetRole/abstractions.js +1 -0
  240. package/features/security/roles/GetRole/abstractions.js.map +1 -1
  241. package/features/security/roles/GetRole/feature.d.ts +4 -1
  242. package/features/security/roles/ListRoles/abstractions.d.ts +1 -0
  243. package/features/security/roles/ListRoles/abstractions.js +1 -0
  244. package/features/security/roles/ListRoles/abstractions.js.map +1 -1
  245. package/features/security/roles/ListRoles/feature.d.ts +4 -1
  246. package/features/security/roles/UpdateRole/UpdateRoleUseCase.js +1 -1
  247. package/features/security/roles/UpdateRole/UpdateRoleUseCase.js.map +1 -1
  248. package/features/security/roles/UpdateRole/abstractions.d.ts +1 -0
  249. package/features/security/roles/UpdateRole/abstractions.js +1 -0
  250. package/features/security/roles/UpdateRole/abstractions.js.map +1 -1
  251. package/features/security/roles/UpdateRole/events.d.ts +6 -4
  252. package/features/security/roles/UpdateRole/events.js +8 -4
  253. package/features/security/roles/UpdateRole/events.js.map +1 -1
  254. package/features/security/roles/UpdateRole/feature.d.ts +4 -1
  255. package/features/security/roles/UpdateRole/schema.d.ts +2 -18
  256. package/features/security/roles/UpdateRole/schema.js +2 -2
  257. package/features/security/roles/UpdateRole/schema.js.map +1 -1
  258. package/features/security/roles/feature.d.ts +4 -1
  259. package/features/security/roles/feature.js +2 -0
  260. package/features/security/roles/feature.js.map +1 -1
  261. package/features/security/roles/shared/RoleProvider.d.ts +13 -0
  262. package/features/security/roles/shared/RoleProvider.js +29 -0
  263. package/features/security/roles/shared/RoleProvider.js.map +1 -0
  264. package/features/security/roles/shared/RolesRepository.d.ts +3 -1
  265. package/features/security/roles/shared/RolesRepository.js +19 -18
  266. package/features/security/roles/shared/RolesRepository.js.map +1 -1
  267. package/features/security/roles/shared/abstractions.d.ts +19 -0
  268. package/features/security/roles/shared/abstractions.js +3 -0
  269. package/features/security/roles/shared/abstractions.js.map +1 -1
  270. package/features/security/shared/abstractions.d.ts +5 -14
  271. package/features/security/shared/abstractions.js +3 -16
  272. package/features/security/shared/abstractions.js.map +1 -1
  273. package/features/security/teams/CreateTeam/CreateTeamUseCase.d.ts +1 -3
  274. package/features/security/teams/CreateTeam/CreateTeamUseCase.js +3 -7
  275. package/features/security/teams/CreateTeam/CreateTeamUseCase.js.map +1 -1
  276. package/features/security/teams/CreateTeam/abstractions.d.ts +1 -0
  277. package/features/security/teams/CreateTeam/abstractions.js +1 -0
  278. package/features/security/teams/CreateTeam/abstractions.js.map +1 -1
  279. package/features/security/teams/CreateTeam/events.d.ts +6 -4
  280. package/features/security/teams/CreateTeam/events.js +8 -4
  281. package/features/security/teams/CreateTeam/events.js.map +1 -1
  282. package/features/security/teams/CreateTeam/feature.d.ts +4 -1
  283. package/features/security/teams/CreateTeam/index.d.ts +1 -1
  284. package/features/security/teams/CreateTeam/index.js +1 -1
  285. package/features/security/teams/CreateTeam/index.js.map +1 -1
  286. package/features/security/teams/CreateTeam/schema.d.ts +2 -12
  287. package/features/security/teams/DeleteTeam/abstractions.d.ts +1 -0
  288. package/features/security/teams/DeleteTeam/abstractions.js +1 -0
  289. package/features/security/teams/DeleteTeam/abstractions.js.map +1 -1
  290. package/features/security/teams/DeleteTeam/events.d.ts +6 -4
  291. package/features/security/teams/DeleteTeam/events.js +8 -4
  292. package/features/security/teams/DeleteTeam/events.js.map +1 -1
  293. package/features/security/teams/DeleteTeam/feature.d.ts +4 -1
  294. package/features/security/teams/GetTeam/abstractions.d.ts +1 -0
  295. package/features/security/teams/GetTeam/abstractions.js +1 -0
  296. package/features/security/teams/GetTeam/abstractions.js.map +1 -1
  297. package/features/security/teams/GetTeam/feature.d.ts +4 -1
  298. package/features/security/teams/ListTeams/abstractions.d.ts +1 -0
  299. package/features/security/teams/ListTeams/abstractions.js +1 -0
  300. package/features/security/teams/ListTeams/abstractions.js.map +1 -1
  301. package/features/security/teams/ListTeams/feature.d.ts +4 -1
  302. package/features/security/teams/UpdateTeam/UpdateTeamUseCase.js +1 -1
  303. package/features/security/teams/UpdateTeam/UpdateTeamUseCase.js.map +1 -1
  304. package/features/security/teams/UpdateTeam/abstractions.d.ts +1 -0
  305. package/features/security/teams/UpdateTeam/abstractions.js +1 -0
  306. package/features/security/teams/UpdateTeam/abstractions.js.map +1 -1
  307. package/features/security/teams/UpdateTeam/events.d.ts +6 -4
  308. package/features/security/teams/UpdateTeam/events.js +8 -4
  309. package/features/security/teams/UpdateTeam/events.js.map +1 -1
  310. package/features/security/teams/UpdateTeam/feature.d.ts +4 -1
  311. package/features/security/teams/UpdateTeam/schema.d.ts +2 -10
  312. package/features/security/teams/feature.d.ts +4 -1
  313. package/features/security/teams/feature.js +6 -0
  314. package/features/security/teams/feature.js.map +1 -1
  315. package/features/security/teams/shared/TeamProvider.d.ts +13 -0
  316. package/features/security/teams/shared/TeamProvider.js +29 -0
  317. package/features/security/teams/shared/TeamProvider.js.map +1 -0
  318. package/features/security/teams/shared/TeamsRepository.js +20 -18
  319. package/features/security/teams/shared/TeamsRepository.js.map +1 -1
  320. package/features/security/teams/shared/abstractions.d.ts +18 -0
  321. package/features/security/teams/shared/abstractions.js +3 -0
  322. package/features/security/teams/shared/abstractions.js.map +1 -1
  323. package/features/security/teams/shared/decorators/TeamsRepositoryCachingDecorator.d.ts +17 -0
  324. package/features/security/teams/shared/decorators/TeamsRepositoryCachingDecorator.js +76 -0
  325. package/features/security/teams/shared/decorators/TeamsRepositoryCachingDecorator.js.map +1 -0
  326. package/features/security/utils/verifyJwtUsingJwk.d.ts +2 -4
  327. package/features/security/utils/verifyJwtUsingJwk.js +1 -1
  328. package/features/security/utils/verifyJwtUsingJwk.js.map +1 -1
  329. package/features/system/InstallSystem/abstractions.d.ts +4 -5
  330. package/features/system/InstallSystem/abstractions.js +3 -4
  331. package/features/system/InstallSystem/abstractions.js.map +1 -1
  332. package/features/system/InstallSystem/events.js +2 -2
  333. package/features/system/InstallSystem/events.js.map +1 -1
  334. package/features/system/InstallSystem/feature.d.ts +5 -1
  335. package/features/system/InstallSystem/index.d.ts +1 -1
  336. package/features/system/InstallSystem/index.js +1 -1
  337. package/features/system/InstallSystem/index.js.map +1 -1
  338. package/features/system/SystemFeature.d.ts +4 -1
  339. package/features/task/TaskController/abstractions.d.ts +1 -0
  340. package/features/task/TaskController/abstractions.js +1 -0
  341. package/features/task/TaskController/abstractions.js.map +1 -1
  342. package/features/task/TaskDefinition/abstractions.d.ts +7 -1
  343. package/features/task/TaskDefinition/abstractions.js +1 -0
  344. package/features/task/TaskDefinition/abstractions.js.map +1 -1
  345. package/features/task/TaskService/abstractions.d.ts +1 -0
  346. package/features/task/TaskService/abstractions.js +1 -0
  347. package/features/task/TaskService/abstractions.js.map +1 -1
  348. package/features/tenancy/CreateTenant/abstractions.d.ts +9 -7
  349. package/features/tenancy/CreateTenant/abstractions.js +7 -5
  350. package/features/tenancy/CreateTenant/abstractions.js.map +1 -1
  351. package/features/tenancy/CreateTenant/events.js +3 -3
  352. package/features/tenancy/CreateTenant/events.js.map +1 -1
  353. package/features/tenancy/CreateTenant/feature.d.ts +5 -1
  354. package/features/tenancy/CreateTenant/index.d.ts +1 -1
  355. package/features/tenancy/CreateTenant/index.js +1 -1
  356. package/features/tenancy/CreateTenant/index.js.map +1 -1
  357. package/features/tenancy/DeleteTenant/abstractions.d.ts +9 -4
  358. package/features/tenancy/DeleteTenant/abstractions.js +7 -2
  359. package/features/tenancy/DeleteTenant/abstractions.js.map +1 -1
  360. package/features/tenancy/DeleteTenant/events.js +3 -3
  361. package/features/tenancy/DeleteTenant/events.js.map +1 -1
  362. package/features/tenancy/DeleteTenant/feature.d.ts +5 -1
  363. package/features/tenancy/DeleteTenant/index.d.ts +1 -1
  364. package/features/tenancy/DeleteTenant/index.js +1 -1
  365. package/features/tenancy/DeleteTenant/index.js.map +1 -1
  366. package/features/tenancy/GetRootTenant/feature.d.ts +5 -1
  367. package/features/tenancy/GetTenantById/abstractions.d.ts +3 -0
  368. package/features/tenancy/GetTenantById/abstractions.js +3 -9
  369. package/features/tenancy/GetTenantById/abstractions.js.map +1 -1
  370. package/features/tenancy/GetTenantById/feature.d.ts +5 -1
  371. package/features/tenancy/InstallTenant/abstractions.d.ts +5 -11
  372. package/features/tenancy/InstallTenant/abstractions.js +4 -13
  373. package/features/tenancy/InstallTenant/abstractions.js.map +1 -1
  374. package/features/tenancy/InstallTenant/events.js +2 -2
  375. package/features/tenancy/InstallTenant/events.js.map +1 -1
  376. package/features/tenancy/InstallTenant/feature.d.ts +5 -1
  377. package/features/tenancy/InstallTenant/index.d.ts +1 -1
  378. package/features/tenancy/InstallTenant/index.js +1 -1
  379. package/features/tenancy/InstallTenant/index.js.map +1 -1
  380. package/features/tenancy/ListTenants/feature.d.ts +5 -1
  381. package/features/tenancy/TenancyFeature.d.ts +4 -1
  382. package/features/tenancy/TenancyFeature.js.map +1 -1
  383. package/features/tenancy/TenantContext/abstractions.d.ts +1 -0
  384. package/features/tenancy/TenantContext/abstractions.js +1 -0
  385. package/features/tenancy/TenantContext/abstractions.js.map +1 -1
  386. package/features/tenancy/TenantContext/feature.d.ts +4 -1
  387. package/features/tenancy/UpdateTenant/abstractions.d.ts +9 -4
  388. package/features/tenancy/UpdateTenant/abstractions.js +7 -2
  389. package/features/tenancy/UpdateTenant/abstractions.js.map +1 -1
  390. package/features/tenancy/UpdateTenant/events.js +3 -3
  391. package/features/tenancy/UpdateTenant/events.js.map +1 -1
  392. package/features/tenancy/UpdateTenant/feature.d.ts +5 -1
  393. package/features/tenancy/UpdateTenant/index.d.ts +1 -1
  394. package/features/tenancy/UpdateTenant/index.js +1 -1
  395. package/features/tenancy/UpdateTenant/index.js.map +1 -1
  396. package/features/users/AdminUsersFeature.d.ts +4 -1
  397. package/features/users/AdminUsersFeature.js.map +1 -1
  398. package/features/users/CreateUser/CreateUserUseCase.js +1 -1
  399. package/features/users/CreateUser/CreateUserUseCase.js.map +1 -1
  400. package/features/users/CreateUser/abstractions.d.ts +1 -0
  401. package/features/users/CreateUser/abstractions.js +1 -1
  402. package/features/users/CreateUser/abstractions.js.map +1 -1
  403. package/features/users/CreateUser/events.d.ts +6 -4
  404. package/features/users/CreateUser/events.js +8 -4
  405. package/features/users/CreateUser/events.js.map +1 -1
  406. package/features/users/CreateUser/feature.d.ts +4 -1
  407. package/features/users/CreateUser/schema.d.ts +4 -36
  408. package/features/users/DeleteUser/abstractions.d.ts +1 -0
  409. package/features/users/DeleteUser/abstractions.js +1 -1
  410. package/features/users/DeleteUser/abstractions.js.map +1 -1
  411. package/features/users/DeleteUser/events.d.ts +6 -4
  412. package/features/users/DeleteUser/events.js +8 -4
  413. package/features/users/DeleteUser/events.js.map +1 -1
  414. package/features/users/DeleteUser/feature.d.ts +4 -1
  415. package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.d.ts +3 -3
  416. package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.js +2 -2
  417. package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.js.map +1 -1
  418. package/features/users/ExternalIdpUserSync/feature.d.ts +4 -1
  419. package/features/users/GetIdentityProfile/feature.d.ts +4 -1
  420. package/features/users/GetUser/abstractions.d.ts +1 -0
  421. package/features/users/GetUser/abstractions.js +1 -1
  422. package/features/users/GetUser/abstractions.js.map +1 -1
  423. package/features/users/GetUser/feature.d.ts +4 -1
  424. package/features/users/ListUserTeams/abstractions.d.ts +1 -0
  425. package/features/users/ListUserTeams/abstractions.js +1 -1
  426. package/features/users/ListUserTeams/abstractions.js.map +1 -1
  427. package/features/users/ListUserTeams/feature.d.ts +4 -1
  428. package/features/users/ListUsers/abstractions.d.ts +1 -0
  429. package/features/users/ListUsers/abstractions.js +1 -1
  430. package/features/users/ListUsers/abstractions.js.map +1 -1
  431. package/features/users/ListUsers/feature.d.ts +4 -1
  432. package/features/users/UpdateUser/UpdateUserUseCase.js +1 -1
  433. package/features/users/UpdateUser/UpdateUserUseCase.js.map +1 -1
  434. package/features/users/UpdateUser/abstractions.d.ts +1 -0
  435. package/features/users/UpdateUser/abstractions.js +1 -1
  436. package/features/users/UpdateUser/abstractions.js.map +1 -1
  437. package/features/users/UpdateUser/events.d.ts +6 -4
  438. package/features/users/UpdateUser/events.js +8 -4
  439. package/features/users/UpdateUser/events.js.map +1 -1
  440. package/features/users/UpdateUser/feature.d.ts +4 -1
  441. package/features/users/UpdateUser/schema.d.ts +4 -30
  442. package/features/users/shared/abstractions.d.ts +1 -0
  443. package/features/users/shared/abstractions.js +1 -1
  444. package/features/users/shared/abstractions.js.map +1 -1
  445. package/features/wcp/WcpContext/WcpContext.d.ts +5 -0
  446. package/features/wcp/WcpContext/WcpContext.js +15 -0
  447. package/features/wcp/WcpContext/WcpContext.js.map +1 -1
  448. package/features/wcp/WcpContext/abstractions.d.ts +1 -0
  449. package/features/wcp/WcpContext/abstractions.js.map +1 -1
  450. package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.d.ts +94 -0
  451. package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.js +142 -0
  452. package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.js.map +1 -0
  453. package/features/wcp/WcpContext/feature.d.ts +5 -1
  454. package/features/wcp/WcpFeature.d.ts +4 -1
  455. package/features/wcp/WcpFeature.js +2 -0
  456. package/features/wcp/WcpFeature.js.map +1 -1
  457. package/graphql/security/NotAuthorizedResponse.d.ts +1 -0
  458. package/graphql/security/NotAuthorizedResponse.js +1 -0
  459. package/graphql/security/NotAuthorizedResponse.js.map +1 -1
  460. package/graphql/wcp/graphql.js +2 -1
  461. package/graphql/wcp/graphql.js.map +1 -1
  462. package/idp/abstractions.d.ts +4 -0
  463. package/idp/abstractions.js +4 -0
  464. package/idp/abstractions.js.map +1 -1
  465. package/idp/feature.d.ts +4 -1
  466. package/legacy/security/createSecurityContext.js +0 -11
  467. package/legacy/security/createSecurityContext.js.map +1 -1
  468. package/legacy/security/plugins/authenticateUsingHttpHeader.d.ts +1 -1
  469. package/legacy/wcp/LegacyWcpContext.d.ts +5 -0
  470. package/legacy/wcp/LegacyWcpContext.js +15 -0
  471. package/legacy/wcp/LegacyWcpContext.js.map +1 -1
  472. package/legacy/wcp/context.d.ts +1 -3
  473. package/legacy/wcp/context.js +4 -2
  474. package/legacy/wcp/context.js.map +1 -1
  475. package/models/base/BaseModel.js +2 -2
  476. package/models/base/BaseModel.js.map +1 -1
  477. package/models/base/ModelBuilder.d.ts +2 -2
  478. package/models/base/ModelBuilder.js +21 -2
  479. package/models/base/ModelBuilder.js.map +1 -1
  480. package/models/cms/FieldBuilder.d.ts +4 -3
  481. package/models/cms/FieldBuilder.js +17 -22
  482. package/models/cms/FieldBuilder.js.map +1 -1
  483. package/models/cms/FieldBuilderRegistry.d.ts +1 -1
  484. package/models/cms/FieldBuilderRegistry.js.map +1 -1
  485. package/models/cms/FieldDefinitionsBuilder.d.ts +1 -0
  486. package/models/cms/FieldDefinitionsBuilder.js +15 -17
  487. package/models/cms/FieldDefinitionsBuilder.js.map +1 -1
  488. package/models/cms/PrivateCmsModelBuilder.js +1 -1
  489. package/models/cms/PrivateCmsModelBuilder.js.map +1 -1
  490. package/models/cms/abstractions.d.ts +1 -1
  491. package/models/cms/abstractions.js.map +1 -1
  492. package/models/cms/fieldsBuilder.md +6 -4
  493. package/models/cms/types.d.ts +2 -2
  494. package/models/cms/types.js.map +1 -1
  495. package/models/simple/Page/abstractions.d.ts +1 -11
  496. package/package.json +28 -70
  497. package/types/security.d.ts +13 -10
  498. package/types/security.js.map +1 -1
  499. package/exports/api/buildParams.js +0 -3
  500. package/exports/api/buildParams.js.map +0 -1
  501. package/exports/api/eventPublisher.d.ts +0 -1
  502. package/exports/api/eventPublisher.js.map +0 -1
  503. package/exports/api/keyValueStore.js +0 -3
  504. package/exports/api/keyValueStore.js.map +0 -1
  505. package/exports/api/security/apiKey.d.ts +0 -7
  506. package/exports/api/security/apiKey.js +0 -9
  507. package/exports/api/security/apiKey.js.map +0 -1
  508. package/extensions/BuildParam.d.ts +0 -11
  509. package/extensions/BuildParam.js +0 -119
  510. package/extensions/BuildParam.js.map +0 -1
  511. package/extensions/GenericExtension.d.ts +0 -10
  512. package/extensions/GenericExtension.js +0 -7
  513. package/extensions/GenericExtension.js.map +0 -1
  514. package/extensions/eventHandlers/AfterAuthentication.d.ts +0 -10
  515. package/extensions/eventHandlers/AfterAuthentication.js +0 -9
  516. package/extensions/eventHandlers/AfterAuthentication.js.map +0 -1
  517. package/extensions/eventHandlers/ApiKeyAfterCreate.d.ts +0 -10
  518. package/extensions/eventHandlers/ApiKeyAfterCreate.js +0 -9
  519. package/extensions/eventHandlers/ApiKeyAfterCreate.js.map +0 -1
  520. package/extensions/eventHandlers/ApiKeyAfterDelete.d.ts +0 -10
  521. package/extensions/eventHandlers/ApiKeyAfterDelete.js +0 -9
  522. package/extensions/eventHandlers/ApiKeyAfterDelete.js.map +0 -1
  523. package/extensions/eventHandlers/ApiKeyAfterUpdate.d.ts +0 -10
  524. package/extensions/eventHandlers/ApiKeyAfterUpdate.js +0 -9
  525. package/extensions/eventHandlers/ApiKeyAfterUpdate.js.map +0 -1
  526. package/extensions/eventHandlers/ApiKeyBeforeCreate.d.ts +0 -10
  527. package/extensions/eventHandlers/ApiKeyBeforeCreate.js +0 -9
  528. package/extensions/eventHandlers/ApiKeyBeforeCreate.js.map +0 -1
  529. package/extensions/eventHandlers/ApiKeyBeforeDelete.d.ts +0 -10
  530. package/extensions/eventHandlers/ApiKeyBeforeDelete.js +0 -9
  531. package/extensions/eventHandlers/ApiKeyBeforeDelete.js.map +0 -1
  532. package/extensions/eventHandlers/ApiKeyBeforeUpdate.d.ts +0 -10
  533. package/extensions/eventHandlers/ApiKeyBeforeUpdate.js +0 -9
  534. package/extensions/eventHandlers/ApiKeyBeforeUpdate.js.map +0 -1
  535. package/extensions/eventHandlers/BeforeAuthentication.d.ts +0 -10
  536. package/extensions/eventHandlers/BeforeAuthentication.js +0 -9
  537. package/extensions/eventHandlers/BeforeAuthentication.js.map +0 -1
  538. package/extensions/eventHandlers/RoleAfterCreate.d.ts +0 -10
  539. package/extensions/eventHandlers/RoleAfterCreate.js +0 -9
  540. package/extensions/eventHandlers/RoleAfterCreate.js.map +0 -1
  541. package/extensions/eventHandlers/RoleAfterDelete.d.ts +0 -10
  542. package/extensions/eventHandlers/RoleAfterDelete.js +0 -9
  543. package/extensions/eventHandlers/RoleAfterDelete.js.map +0 -1
  544. package/extensions/eventHandlers/RoleAfterUpdate.d.ts +0 -10
  545. package/extensions/eventHandlers/RoleAfterUpdate.js +0 -9
  546. package/extensions/eventHandlers/RoleAfterUpdate.js.map +0 -1
  547. package/extensions/eventHandlers/RoleBeforeCreate.d.ts +0 -10
  548. package/extensions/eventHandlers/RoleBeforeCreate.js +0 -9
  549. package/extensions/eventHandlers/RoleBeforeCreate.js.map +0 -1
  550. package/extensions/eventHandlers/RoleBeforeDelete.d.ts +0 -10
  551. package/extensions/eventHandlers/RoleBeforeDelete.js +0 -9
  552. package/extensions/eventHandlers/RoleBeforeDelete.js.map +0 -1
  553. package/extensions/eventHandlers/RoleBeforeUpdate.d.ts +0 -10
  554. package/extensions/eventHandlers/RoleBeforeUpdate.js +0 -9
  555. package/extensions/eventHandlers/RoleBeforeUpdate.js.map +0 -1
  556. package/extensions/eventHandlers/SystemInstalled.d.ts +0 -10
  557. package/extensions/eventHandlers/SystemInstalled.js +0 -9
  558. package/extensions/eventHandlers/SystemInstalled.js.map +0 -1
  559. package/extensions/eventHandlers/TeamAfterCreate.d.ts +0 -10
  560. package/extensions/eventHandlers/TeamAfterCreate.js +0 -9
  561. package/extensions/eventHandlers/TeamAfterCreate.js.map +0 -1
  562. package/extensions/eventHandlers/TeamAfterDelete.d.ts +0 -10
  563. package/extensions/eventHandlers/TeamAfterDelete.js +0 -9
  564. package/extensions/eventHandlers/TeamAfterDelete.js.map +0 -1
  565. package/extensions/eventHandlers/TeamAfterUpdate.d.ts +0 -10
  566. package/extensions/eventHandlers/TeamAfterUpdate.js +0 -9
  567. package/extensions/eventHandlers/TeamAfterUpdate.js.map +0 -1
  568. package/extensions/eventHandlers/TeamBeforeCreate.d.ts +0 -10
  569. package/extensions/eventHandlers/TeamBeforeCreate.js +0 -9
  570. package/extensions/eventHandlers/TeamBeforeCreate.js.map +0 -1
  571. package/extensions/eventHandlers/TeamBeforeDelete.d.ts +0 -10
  572. package/extensions/eventHandlers/TeamBeforeDelete.js +0 -9
  573. package/extensions/eventHandlers/TeamBeforeDelete.js.map +0 -1
  574. package/extensions/eventHandlers/TeamBeforeUpdate.d.ts +0 -10
  575. package/extensions/eventHandlers/TeamBeforeUpdate.js +0 -9
  576. package/extensions/eventHandlers/TeamBeforeUpdate.js.map +0 -1
  577. package/extensions/eventHandlers/TenantAfterCreate.d.ts +0 -10
  578. package/extensions/eventHandlers/TenantAfterCreate.js +0 -9
  579. package/extensions/eventHandlers/TenantAfterCreate.js.map +0 -1
  580. package/extensions/eventHandlers/TenantAfterDelete.d.ts +0 -10
  581. package/extensions/eventHandlers/TenantAfterDelete.js +0 -9
  582. package/extensions/eventHandlers/TenantAfterDelete.js.map +0 -1
  583. package/extensions/eventHandlers/TenantAfterUpdate.d.ts +0 -10
  584. package/extensions/eventHandlers/TenantAfterUpdate.js +0 -9
  585. package/extensions/eventHandlers/TenantAfterUpdate.js.map +0 -1
  586. package/extensions/eventHandlers/TenantBeforeCreate.d.ts +0 -10
  587. package/extensions/eventHandlers/TenantBeforeCreate.js +0 -9
  588. package/extensions/eventHandlers/TenantBeforeCreate.js.map +0 -1
  589. package/extensions/eventHandlers/TenantBeforeDelete.d.ts +0 -10
  590. package/extensions/eventHandlers/TenantBeforeDelete.js +0 -9
  591. package/extensions/eventHandlers/TenantBeforeDelete.js.map +0 -1
  592. package/extensions/eventHandlers/TenantBeforeUpdate.d.ts +0 -10
  593. package/extensions/eventHandlers/TenantBeforeUpdate.js +0 -9
  594. package/extensions/eventHandlers/TenantBeforeUpdate.js.map +0 -1
  595. package/extensions/eventHandlers/TenantInstalled.d.ts +0 -10
  596. package/extensions/eventHandlers/TenantInstalled.js +0 -9
  597. package/extensions/eventHandlers/TenantInstalled.js.map +0 -1
  598. package/extensions/eventHandlers/UserAfterCreate.d.ts +0 -10
  599. package/extensions/eventHandlers/UserAfterCreate.js +0 -9
  600. package/extensions/eventHandlers/UserAfterCreate.js.map +0 -1
  601. package/extensions/eventHandlers/UserAfterDelete.d.ts +0 -10
  602. package/extensions/eventHandlers/UserAfterDelete.js +0 -9
  603. package/extensions/eventHandlers/UserAfterDelete.js.map +0 -1
  604. package/extensions/eventHandlers/UserAfterUpdate.d.ts +0 -10
  605. package/extensions/eventHandlers/UserAfterUpdate.js +0 -9
  606. package/extensions/eventHandlers/UserAfterUpdate.js.map +0 -1
  607. package/extensions/eventHandlers/UserBeforeCreate.d.ts +0 -10
  608. package/extensions/eventHandlers/UserBeforeCreate.js +0 -9
  609. package/extensions/eventHandlers/UserBeforeCreate.js.map +0 -1
  610. package/extensions/eventHandlers/UserBeforeDelete.d.ts +0 -10
  611. package/extensions/eventHandlers/UserBeforeDelete.js +0 -9
  612. package/extensions/eventHandlers/UserBeforeDelete.js.map +0 -1
  613. package/extensions/eventHandlers/UserBeforeUpdate.d.ts +0 -10
  614. package/extensions/eventHandlers/UserBeforeUpdate.js +0 -9
  615. package/extensions/eventHandlers/UserBeforeUpdate.js.map +0 -1
  616. package/extensions/eventHandlers/index.d.ts +0 -34
  617. package/extensions/eventHandlers/index.js +0 -49
  618. package/extensions/eventHandlers/index.js.map +0 -1
  619. package/extensions/index.d.ts +0 -58
  620. package/extensions/index.js +0 -49
  621. package/extensions/index.js.map +0 -1
  622. package/features/security/shared/abstractions.ts.bak +0 -52
  623. package/legacy/security/plugins/SecurityRolePlugin.d.ts +0 -16
  624. package/legacy/security/plugins/SecurityRolePlugin.js +0 -33
  625. package/legacy/security/plugins/SecurityRolePlugin.js.map +0 -1
  626. package/legacy/security/plugins/SecurityTeamPlugin.d.ts +0 -16
  627. package/legacy/security/plugins/SecurityTeamPlugin.js +0 -33
  628. package/legacy/security/plugins/SecurityTeamPlugin.js.map +0 -1
@@ -12,6 +12,7 @@ export declare class WcpContextImpl implements WcpContext.Interface {
12
12
  private updateTenants;
13
13
  getRawLicense(): DecryptedWcpProjectLicense | null;
14
14
  getProject(): WcpProject | null;
15
+ getProjectWithFeatureFlags(): WcpProject | null;
15
16
  getProjectEnvironment(): WcpProjectEnvironment | null;
16
17
  getProjectLicense(): ILicense;
17
18
  canUseFeature(wcpFeatureId: keyof typeof WCP_FEATURE_LABEL): boolean;
@@ -23,6 +24,10 @@ export declare class WcpContextImpl implements WcpContext.Interface {
23
24
  canUseRecordLocking(): boolean;
24
25
  canUseFileManagerThreatDetection(): boolean;
25
26
  canUseWorkflows(): boolean;
27
+ canUseHcmsFieldPermissions(): boolean;
28
+ canUseAiImageEnrichment(): boolean;
29
+ canUseAiPageGeneration(): boolean;
30
+ canUseAiLexicalGeneration(): boolean;
26
31
  ensureCanUseFeature(wcpFeatureId: keyof typeof WCP_FEATURE_LABEL): void;
27
32
  incrementSeats(): Promise<void>;
28
33
  decrementSeats(): Promise<void>;
@@ -63,6 +63,9 @@ export class WcpContextImpl {
63
63
  getProject() {
64
64
  return this.license.getProject();
65
65
  }
66
+ getProjectWithFeatureFlags() {
67
+ return this.getProject();
68
+ }
66
69
  getProjectEnvironment() {
67
70
  return wcpProjectEnvironment;
68
71
  }
@@ -96,6 +99,18 @@ export class WcpContextImpl {
96
99
  canUseWorkflows() {
97
100
  return this.license.canUseWorkflows();
98
101
  }
102
+ canUseHcmsFieldPermissions() {
103
+ return this.license.canUseHcmsFieldPermissions();
104
+ }
105
+ canUseAiImageEnrichment() {
106
+ return this.license.canUseAiImageEnrichment();
107
+ }
108
+ canUseAiPageGeneration() {
109
+ return this.license.canUseAiPageGeneration();
110
+ }
111
+ canUseAiLexicalGeneration() {
112
+ return this.license.canUseAiLexicalGeneration();
113
+ }
99
114
  ensureCanUseFeature(wcpFeatureId) {
100
115
  if (this.license.canUseFeature(wcpFeatureId)) {
101
116
  return;
@@ -1 +1 @@
1
- {"version":3,"names":["getWcpApiUrl","getWcpAppUrl","getWcpProjectEnvironment","WError","wcpFetch","wcpProjectEnvironment","WcpContextImpl","constructor","license","getWcpProjectUrl","path","orgId","org","id","projectId","project","url","filter","Boolean","join","updateSeats","operation","updateSeatsUrl","response","authorization","apiKey","body","meta","action","error","message","console","status","statusText","updateTenants","updateTenantsUrl","getRawLicense","getProject","getProjectEnvironment","getProjectLicense","canUseFeature","wcpFeatureId","canUseAacl","canUseTeams","canUseFolderLevelPermissions","canUsePrivateFiles","canUseAuditLogs","canUseRecordLocking","canUseFileManagerThreatDetection","canUseWorkflows","ensureCanUseFeature","upgradeProjectLicenseLink","incrementSeats","decrementSeats","incrementTenants","decrementTenants","toDto"],"sources":["WcpContext.ts"],"sourcesContent":["import type { WCP_FEATURE_LABEL } from \"@webiny/wcp\";\nimport { getWcpApiUrl, getWcpAppUrl, getWcpProjectEnvironment } from \"@webiny/wcp\";\nimport WError from \"@webiny/error\";\nimport type {\n DecryptedWcpProjectLicense,\n ILicense,\n WcpProjectEnvironment,\n WcpProject\n} from \"@webiny/wcp/types.js\";\nimport { WcpContext } from \"./abstractions.js\";\nimport { wcpFetch } from \"./utils.js\";\n\nconst wcpProjectEnvironment = getWcpProjectEnvironment();\n\nexport interface CreateWcpContextParams {\n testProjectLicense?: DecryptedWcpProjectLicense;\n}\n\nexport class WcpContextImpl implements WcpContext.Interface {\n constructor(private license: ILicense) {}\n\n private getWcpProjectUrl(path = \"\"): string | null {\n if (!wcpProjectEnvironment) {\n return null;\n }\n\n const orgId = wcpProjectEnvironment.org.id;\n const projectId = wcpProjectEnvironment.project.id;\n const url = [\"/orgs\", orgId, \"projects\", projectId, path].filter(Boolean).join(\"/\");\n return getWcpApiUrl(url);\n }\n\n private async updateSeats(operation: \"increment\" | \"decrement\"): Promise<void> {\n if (!wcpProjectEnvironment) {\n return;\n }\n\n const updateSeatsUrl = this.getWcpProjectUrl(\"package/seats\");\n\n const response = await wcpFetch({\n url: updateSeatsUrl!,\n authorization: wcpProjectEnvironment.apiKey,\n body: { operation },\n meta: {\n action: operation + \"Seats\"\n }\n });\n\n if (response.error) {\n const message = response.message || `Failed to ${operation} user seats.`;\n console.error(message, response.status, response.statusText);\n throw new WError(message, \"WCP_CANNOT_UPDATE_USER_TENANTS\");\n }\n }\n\n private async updateTenants(operation: \"increment\" | \"decrement\"): Promise<void> {\n if (!wcpProjectEnvironment) {\n return;\n }\n\n const updateTenantsUrl = this.getWcpProjectUrl(\"package/tenants\");\n\n const response = await wcpFetch({\n url: updateTenantsUrl!,\n authorization: wcpProjectEnvironment.apiKey,\n body: { operation },\n meta: {\n action: operation + \"Tenants\"\n }\n });\n\n if (response.error) {\n const message = response.message || `Failed to ${operation} tenants.`;\n console.error(message, response.status, response.statusText);\n throw new WError(message, \"WCP_CANNOT_UPDATE_USER_TENANTS\");\n }\n }\n\n getRawLicense(): DecryptedWcpProjectLicense | null {\n return this.license.getRawLicense();\n }\n\n getProject(): WcpProject | null {\n return this.license.getProject();\n }\n\n getProjectEnvironment(): WcpProjectEnvironment | null {\n return wcpProjectEnvironment;\n }\n\n getProjectLicense(): ILicense {\n return this.license;\n }\n\n canUseFeature(wcpFeatureId: keyof typeof WCP_FEATURE_LABEL): boolean {\n return this.license.canUseFeature(wcpFeatureId);\n }\n\n canUseAacl(): boolean {\n return this.license.canUseAacl();\n }\n\n canUseTeams(): boolean {\n return this.license.canUseTeams();\n }\n\n canUseFolderLevelPermissions(): boolean {\n return this.license.canUseFolderLevelPermissions();\n }\n\n canUsePrivateFiles(): boolean {\n return this.license.canUsePrivateFiles();\n }\n\n canUseAuditLogs(): boolean {\n return this.license.canUseAuditLogs();\n }\n\n canUseRecordLocking(): boolean {\n return this.license.canUseRecordLocking();\n }\n\n canUseFileManagerThreatDetection(): boolean {\n return this.license.canUseFileManagerThreatDetection();\n }\n\n canUseWorkflows(): boolean {\n return this.license.canUseWorkflows();\n }\n\n ensureCanUseFeature(wcpFeatureId: keyof typeof WCP_FEATURE_LABEL): void {\n if (this.license.canUseFeature(wcpFeatureId)) {\n return;\n }\n\n let message = `The ${wcpFeatureId} Webiny Control Panel feature cannot be used because your project license does not permit it.`;\n if (wcpProjectEnvironment) {\n const { org, project } = wcpProjectEnvironment;\n const upgradeProjectLicenseLink = getWcpAppUrl(`/${org.id}/${project.id}/settings`);\n message += ` To upgrade your project license, please use the following link: ${upgradeProjectLicenseLink}.`;\n }\n\n throw new WError(message, \"WCP_CANNOT_USE_FEATURE\", { wcpFeatureId });\n }\n\n async incrementSeats(): Promise<void> {\n await this.updateSeats(\"increment\");\n }\n\n async decrementSeats(): Promise<void> {\n await this.updateSeats(\"decrement\");\n }\n\n async incrementTenants(): Promise<void> {\n await this.updateTenants(\"increment\");\n }\n\n async decrementTenants(): Promise<void> {\n await this.updateTenants(\"decrement\");\n }\n\n toDto() {\n return this.getRawLicense();\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getWcpApiUrl","getWcpAppUrl","getWcpProjectEnvironment","WError","wcpFetch","wcpProjectEnvironment","WcpContextImpl","constructor","license","getWcpProjectUrl","path","orgId","org","id","projectId","project","url","filter","Boolean","join","updateSeats","operation","updateSeatsUrl","response","authorization","apiKey","body","meta","action","error","message","console","status","statusText","updateTenants","updateTenantsUrl","getRawLicense","getProject","getProjectWithFeatureFlags","getProjectEnvironment","getProjectLicense","canUseFeature","wcpFeatureId","canUseAacl","canUseTeams","canUseFolderLevelPermissions","canUsePrivateFiles","canUseAuditLogs","canUseRecordLocking","canUseFileManagerThreatDetection","canUseWorkflows","canUseHcmsFieldPermissions","canUseAiImageEnrichment","canUseAiPageGeneration","canUseAiLexicalGeneration","ensureCanUseFeature","upgradeProjectLicenseLink","incrementSeats","decrementSeats","incrementTenants","decrementTenants","toDto"],"sources":["WcpContext.ts"],"sourcesContent":["import type { WCP_FEATURE_LABEL } from \"@webiny/wcp\";\nimport { getWcpApiUrl, getWcpAppUrl, getWcpProjectEnvironment } from \"@webiny/wcp\";\nimport WError from \"@webiny/error\";\nimport type {\n DecryptedWcpProjectLicense,\n ILicense,\n WcpProjectEnvironment,\n WcpProject\n} from \"@webiny/wcp/types.js\";\nimport { WcpContext } from \"./abstractions.js\";\nimport { wcpFetch } from \"./utils.js\";\n\nconst wcpProjectEnvironment = getWcpProjectEnvironment();\n\nexport interface CreateWcpContextParams {\n testProjectLicense?: DecryptedWcpProjectLicense;\n}\n\nexport class WcpContextImpl implements WcpContext.Interface {\n constructor(private license: ILicense) {}\n\n private getWcpProjectUrl(path = \"\"): string | null {\n if (!wcpProjectEnvironment) {\n return null;\n }\n\n const orgId = wcpProjectEnvironment.org.id;\n const projectId = wcpProjectEnvironment.project.id;\n const url = [\"/orgs\", orgId, \"projects\", projectId, path].filter(Boolean).join(\"/\");\n return getWcpApiUrl(url);\n }\n\n private async updateSeats(operation: \"increment\" | \"decrement\"): Promise<void> {\n if (!wcpProjectEnvironment) {\n return;\n }\n\n const updateSeatsUrl = this.getWcpProjectUrl(\"package/seats\");\n\n const response = await wcpFetch({\n url: updateSeatsUrl!,\n authorization: wcpProjectEnvironment.apiKey,\n body: { operation },\n meta: {\n action: operation + \"Seats\"\n }\n });\n\n if (response.error) {\n const message = response.message || `Failed to ${operation} user seats.`;\n console.error(message, response.status, response.statusText);\n throw new WError(message, \"WCP_CANNOT_UPDATE_USER_TENANTS\");\n }\n }\n\n private async updateTenants(operation: \"increment\" | \"decrement\"): Promise<void> {\n if (!wcpProjectEnvironment) {\n return;\n }\n\n const updateTenantsUrl = this.getWcpProjectUrl(\"package/tenants\");\n\n const response = await wcpFetch({\n url: updateTenantsUrl!,\n authorization: wcpProjectEnvironment.apiKey,\n body: { operation },\n meta: {\n action: operation + \"Tenants\"\n }\n });\n\n if (response.error) {\n const message = response.message || `Failed to ${operation} tenants.`;\n console.error(message, response.status, response.statusText);\n throw new WError(message, \"WCP_CANNOT_UPDATE_USER_TENANTS\");\n }\n }\n\n getRawLicense(): DecryptedWcpProjectLicense | null {\n return this.license.getRawLicense();\n }\n\n getProject(): WcpProject | null {\n return this.license.getProject();\n }\n\n getProjectWithFeatureFlags(): WcpProject | null {\n return this.getProject();\n }\n\n getProjectEnvironment(): WcpProjectEnvironment | null {\n return wcpProjectEnvironment;\n }\n\n getProjectLicense(): ILicense {\n return this.license;\n }\n\n canUseFeature(wcpFeatureId: keyof typeof WCP_FEATURE_LABEL): boolean {\n return this.license.canUseFeature(wcpFeatureId);\n }\n\n canUseAacl(): boolean {\n return this.license.canUseAacl();\n }\n\n canUseTeams(): boolean {\n return this.license.canUseTeams();\n }\n\n canUseFolderLevelPermissions(): boolean {\n return this.license.canUseFolderLevelPermissions();\n }\n\n canUsePrivateFiles(): boolean {\n return this.license.canUsePrivateFiles();\n }\n\n canUseAuditLogs(): boolean {\n return this.license.canUseAuditLogs();\n }\n\n canUseRecordLocking(): boolean {\n return this.license.canUseRecordLocking();\n }\n\n canUseFileManagerThreatDetection(): boolean {\n return this.license.canUseFileManagerThreatDetection();\n }\n\n canUseWorkflows(): boolean {\n return this.license.canUseWorkflows();\n }\n\n canUseHcmsFieldPermissions(): boolean {\n return this.license.canUseHcmsFieldPermissions();\n }\n\n canUseAiImageEnrichment(): boolean {\n return this.license.canUseAiImageEnrichment();\n }\n\n canUseAiPageGeneration(): boolean {\n return this.license.canUseAiPageGeneration();\n }\n\n canUseAiLexicalGeneration(): boolean {\n return this.license.canUseAiLexicalGeneration();\n }\n\n ensureCanUseFeature(wcpFeatureId: keyof typeof WCP_FEATURE_LABEL): void {\n if (this.license.canUseFeature(wcpFeatureId)) {\n return;\n }\n\n let message = `The ${wcpFeatureId} Webiny Control Panel feature cannot be used because your project license does not permit it.`;\n if (wcpProjectEnvironment) {\n const { org, project } = wcpProjectEnvironment;\n const upgradeProjectLicenseLink = getWcpAppUrl(`/${org.id}/${project.id}/settings`);\n message += ` To upgrade your project license, please use the following link: ${upgradeProjectLicenseLink}.`;\n }\n\n throw new WError(message, \"WCP_CANNOT_USE_FEATURE\", { wcpFeatureId });\n }\n\n async incrementSeats(): Promise<void> {\n await this.updateSeats(\"increment\");\n }\n\n async decrementSeats(): Promise<void> {\n await this.updateSeats(\"decrement\");\n }\n\n async incrementTenants(): Promise<void> {\n await this.updateTenants(\"increment\");\n }\n\n async decrementTenants(): Promise<void> {\n await this.updateTenants(\"decrement\");\n }\n\n toDto() {\n return this.getRawLicense();\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,7 @@ import type { WCP_FEATURE_LABEL } from "@webiny/wcp";
5
5
  */
6
6
  export interface IWcpContext extends ILicense {
7
7
  getProject(): WcpProject | null;
8
+ getProjectWithFeatureFlags(): WcpProject | null;
8
9
  getProjectLicense(): ILicense;
9
10
  getProjectEnvironment(): WcpProjectEnvironment | null;
10
11
  ensureCanUseFeature(featureId: keyof typeof WCP_FEATURE_LABEL): void;
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","WcpContext"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { ILicense, WcpProject, WcpProjectEnvironment } from \"@webiny/wcp/types.js\";\nimport type { WCP_FEATURE_LABEL } from \"@webiny/wcp\";\n\n/**\n * WcpContext Abstraction\n */\nexport interface IWcpContext extends ILicense {\n getProject(): WcpProject | null;\n getProjectLicense(): ILicense;\n getProjectEnvironment(): WcpProjectEnvironment | null;\n ensureCanUseFeature(featureId: keyof typeof WCP_FEATURE_LABEL): void;\n incrementSeats(): Promise<void>;\n decrementSeats(): Promise<void>;\n incrementTenants(): Promise<void>;\n decrementTenants(): Promise<void>;\n}\n\nexport const WcpContext = createAbstraction<IWcpContext>(\"WcpContext\");\n\nexport namespace WcpContext {\n export type Interface = IWcpContext;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAIvD;AACA;AACA;;AAYA,OAAO,MAAMC,UAAU,GAAGD,iBAAiB,CAAc,YAAY,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","WcpContext"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { ILicense, WcpProject, WcpProjectEnvironment } from \"@webiny/wcp/types.js\";\nimport type { WCP_FEATURE_LABEL } from \"@webiny/wcp\";\n\n/**\n * WcpContext Abstraction\n */\nexport interface IWcpContext extends ILicense {\n getProject(): WcpProject | null;\n getProjectWithFeatureFlags(): WcpProject | null;\n getProjectLicense(): ILicense;\n getProjectEnvironment(): WcpProjectEnvironment | null;\n ensureCanUseFeature(featureId: keyof typeof WCP_FEATURE_LABEL): void;\n incrementSeats(): Promise<void>;\n decrementSeats(): Promise<void>;\n incrementTenants(): Promise<void>;\n decrementTenants(): Promise<void>;\n}\n\nexport const WcpContext = createAbstraction<IWcpContext>(\"WcpContext\");\n\nexport namespace WcpContext {\n export type Interface = IWcpContext;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAIvD;AACA;AACA;;AAaA,OAAO,MAAMC,UAAU,GAAGD,iBAAiB,CAAc,YAAY,CAAC","ignoreList":[]}
@@ -0,0 +1,94 @@
1
+ import type { WCP_FEATURE_LABEL } from "@webiny/wcp";
2
+ import { WcpContext } from "../abstractions.js";
3
+ import { FeatureFlags } from "../../../featureFlags/abstractions.js";
4
+ declare class WcpContextWithFeatureFlagsDecoratorImpl implements WcpContext.Interface {
5
+ private featureFlags;
6
+ private decoratee;
7
+ constructor(featureFlags: FeatureFlags.Interface, decoratee: WcpContext.Interface);
8
+ getRawLicense(): import("@webiny/wcp/types.js").DecryptedWcpProjectLicense | null;
9
+ getProject(): import("@webiny/wcp/types.js").WcpProject | null;
10
+ getProjectWithFeatureFlags(): {
11
+ package: {
12
+ features: {
13
+ multiTenancy: {
14
+ enabled: true;
15
+ options: {
16
+ maxCount: {
17
+ type: import("@webiny/wcp/types.js").MT_OPTIONS_MAX_COUNT_TYPE;
18
+ count?: number;
19
+ };
20
+ };
21
+ };
22
+ advancedPublishingWorkflow: {
23
+ enabled: boolean;
24
+ };
25
+ advancedAccessControlLayer: {
26
+ enabled: boolean;
27
+ options: {
28
+ teams: boolean;
29
+ privateFiles: boolean;
30
+ folderLevelPermissions: boolean;
31
+ hcmsFieldPermissions: boolean;
32
+ };
33
+ };
34
+ auditLogs: {
35
+ enabled: boolean;
36
+ };
37
+ recordLocking: {
38
+ enabled: boolean;
39
+ };
40
+ fileManager: {
41
+ enabled: boolean;
42
+ options: {
43
+ threatDetection: boolean;
44
+ };
45
+ };
46
+ aiPowerups: {
47
+ enabled: boolean;
48
+ options: {
49
+ websiteBuilder: {
50
+ pageGeneration: boolean | undefined;
51
+ };
52
+ fileManager: {
53
+ imageEnrichment: boolean | undefined;
54
+ };
55
+ lexicalGeneration: boolean | undefined;
56
+ };
57
+ };
58
+ seats: {
59
+ enabled: true;
60
+ options: {
61
+ maxCount: number;
62
+ };
63
+ };
64
+ };
65
+ };
66
+ orgId: string;
67
+ projectId: string;
68
+ } | null;
69
+ getProjectEnvironment(): import("@webiny/wcp/types.js").WcpProjectEnvironment | null;
70
+ getProjectLicense(): import("@webiny/wcp/types.js").ILicense;
71
+ canUseFeature(wcpFeatureId: keyof typeof WCP_FEATURE_LABEL): boolean;
72
+ canUseAacl(): boolean;
73
+ canUseTeams(): boolean;
74
+ canUseFolderLevelPermissions(): boolean;
75
+ canUsePrivateFiles(): boolean;
76
+ canUseAuditLogs(): boolean;
77
+ canUseRecordLocking(): boolean;
78
+ canUseFileManagerThreatDetection(): boolean;
79
+ canUseWorkflows(): boolean;
80
+ canUseHcmsFieldPermissions(): boolean;
81
+ canUseAiImageEnrichment(): boolean;
82
+ canUseAiPageGeneration(): boolean;
83
+ canUseAiLexicalGeneration(): boolean;
84
+ ensureCanUseFeature(featureId: keyof typeof WCP_FEATURE_LABEL): void;
85
+ incrementSeats(): Promise<void>;
86
+ decrementSeats(): Promise<void>;
87
+ incrementTenants(): Promise<void>;
88
+ decrementTenants(): Promise<void>;
89
+ toDto(): import("@webiny/wcp/types.js").DecryptedWcpProjectLicense | null;
90
+ }
91
+ export declare const WcpContextWithFeatureFlagsDecorator: typeof WcpContextWithFeatureFlagsDecoratorImpl & {
92
+ __abstraction: import("@webiny/di").Abstraction<import("../abstractions.js").IWcpContext>;
93
+ };
94
+ export {};
@@ -0,0 +1,142 @@
1
+ import { WcpContext } from "../abstractions.js";
2
+ import { FeatureFlags } from "../../../featureFlags/abstractions.js";
3
+ class WcpContextWithFeatureFlagsDecoratorImpl {
4
+ constructor(featureFlags, decoratee) {
5
+ this.featureFlags = featureFlags;
6
+ this.decoratee = decoratee;
7
+ }
8
+ getRawLicense() {
9
+ return this.decoratee.getRawLicense();
10
+ }
11
+ getProject() {
12
+ return this.decoratee.getProject();
13
+ }
14
+ getProjectWithFeatureFlags() {
15
+ const project = this.decoratee.getProjectWithFeatureFlags();
16
+ if (!project) {
17
+ return null;
18
+ }
19
+ const flags = this.featureFlags.get();
20
+ return {
21
+ ...project,
22
+ package: {
23
+ ...project.package,
24
+ features: {
25
+ ...project.package.features,
26
+ multiTenancy: project.package.features.multiTenancy,
27
+ advancedPublishingWorkflow: {
28
+ ...project.package.features.advancedPublishingWorkflow,
29
+ enabled: flags.isWorkflowsEnabled() ? project.package.features.advancedPublishingWorkflow.enabled : false
30
+ },
31
+ advancedAccessControlLayer: {
32
+ ...project.package.features.advancedAccessControlLayer,
33
+ enabled: flags.isAaclEnabled() ? project.package.features.advancedAccessControlLayer.enabled : false,
34
+ options: {
35
+ teams: flags.isTeamsEnabled() ? project.package.features.advancedAccessControlLayer.options.teams : false,
36
+ privateFiles: flags.isPrivateFilesEnabled() ? project.package.features.advancedAccessControlLayer.options.privateFiles : false,
37
+ folderLevelPermissions: flags.isFolderLevelPermissionsEnabled() ? project.package.features.advancedAccessControlLayer.options.folderLevelPermissions : false,
38
+ hcmsFieldPermissions: flags.isHcmsFieldPermissionsEnabled() ? project.package.features.advancedAccessControlLayer.options.hcmsFieldPermissions : false
39
+ }
40
+ },
41
+ auditLogs: {
42
+ ...project.package.features.auditLogs,
43
+ enabled: flags.isAuditLogsEnabled() ? project.package.features.auditLogs.enabled : false
44
+ },
45
+ recordLocking: {
46
+ ...project.package.features.recordLocking,
47
+ enabled: flags.isRecordLockingEnabled() ? project.package.features.recordLocking.enabled : false
48
+ },
49
+ fileManager: {
50
+ ...project.package.features.fileManager,
51
+ enabled: project.package.features.fileManager.enabled,
52
+ options: {
53
+ threatDetection: flags.isFileManagerThreatDetectionEnabled() ? project.package.features.fileManager.options.threatDetection : false
54
+ }
55
+ },
56
+ aiPowerups: {
57
+ ...project.package.features.aiPowerups,
58
+ enabled: flags.isAiPowerupsEnabled() ? project.package.features.aiPowerups?.enabled : false,
59
+ options: {
60
+ websiteBuilder: {
61
+ pageGeneration: flags.isAiPageGenerationEnabled() ? project.package.features.aiPowerups?.options?.websiteBuilder?.pageGeneration : false
62
+ },
63
+ fileManager: {
64
+ imageEnrichment: flags.isAiImageEnrichmentEnabled() ? project.package.features.aiPowerups?.options?.fileManager?.imageEnrichment : false
65
+ },
66
+ lexicalGeneration: flags.isAiLexicalGenerationEnabled() ? project.package.features.aiPowerups?.options?.lexicalGeneration : false
67
+ }
68
+ }
69
+ }
70
+ }
71
+ };
72
+ }
73
+ getProjectEnvironment() {
74
+ return this.decoratee.getProjectEnvironment();
75
+ }
76
+ getProjectLicense() {
77
+ return this.decoratee.getProjectLicense();
78
+ }
79
+ canUseFeature(wcpFeatureId) {
80
+ return this.decoratee.canUseFeature(wcpFeatureId);
81
+ }
82
+ canUseAacl() {
83
+ return this.decoratee.canUseAacl() && this.featureFlags.get().isAaclEnabled();
84
+ }
85
+ canUseTeams() {
86
+ return this.decoratee.canUseTeams() && this.featureFlags.get().isTeamsEnabled();
87
+ }
88
+ canUseFolderLevelPermissions() {
89
+ return this.decoratee.canUseFolderLevelPermissions() && this.featureFlags.get().isFolderLevelPermissionsEnabled();
90
+ }
91
+ canUsePrivateFiles() {
92
+ return this.decoratee.canUsePrivateFiles() && this.featureFlags.get().isPrivateFilesEnabled();
93
+ }
94
+ canUseAuditLogs() {
95
+ return this.decoratee.canUseAuditLogs() && this.featureFlags.get().isAuditLogsEnabled();
96
+ }
97
+ canUseRecordLocking() {
98
+ return this.decoratee.canUseRecordLocking() && this.featureFlags.get().isRecordLockingEnabled();
99
+ }
100
+ canUseFileManagerThreatDetection() {
101
+ return this.decoratee.canUseFileManagerThreatDetection() && this.featureFlags.get().isFileManagerThreatDetectionEnabled();
102
+ }
103
+ canUseWorkflows() {
104
+ return this.decoratee.canUseWorkflows() && this.featureFlags.get().isWorkflowsEnabled();
105
+ }
106
+ canUseHcmsFieldPermissions() {
107
+ return this.decoratee.canUseHcmsFieldPermissions() && this.featureFlags.get().isHcmsFieldPermissionsEnabled();
108
+ }
109
+ canUseAiImageEnrichment() {
110
+ return this.decoratee.canUseAiImageEnrichment() && this.featureFlags.get().isAiImageEnrichmentEnabled();
111
+ }
112
+ canUseAiPageGeneration() {
113
+ return this.decoratee.canUseAiPageGeneration() && this.featureFlags.get().isAiPageGenerationEnabled();
114
+ }
115
+ canUseAiLexicalGeneration() {
116
+ return this.decoratee.canUseAiLexicalGeneration() && this.featureFlags.get().isAiLexicalGenerationEnabled();
117
+ }
118
+ ensureCanUseFeature(featureId) {
119
+ return this.decoratee.ensureCanUseFeature(featureId);
120
+ }
121
+ async incrementSeats() {
122
+ return this.decoratee.incrementSeats();
123
+ }
124
+ async decrementSeats() {
125
+ return this.decoratee.decrementSeats();
126
+ }
127
+ async incrementTenants() {
128
+ return this.decoratee.incrementTenants();
129
+ }
130
+ async decrementTenants() {
131
+ return this.decoratee.decrementTenants();
132
+ }
133
+ toDto() {
134
+ return this.decoratee.toDto();
135
+ }
136
+ }
137
+ export const WcpContextWithFeatureFlagsDecorator = WcpContext.createDecorator({
138
+ decorator: WcpContextWithFeatureFlagsDecoratorImpl,
139
+ dependencies: [FeatureFlags]
140
+ });
141
+
142
+ //# sourceMappingURL=WcpContextWithFeatureFlagsDecorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["WcpContext","FeatureFlags","WcpContextWithFeatureFlagsDecoratorImpl","constructor","featureFlags","decoratee","getRawLicense","getProject","getProjectWithFeatureFlags","project","flags","get","package","features","multiTenancy","advancedPublishingWorkflow","enabled","isWorkflowsEnabled","advancedAccessControlLayer","isAaclEnabled","options","teams","isTeamsEnabled","privateFiles","isPrivateFilesEnabled","folderLevelPermissions","isFolderLevelPermissionsEnabled","hcmsFieldPermissions","isHcmsFieldPermissionsEnabled","auditLogs","isAuditLogsEnabled","recordLocking","isRecordLockingEnabled","fileManager","threatDetection","isFileManagerThreatDetectionEnabled","aiPowerups","isAiPowerupsEnabled","websiteBuilder","pageGeneration","isAiPageGenerationEnabled","imageEnrichment","isAiImageEnrichmentEnabled","lexicalGeneration","isAiLexicalGenerationEnabled","getProjectEnvironment","getProjectLicense","canUseFeature","wcpFeatureId","canUseAacl","canUseTeams","canUseFolderLevelPermissions","canUsePrivateFiles","canUseAuditLogs","canUseRecordLocking","canUseFileManagerThreatDetection","canUseWorkflows","canUseHcmsFieldPermissions","canUseAiImageEnrichment","canUseAiPageGeneration","canUseAiLexicalGeneration","ensureCanUseFeature","featureId","incrementSeats","decrementSeats","incrementTenants","decrementTenants","toDto","WcpContextWithFeatureFlagsDecorator","createDecorator","decorator","dependencies"],"sources":["WcpContextWithFeatureFlagsDecorator.ts"],"sourcesContent":["import type { WCP_FEATURE_LABEL } from \"@webiny/wcp\";\nimport { WcpContext } from \"../abstractions.js\";\nimport { FeatureFlags } from \"../../../featureFlags/abstractions.js\";\n\nclass WcpContextWithFeatureFlagsDecoratorImpl implements WcpContext.Interface {\n constructor(\n private featureFlags: FeatureFlags.Interface,\n private decoratee: WcpContext.Interface\n ) {}\n\n getRawLicense() {\n return this.decoratee.getRawLicense();\n }\n\n getProject() {\n return this.decoratee.getProject();\n }\n\n getProjectWithFeatureFlags() {\n const project = this.decoratee.getProjectWithFeatureFlags();\n if (!project) {\n return null;\n }\n\n const flags = this.featureFlags.get();\n\n return {\n ...project,\n package: {\n ...project.package,\n features: {\n ...project.package.features,\n multiTenancy: project.package.features.multiTenancy,\n advancedPublishingWorkflow: {\n ...project.package.features.advancedPublishingWorkflow,\n enabled: flags.isWorkflowsEnabled()\n ? project.package.features.advancedPublishingWorkflow.enabled\n : false\n },\n advancedAccessControlLayer: {\n ...project.package.features.advancedAccessControlLayer,\n enabled: flags.isAaclEnabled()\n ? project.package.features.advancedAccessControlLayer.enabled\n : false,\n options: {\n teams: flags.isTeamsEnabled()\n ? project.package.features.advancedAccessControlLayer.options.teams\n : false,\n privateFiles: flags.isPrivateFilesEnabled()\n ? project.package.features.advancedAccessControlLayer.options\n .privateFiles\n : false,\n folderLevelPermissions: flags.isFolderLevelPermissionsEnabled()\n ? project.package.features.advancedAccessControlLayer.options\n .folderLevelPermissions\n : false,\n hcmsFieldPermissions: flags.isHcmsFieldPermissionsEnabled()\n ? project.package.features.advancedAccessControlLayer.options\n .hcmsFieldPermissions\n : false\n }\n },\n auditLogs: {\n ...project.package.features.auditLogs,\n enabled: flags.isAuditLogsEnabled()\n ? project.package.features.auditLogs.enabled\n : false\n },\n recordLocking: {\n ...project.package.features.recordLocking,\n enabled: flags.isRecordLockingEnabled()\n ? project.package.features.recordLocking.enabled\n : false\n },\n fileManager: {\n ...project.package.features.fileManager,\n enabled: project.package.features.fileManager.enabled,\n options: {\n threatDetection: flags.isFileManagerThreatDetectionEnabled()\n ? project.package.features.fileManager.options.threatDetection\n : false\n }\n },\n aiPowerups: {\n ...project.package.features.aiPowerups,\n enabled: flags.isAiPowerupsEnabled()\n ? project.package.features.aiPowerups?.enabled\n : false,\n options: {\n websiteBuilder: {\n pageGeneration: flags.isAiPageGenerationEnabled()\n ? project.package.features.aiPowerups?.options?.websiteBuilder\n ?.pageGeneration\n : false\n },\n fileManager: {\n imageEnrichment: flags.isAiImageEnrichmentEnabled()\n ? project.package.features.aiPowerups?.options?.fileManager\n ?.imageEnrichment\n : false\n },\n lexicalGeneration: flags.isAiLexicalGenerationEnabled()\n ? project.package.features.aiPowerups?.options?.lexicalGeneration\n : false\n }\n }\n }\n }\n };\n }\n\n getProjectEnvironment() {\n return this.decoratee.getProjectEnvironment();\n }\n\n getProjectLicense() {\n return this.decoratee.getProjectLicense();\n }\n\n canUseFeature(wcpFeatureId: keyof typeof WCP_FEATURE_LABEL) {\n return this.decoratee.canUseFeature(wcpFeatureId);\n }\n\n canUseAacl() {\n return this.decoratee.canUseAacl() && this.featureFlags.get().isAaclEnabled();\n }\n\n canUseTeams() {\n return this.decoratee.canUseTeams() && this.featureFlags.get().isTeamsEnabled();\n }\n\n canUseFolderLevelPermissions() {\n return (\n this.decoratee.canUseFolderLevelPermissions() &&\n this.featureFlags.get().isFolderLevelPermissionsEnabled()\n );\n }\n\n canUsePrivateFiles() {\n return (\n this.decoratee.canUsePrivateFiles() && this.featureFlags.get().isPrivateFilesEnabled()\n );\n }\n\n canUseAuditLogs() {\n return this.decoratee.canUseAuditLogs() && this.featureFlags.get().isAuditLogsEnabled();\n }\n\n canUseRecordLocking() {\n return (\n this.decoratee.canUseRecordLocking() && this.featureFlags.get().isRecordLockingEnabled()\n );\n }\n\n canUseFileManagerThreatDetection() {\n return (\n this.decoratee.canUseFileManagerThreatDetection() &&\n this.featureFlags.get().isFileManagerThreatDetectionEnabled()\n );\n }\n\n canUseWorkflows() {\n return this.decoratee.canUseWorkflows() && this.featureFlags.get().isWorkflowsEnabled();\n }\n\n canUseHcmsFieldPermissions() {\n return (\n this.decoratee.canUseHcmsFieldPermissions() &&\n this.featureFlags.get().isHcmsFieldPermissionsEnabled()\n );\n }\n\n canUseAiImageEnrichment() {\n return (\n this.decoratee.canUseAiImageEnrichment() &&\n this.featureFlags.get().isAiImageEnrichmentEnabled()\n );\n }\n\n canUseAiPageGeneration() {\n return (\n this.decoratee.canUseAiPageGeneration() &&\n this.featureFlags.get().isAiPageGenerationEnabled()\n );\n }\n\n canUseAiLexicalGeneration() {\n return (\n this.decoratee.canUseAiLexicalGeneration() &&\n this.featureFlags.get().isAiLexicalGenerationEnabled()\n );\n }\n\n ensureCanUseFeature(featureId: keyof typeof WCP_FEATURE_LABEL) {\n return this.decoratee.ensureCanUseFeature(featureId);\n }\n\n async incrementSeats() {\n return this.decoratee.incrementSeats();\n }\n\n async decrementSeats() {\n return this.decoratee.decrementSeats();\n }\n\n async incrementTenants() {\n return this.decoratee.incrementTenants();\n }\n\n async decrementTenants() {\n return this.decoratee.decrementTenants();\n }\n\n toDto() {\n return this.decoratee.toDto();\n }\n}\n\nexport const WcpContextWithFeatureFlagsDecorator = WcpContext.createDecorator({\n decorator: WcpContextWithFeatureFlagsDecoratorImpl,\n dependencies: [FeatureFlags]\n});\n"],"mappings":"AACA,SAASA,UAAU;AACnB,SAASC,YAAY;AAErB,MAAMC,uCAAuC,CAAiC;EAC1EC,WAAWA,CACCC,YAAoC,EACpCC,SAA+B,EACzC;IAAA,KAFUD,YAAoC,GAApCA,YAAoC;IAAA,KACpCC,SAA+B,GAA/BA,SAA+B;EACxC;EAEHC,aAAaA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACD,SAAS,CAACC,aAAa,CAAC,CAAC;EACzC;EAEAC,UAAUA,CAAA,EAAG;IACT,OAAO,IAAI,CAACF,SAAS,CAACE,UAAU,CAAC,CAAC;EACtC;EAEAC,0BAA0BA,CAAA,EAAG;IACzB,MAAMC,OAAO,GAAG,IAAI,CAACJ,SAAS,CAACG,0BAA0B,CAAC,CAAC;IAC3D,IAAI,CAACC,OAAO,EAAE;MACV,OAAO,IAAI;IACf;IAEA,MAAMC,KAAK,GAAG,IAAI,CAACN,YAAY,CAACO,GAAG,CAAC,CAAC;IAErC,OAAO;MACH,GAAGF,OAAO;MACVG,OAAO,EAAE;QACL,GAAGH,OAAO,CAACG,OAAO;QAClBC,QAAQ,EAAE;UACN,GAAGJ,OAAO,CAACG,OAAO,CAACC,QAAQ;UAC3BC,YAAY,EAAEL,OAAO,CAACG,OAAO,CAACC,QAAQ,CAACC,YAAY;UACnDC,0BAA0B,EAAE;YACxB,GAAGN,OAAO,CAACG,OAAO,CAACC,QAAQ,CAACE,0BAA0B;YACtDC,OAAO,EAAEN,KAAK,CAACO,kBAAkB,CAAC,CAAC,GAC7BR,OAAO,CAACG,OAAO,CAACC,QAAQ,CAACE,0BAA0B,CAACC,OAAO,GAC3D;UACV,CAAC;UACDE,0BAA0B,EAAE;YACxB,GAAGT,OAAO,CAACG,OAAO,CAACC,QAAQ,CAACK,0BAA0B;YACtDF,OAAO,EAAEN,KAAK,CAACS,aAAa,CAAC,CAAC,GACxBV,OAAO,CAACG,OAAO,CAACC,QAAQ,CAACK,0BAA0B,CAACF,OAAO,GAC3D,KAAK;YACXI,OAAO,EAAE;cACLC,KAAK,EAAEX,KAAK,CAACY,cAAc,CAAC,CAAC,GACvBb,OAAO,CAACG,OAAO,CAACC,QAAQ,CAACK,0BAA0B,CAACE,OAAO,CAACC,KAAK,GACjE,KAAK;cACXE,YAAY,EAAEb,KAAK,CAACc,qBAAqB,CAAC,CAAC,GACrCf,OAAO,CAACG,OAAO,CAACC,QAAQ,CAACK,0BAA0B,CAACE,OAAO,CACtDG,YAAY,GACjB,KAAK;cACXE,sBAAsB,EAAEf,KAAK,CAACgB,+BAA+B,CAAC,CAAC,GACzDjB,OAAO,CAACG,OAAO,CAACC,QAAQ,CAACK,0BAA0B,CAACE,OAAO,CACtDK,sBAAsB,GAC3B,KAAK;cACXE,oBAAoB,EAAEjB,KAAK,CAACkB,6BAA6B,CAAC,CAAC,GACrDnB,OAAO,CAACG,OAAO,CAACC,QAAQ,CAACK,0BAA0B,CAACE,OAAO,CACtDO,oBAAoB,GACzB;YACV;UACJ,CAAC;UACDE,SAAS,EAAE;YACP,GAAGpB,OAAO,CAACG,OAAO,CAACC,QAAQ,CAACgB,SAAS;YACrCb,OAAO,EAAEN,KAAK,CAACoB,kBAAkB,CAAC,CAAC,GAC7BrB,OAAO,CAACG,OAAO,CAACC,QAAQ,CAACgB,SAAS,CAACb,OAAO,GAC1C;UACV,CAAC;UACDe,aAAa,EAAE;YACX,GAAGtB,OAAO,CAACG,OAAO,CAACC,QAAQ,CAACkB,aAAa;YACzCf,OAAO,EAAEN,KAAK,CAACsB,sBAAsB,CAAC,CAAC,GACjCvB,OAAO,CAACG,OAAO,CAACC,QAAQ,CAACkB,aAAa,CAACf,OAAO,GAC9C;UACV,CAAC;UACDiB,WAAW,EAAE;YACT,GAAGxB,OAAO,CAACG,OAAO,CAACC,QAAQ,CAACoB,WAAW;YACvCjB,OAAO,EAAEP,OAAO,CAACG,OAAO,CAACC,QAAQ,CAACoB,WAAW,CAACjB,OAAO;YACrDI,OAAO,EAAE;cACLc,eAAe,EAAExB,KAAK,CAACyB,mCAAmC,CAAC,CAAC,GACtD1B,OAAO,CAACG,OAAO,CAACC,QAAQ,CAACoB,WAAW,CAACb,OAAO,CAACc,eAAe,GAC5D;YACV;UACJ,CAAC;UACDE,UAAU,EAAE;YACR,GAAG3B,OAAO,CAACG,OAAO,CAACC,QAAQ,CAACuB,UAAU;YACtCpB,OAAO,EAAEN,KAAK,CAAC2B,mBAAmB,CAAC,CAAC,GAC9B5B,OAAO,CAACG,OAAO,CAACC,QAAQ,CAACuB,UAAU,EAAEpB,OAAO,GAC5C,KAAK;YACXI,OAAO,EAAE;cACLkB,cAAc,EAAE;gBACZC,cAAc,EAAE7B,KAAK,CAAC8B,yBAAyB,CAAC,CAAC,GAC3C/B,OAAO,CAACG,OAAO,CAACC,QAAQ,CAACuB,UAAU,EAAEhB,OAAO,EAAEkB,cAAc,EACtDC,cAAc,GACpB;cACV,CAAC;cACDN,WAAW,EAAE;gBACTQ,eAAe,EAAE/B,KAAK,CAACgC,0BAA0B,CAAC,CAAC,GAC7CjC,OAAO,CAACG,OAAO,CAACC,QAAQ,CAACuB,UAAU,EAAEhB,OAAO,EAAEa,WAAW,EACnDQ,eAAe,GACrB;cACV,CAAC;cACDE,iBAAiB,EAAEjC,KAAK,CAACkC,4BAA4B,CAAC,CAAC,GACjDnC,OAAO,CAACG,OAAO,CAACC,QAAQ,CAACuB,UAAU,EAAEhB,OAAO,EAAEuB,iBAAiB,GAC/D;YACV;UACJ;QACJ;MACJ;IACJ,CAAC;EACL;EAEAE,qBAAqBA,CAAA,EAAG;IACpB,OAAO,IAAI,CAACxC,SAAS,CAACwC,qBAAqB,CAAC,CAAC;EACjD;EAEAC,iBAAiBA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACzC,SAAS,CAACyC,iBAAiB,CAAC,CAAC;EAC7C;EAEAC,aAAaA,CAACC,YAA4C,EAAE;IACxD,OAAO,IAAI,CAAC3C,SAAS,CAAC0C,aAAa,CAACC,YAAY,CAAC;EACrD;EAEAC,UAAUA,CAAA,EAAG;IACT,OAAO,IAAI,CAAC5C,SAAS,CAAC4C,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC7C,YAAY,CAACO,GAAG,CAAC,CAAC,CAACQ,aAAa,CAAC,CAAC;EACjF;EAEA+B,WAAWA,CAAA,EAAG;IACV,OAAO,IAAI,CAAC7C,SAAS,CAAC6C,WAAW,CAAC,CAAC,IAAI,IAAI,CAAC9C,YAAY,CAACO,GAAG,CAAC,CAAC,CAACW,cAAc,CAAC,CAAC;EACnF;EAEA6B,4BAA4BA,CAAA,EAAG;IAC3B,OACI,IAAI,CAAC9C,SAAS,CAAC8C,4BAA4B,CAAC,CAAC,IAC7C,IAAI,CAAC/C,YAAY,CAACO,GAAG,CAAC,CAAC,CAACe,+BAA+B,CAAC,CAAC;EAEjE;EAEA0B,kBAAkBA,CAAA,EAAG;IACjB,OACI,IAAI,CAAC/C,SAAS,CAAC+C,kBAAkB,CAAC,CAAC,IAAI,IAAI,CAAChD,YAAY,CAACO,GAAG,CAAC,CAAC,CAACa,qBAAqB,CAAC,CAAC;EAE9F;EAEA6B,eAAeA,CAAA,EAAG;IACd,OAAO,IAAI,CAAChD,SAAS,CAACgD,eAAe,CAAC,CAAC,IAAI,IAAI,CAACjD,YAAY,CAACO,GAAG,CAAC,CAAC,CAACmB,kBAAkB,CAAC,CAAC;EAC3F;EAEAwB,mBAAmBA,CAAA,EAAG;IAClB,OACI,IAAI,CAACjD,SAAS,CAACiD,mBAAmB,CAAC,CAAC,IAAI,IAAI,CAAClD,YAAY,CAACO,GAAG,CAAC,CAAC,CAACqB,sBAAsB,CAAC,CAAC;EAEhG;EAEAuB,gCAAgCA,CAAA,EAAG;IAC/B,OACI,IAAI,CAAClD,SAAS,CAACkD,gCAAgC,CAAC,CAAC,IACjD,IAAI,CAACnD,YAAY,CAACO,GAAG,CAAC,CAAC,CAACwB,mCAAmC,CAAC,CAAC;EAErE;EAEAqB,eAAeA,CAAA,EAAG;IACd,OAAO,IAAI,CAACnD,SAAS,CAACmD,eAAe,CAAC,CAAC,IAAI,IAAI,CAACpD,YAAY,CAACO,GAAG,CAAC,CAAC,CAACM,kBAAkB,CAAC,CAAC;EAC3F;EAEAwC,0BAA0BA,CAAA,EAAG;IACzB,OACI,IAAI,CAACpD,SAAS,CAACoD,0BAA0B,CAAC,CAAC,IAC3C,IAAI,CAACrD,YAAY,CAACO,GAAG,CAAC,CAAC,CAACiB,6BAA6B,CAAC,CAAC;EAE/D;EAEA8B,uBAAuBA,CAAA,EAAG;IACtB,OACI,IAAI,CAACrD,SAAS,CAACqD,uBAAuB,CAAC,CAAC,IACxC,IAAI,CAACtD,YAAY,CAACO,GAAG,CAAC,CAAC,CAAC+B,0BAA0B,CAAC,CAAC;EAE5D;EAEAiB,sBAAsBA,CAAA,EAAG;IACrB,OACI,IAAI,CAACtD,SAAS,CAACsD,sBAAsB,CAAC,CAAC,IACvC,IAAI,CAACvD,YAAY,CAACO,GAAG,CAAC,CAAC,CAAC6B,yBAAyB,CAAC,CAAC;EAE3D;EAEAoB,yBAAyBA,CAAA,EAAG;IACxB,OACI,IAAI,CAACvD,SAAS,CAACuD,yBAAyB,CAAC,CAAC,IAC1C,IAAI,CAACxD,YAAY,CAACO,GAAG,CAAC,CAAC,CAACiC,4BAA4B,CAAC,CAAC;EAE9D;EAEAiB,mBAAmBA,CAACC,SAAyC,EAAE;IAC3D,OAAO,IAAI,CAACzD,SAAS,CAACwD,mBAAmB,CAACC,SAAS,CAAC;EACxD;EAEA,MAAMC,cAAcA,CAAA,EAAG;IACnB,OAAO,IAAI,CAAC1D,SAAS,CAAC0D,cAAc,CAAC,CAAC;EAC1C;EAEA,MAAMC,cAAcA,CAAA,EAAG;IACnB,OAAO,IAAI,CAAC3D,SAAS,CAAC2D,cAAc,CAAC,CAAC;EAC1C;EAEA,MAAMC,gBAAgBA,CAAA,EAAG;IACrB,OAAO,IAAI,CAAC5D,SAAS,CAAC4D,gBAAgB,CAAC,CAAC;EAC5C;EAEA,MAAMC,gBAAgBA,CAAA,EAAG;IACrB,OAAO,IAAI,CAAC7D,SAAS,CAAC6D,gBAAgB,CAAC,CAAC;EAC5C;EAEAC,KAAKA,CAAA,EAAG;IACJ,OAAO,IAAI,CAAC9D,SAAS,CAAC8D,KAAK,CAAC,CAAC;EACjC;AACJ;AAEA,OAAO,MAAMC,mCAAmC,GAAGpE,UAAU,CAACqE,eAAe,CAAC;EAC1EC,SAAS,EAAEpE,uCAAuC;EAClDqE,YAAY,EAAE,CAACtE,YAAY;AAC/B,CAAC,CAAC","ignoreList":[]}
@@ -1,2 +1,6 @@
1
+ import type { Container } from "@webiny/di";
1
2
  import type { ILicense } from "@webiny/wcp/types.js";
2
- export declare const WcpContextFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<ILicense>;
3
+ export declare const WcpContextFeature: {
4
+ name: string;
5
+ register(container: Container, context: ILicense): void;
6
+ };
@@ -1,2 +1,5 @@
1
1
  import type { ILicense } from "@webiny/wcp/types.js";
2
- export declare const WcpFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<ILicense>;
2
+ export declare const WcpFeature: {
3
+ name: string;
4
+ register(container: import("@webiny/di").Container, context: ILicense): void;
5
+ };
@@ -1,9 +1,11 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { WcpContextFeature } from "./WcpContext/feature.js";
3
+ import { WcpContextWithFeatureFlagsDecorator } from "./WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.js";
3
4
  export const WcpFeature = createFeature({
4
5
  name: "WebinyControlPanel",
5
6
  register(container, license) {
6
7
  WcpContextFeature.register(container, license);
8
+ container.registerDecorator(WcpContextWithFeatureFlagsDecorator);
7
9
  }
8
10
  });
9
11
 
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","WcpContextFeature","WcpFeature","name","register","container","license"],"sources":["WcpFeature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { WcpContextFeature } from \"./WcpContext/feature.js\";\nimport type { ILicense } from \"@webiny/wcp/types.js\";\n\nexport const WcpFeature = createFeature({\n name: \"WebinyControlPanel\",\n register(container, license: ILicense) {\n WcpContextFeature.register(container, license);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,iBAAiB;AAG1B,OAAO,MAAMC,UAAU,GAAGF,aAAa,CAAC;EACpCG,IAAI,EAAE,oBAAoB;EAC1BC,QAAQA,CAACC,SAAS,EAAEC,OAAiB,EAAE;IACnCL,iBAAiB,CAACG,QAAQ,CAACC,SAAS,EAAEC,OAAO,CAAC;EAClD;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createFeature","WcpContextFeature","WcpContextWithFeatureFlagsDecorator","WcpFeature","name","register","container","license","registerDecorator"],"sources":["WcpFeature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { WcpContextFeature } from \"./WcpContext/feature.js\";\nimport { WcpContextWithFeatureFlagsDecorator } from \"./WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.js\";\nimport type { ILicense } from \"@webiny/wcp/types.js\";\n\nexport const WcpFeature = createFeature<ILicense>({\n name: \"WebinyControlPanel\",\n register(container, license) {\n WcpContextFeature.register(container, license);\n container.registerDecorator(WcpContextWithFeatureFlagsDecorator);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,iBAAiB;AAC1B,SAASC,mCAAmC;AAG5C,OAAO,MAAMC,UAAU,GAAGH,aAAa,CAAW;EAC9CI,IAAI,EAAE,oBAAoB;EAC1BC,QAAQA,CAACC,SAAS,EAAEC,OAAO,EAAE;IACzBN,iBAAiB,CAACI,QAAQ,CAACC,SAAS,EAAEC,OAAO,CAAC;IAC9CD,SAAS,CAACE,iBAAiB,CAACN,mCAAmC,CAAC;EACpE;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -4,6 +4,7 @@ interface NotAuthorizedResponseArgsType {
4
4
  code: string | null;
5
5
  data: any | null;
6
6
  }
7
+ /** GraphQL not-authorized response helper. */
7
8
  export declare class NotAuthorizedResponse extends ErrorResponse {
8
9
  constructor({ message, code, data }?: Partial<NotAuthorizedResponseArgsType>);
9
10
  }
@@ -1,4 +1,5 @@
1
1
  import { ErrorResponse } from "@webiny/handler-graphql/responses.js";
2
+ /** GraphQL not-authorized response helper. */
2
3
  export class NotAuthorizedResponse extends ErrorResponse {
3
4
  constructor({
4
5
  message,
@@ -1 +1 @@
1
- {"version":3,"names":["ErrorResponse","NotAuthorizedResponse","constructor","message","code","data"],"sources":["NotAuthorizedResponse.ts"],"sourcesContent":["import { ErrorResponse } from \"@webiny/handler-graphql/responses.js\";\n\ninterface NotAuthorizedResponseArgsType {\n message: string;\n code: string | null;\n data: any | null;\n}\n\nexport class NotAuthorizedResponse extends ErrorResponse {\n constructor({ message, code, data }: Partial<NotAuthorizedResponseArgsType> = {}) {\n super({\n message: message || \"Not authorized!\",\n code: code || \"SECURITY_NOT_AUTHORIZED\",\n data\n });\n }\n}\n\nexport default NotAuthorizedResponse;\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,sCAAsC;AAQpE,OAAO,MAAMC,qBAAqB,SAASD,aAAa,CAAC;EACrDE,WAAWA,CAAC;IAAEC,OAAO;IAAEC,IAAI;IAAEC;EAA6C,CAAC,GAAG,CAAC,CAAC,EAAE;IAC9E,KAAK,CAAC;MACFF,OAAO,EAAEA,OAAO,IAAI,iBAAiB;MACrCC,IAAI,EAAEA,IAAI,IAAI,yBAAyB;MACvCC;IACJ,CAAC,CAAC;EACN;AACJ;AAEA,eAAeJ,qBAAqB","ignoreList":[]}
1
+ {"version":3,"names":["ErrorResponse","NotAuthorizedResponse","constructor","message","code","data"],"sources":["NotAuthorizedResponse.ts"],"sourcesContent":["import { ErrorResponse } from \"@webiny/handler-graphql/responses.js\";\n\ninterface NotAuthorizedResponseArgsType {\n message: string;\n code: string | null;\n data: any | null;\n}\n\n/** GraphQL not-authorized response helper. */\nexport class NotAuthorizedResponse extends ErrorResponse {\n constructor({ message, code, data }: Partial<NotAuthorizedResponseArgsType> = {}) {\n super({\n message: message || \"Not authorized!\",\n code: code || \"SECURITY_NOT_AUTHORIZED\",\n data\n });\n }\n}\n\nexport default NotAuthorizedResponse;\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,sCAAsC;AAQpE;AACA,OAAO,MAAMC,qBAAqB,SAASD,aAAa,CAAC;EACrDE,WAAWA,CAAC;IAAEC,OAAO;IAAEC,IAAI;IAAEC;EAA6C,CAAC,GAAG,CAAC,CAAC,EAAE;IAC9E,KAAK,CAAC;MACFF,OAAO,EAAEA,OAAO,IAAI,iBAAiB;MACrCC,IAAI,EAAEA,IAAI,IAAI,yBAAyB;MACvCC;IACJ,CAAC,CAAC;EACN;AACJ;AAEA,eAAeJ,qBAAqB","ignoreList":[]}
@@ -18,6 +18,7 @@ export const createWcpGraphQL = () => {
18
18
  auditLogs: WcpProjectPackageFeaturesFeature
19
19
  recordLocking: WcpProjectPackageFeaturesFeature
20
20
  fileManager: WcpProjectPackageFeaturesFeature
21
+ aiPowerups: WcpProjectPackageFeaturesFeature
21
22
  }
22
23
 
23
24
  type WcpProjectPackage {
@@ -66,7 +67,7 @@ export const createWcpGraphQL = () => {
66
67
  getProject: async (_, __, context) => {
67
68
  try {
68
69
  const wcpContext = context.container.resolve(WcpContext);
69
- const project = wcpContext.getProject();
70
+ const project = wcpContext.getProjectWithFeatureFlags();
70
71
  if (!project) {
71
72
  throw Error(`Could not get project!`);
72
73
  }
@@ -1 +1 @@
1
- {"version":3,"names":["GraphQLSchemaPlugin","ErrorResponse","Response","WcpContext","emptyResolver","createWcpGraphQL","typeDefs","resolvers","Query","wcp","WcpQuery","getProject","_","__","context","wcpContext","container","resolve","project","Error","e","code","message","data","stack"],"sources":["graphql.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/index.js\";\nimport { ErrorResponse, Response } from \"@webiny/handler-graphql/responses.js\";\nimport { WcpContext } from \"~/features/wcp/WcpContext/index.js\";\n\nconst emptyResolver = () => ({});\n\nexport const createWcpGraphQL = () => {\n return new GraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type WcpProjectPackageFeaturesFeature {\n enabled: Boolean\n options: JSON\n }\n\n type WcpProjectPackageFeatures {\n seats: WcpProjectPackageFeaturesFeature\n multiTenancy: WcpProjectPackageFeaturesFeature\n advancedPublishingWorkflow: WcpProjectPackageFeaturesFeature\n advancedAccessControlLayer: WcpProjectPackageFeaturesFeature\n auditLogs: WcpProjectPackageFeaturesFeature\n recordLocking: WcpProjectPackageFeaturesFeature\n fileManager: WcpProjectPackageFeaturesFeature\n }\n\n type WcpProjectPackage {\n features: WcpProjectPackageFeatures\n }\n\n type WcpProject {\n orgId: ID\n projectId: ID\n package: WcpProjectPackage\n }\n\n type WcpError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type WcpProjectResponse {\n data: WcpProject\n error: WcpError\n }\n\n type WcpQuery {\n getProject: WcpProjectResponse\n }\n\n type WcpMutation {\n updateProject: WcpProjectResponse\n }\n\n extend type Query {\n wcp: WcpQuery\n }\n\n extend type Mutation {\n wcp: WcpMutation\n }\n `,\n resolvers: {\n Query: {\n wcp: emptyResolver\n },\n WcpQuery: {\n getProject: async (_, __, context) => {\n try {\n const wcpContext = context.container.resolve(WcpContext);\n const project = wcpContext.getProject();\n\n if (!project) {\n throw Error(`Could not get project!`);\n }\n\n return new Response(project);\n } catch (e) {\n return new ErrorResponse({\n code: \"COULD_NOT_GET_PROJECT\",\n message: e.message,\n data: null,\n stack: e.stack\n });\n }\n }\n }\n }\n });\n};\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,0CAA0C;AAC9E,SAASC,aAAa,EAAEC,QAAQ,QAAQ,sCAAsC;AAC9E,SAASC,UAAU;AAEnB,MAAMC,aAAa,GAAGA,CAAA,MAAO,CAAC,CAAC,CAAC;AAEhC,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EAClC,OAAO,IAAIL,mBAAmB,CAAC;IAC3BM,QAAQ,EAAE,aAAc;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;IACDC,SAAS,EAAE;MACPC,KAAK,EAAE;QACHC,GAAG,EAAEL;MACT,CAAC;MACDM,QAAQ,EAAE;QACNC,UAAU,EAAE,MAAAA,CAAOC,CAAC,EAAEC,EAAE,EAAEC,OAAO,KAAK;UAClC,IAAI;YACA,MAAMC,UAAU,GAAGD,OAAO,CAACE,SAAS,CAACC,OAAO,CAACd,UAAU,CAAC;YACxD,MAAMe,OAAO,GAAGH,UAAU,CAACJ,UAAU,CAAC,CAAC;YAEvC,IAAI,CAACO,OAAO,EAAE;cACV,MAAMC,KAAK,CAAC,wBAAwB,CAAC;YACzC;YAEA,OAAO,IAAIjB,QAAQ,CAACgB,OAAO,CAAC;UAChC,CAAC,CAAC,OAAOE,CAAC,EAAE;YACR,OAAO,IAAInB,aAAa,CAAC;cACrBoB,IAAI,EAAE,uBAAuB;cAC7BC,OAAO,EAAEF,CAAC,CAACE,OAAO;cAClBC,IAAI,EAAE,IAAI;cACVC,KAAK,EAAEJ,CAAC,CAACI;YACb,CAAC,CAAC;UACN;QACJ;MACJ;IACJ;EACJ,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["GraphQLSchemaPlugin","ErrorResponse","Response","WcpContext","emptyResolver","createWcpGraphQL","typeDefs","resolvers","Query","wcp","WcpQuery","getProject","_","__","context","wcpContext","container","resolve","project","getProjectWithFeatureFlags","Error","e","code","message","data","stack"],"sources":["graphql.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/index.js\";\nimport { ErrorResponse, Response } from \"@webiny/handler-graphql/responses.js\";\nimport { WcpContext } from \"~/features/wcp/WcpContext/index.js\";\n\nconst emptyResolver = () => ({});\n\nexport const createWcpGraphQL = () => {\n return new GraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type WcpProjectPackageFeaturesFeature {\n enabled: Boolean\n options: JSON\n }\n\n type WcpProjectPackageFeatures {\n seats: WcpProjectPackageFeaturesFeature\n multiTenancy: WcpProjectPackageFeaturesFeature\n advancedPublishingWorkflow: WcpProjectPackageFeaturesFeature\n advancedAccessControlLayer: WcpProjectPackageFeaturesFeature\n auditLogs: WcpProjectPackageFeaturesFeature\n recordLocking: WcpProjectPackageFeaturesFeature\n fileManager: WcpProjectPackageFeaturesFeature\n aiPowerups: WcpProjectPackageFeaturesFeature\n }\n\n type WcpProjectPackage {\n features: WcpProjectPackageFeatures\n }\n\n type WcpProject {\n orgId: ID\n projectId: ID\n package: WcpProjectPackage\n }\n\n type WcpError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type WcpProjectResponse {\n data: WcpProject\n error: WcpError\n }\n\n type WcpQuery {\n getProject: WcpProjectResponse\n }\n\n type WcpMutation {\n updateProject: WcpProjectResponse\n }\n\n extend type Query {\n wcp: WcpQuery\n }\n\n extend type Mutation {\n wcp: WcpMutation\n }\n `,\n resolvers: {\n Query: {\n wcp: emptyResolver\n },\n WcpQuery: {\n getProject: async (_, __, context) => {\n try {\n const wcpContext = context.container.resolve(WcpContext);\n const project = wcpContext.getProjectWithFeatureFlags();\n\n if (!project) {\n throw Error(`Could not get project!`);\n }\n\n return new Response(project);\n } catch (e) {\n return new ErrorResponse({\n code: \"COULD_NOT_GET_PROJECT\",\n message: e.message,\n data: null,\n stack: e.stack\n });\n }\n }\n }\n }\n });\n};\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,0CAA0C;AAC9E,SAASC,aAAa,EAAEC,QAAQ,QAAQ,sCAAsC;AAC9E,SAASC,UAAU;AAEnB,MAAMC,aAAa,GAAGA,CAAA,MAAO,CAAC,CAAC,CAAC;AAEhC,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EAClC,OAAO,IAAIL,mBAAmB,CAAC;IAC3BM,QAAQ,EAAE,aAAc;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;IACDC,SAAS,EAAE;MACPC,KAAK,EAAE;QACHC,GAAG,EAAEL;MACT,CAAC;MACDM,QAAQ,EAAE;QACNC,UAAU,EAAE,MAAAA,CAAOC,CAAC,EAAEC,EAAE,EAAEC,OAAO,KAAK;UAClC,IAAI;YACA,MAAMC,UAAU,GAAGD,OAAO,CAACE,SAAS,CAACC,OAAO,CAACd,UAAU,CAAC;YACxD,MAAMe,OAAO,GAAGH,UAAU,CAACI,0BAA0B,CAAC,CAAC;YAEvD,IAAI,CAACD,OAAO,EAAE;cACV,MAAME,KAAK,CAAC,wBAAwB,CAAC;YACzC;YAEA,OAAO,IAAIlB,QAAQ,CAACgB,OAAO,CAAC;UAChC,CAAC,CAAC,OAAOG,CAAC,EAAE;YACR,OAAO,IAAIpB,aAAa,CAAC;cACrBqB,IAAI,EAAE,uBAAuB;cAC7BC,OAAO,EAAEF,CAAC,CAACE,OAAO;cAClBC,IAAI,EAAE,IAAI;cACVC,KAAK,EAAEJ,CAAC,CAACI;YACb,CAAC,CAAC;UACN;QACJ;MACJ;IACJ;EACJ,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
@@ -19,6 +19,7 @@ export interface IIdentityProvider {
19
19
  isApplicable(token: string): boolean;
20
20
  getIdentity(token: string): Promise<IProviderIdentityData | null>;
21
21
  }
22
+ /** Generic identity provider for token-based authentication. */
22
23
  export declare const IdentityProvider: import("@webiny/di").Abstraction<IIdentityProvider>;
23
24
  export declare namespace IdentityProvider {
24
25
  type Interface = IIdentityProvider;
@@ -29,6 +30,7 @@ export interface IJwtIdentityProvider {
29
30
  isApplicable(token: IJwtPayload): boolean;
30
31
  getIdentity(token: string, jwt: IJwt): Promise<IProviderIdentityData | null>;
31
32
  }
33
+ /** JWT-specific identity provider for token validation. */
32
34
  export declare const JwtIdentityProvider: import("@webiny/di").Abstraction<IJwtIdentityProvider>;
33
35
  export declare namespace JwtIdentityProvider {
34
36
  type Interface = IJwtIdentityProvider;
@@ -45,6 +47,7 @@ export interface IOidcIdentityProvider {
45
47
  verifyToken?(token: string): Promise<IJwtPayload | undefined>;
46
48
  verifyTokenClaims?(token: IJwtPayload): Promise<void>;
47
49
  }
50
+ /** OIDC-compliant identity provider with issuer validation. */
48
51
  export declare const OidcIdentityProvider: import("@webiny/di").Abstraction<IOidcIdentityProvider>;
49
52
  export declare namespace OidcIdentityProvider {
50
53
  type Interface = IOidcIdentityProvider;
@@ -54,6 +57,7 @@ export declare namespace OidcIdentityProvider {
54
57
  interface IJwkCache {
55
58
  getKeys(issuer: string): Promise<IJwk[]>;
56
59
  }
60
+ /** Cache for JSON Web Keys used in JWT verification. */
57
61
  export declare const JwkCache: import("@webiny/di").Abstraction<IJwkCache>;
58
62
  export declare namespace JwkCache {
59
63
  type Interface = IJwkCache;
@@ -2,12 +2,16 @@ import { createAbstraction } from "@webiny/feature/api";
2
2
 
3
3
  // Generic Idp Provider
4
4
 
5
+ /** Generic identity provider for token-based authentication. */
5
6
  export const IdentityProvider = createAbstraction("IdentityProvider");
7
+ /** JWT-specific identity provider for token validation. */
6
8
  export const JwtIdentityProvider = createAbstraction("JwtIdentityProvider");
7
9
 
8
10
  // OIDC Provider
9
11
 
12
+ /** OIDC-compliant identity provider with issuer validation. */
10
13
  export const OidcIdentityProvider = createAbstraction("OidcIdentityProvider");
14
+ /** Cache for JSON Web Keys used in JWT verification. */
11
15
  export const JwkCache = createAbstraction("JwkCache");
12
16
 
13
17
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","IdentityProvider","JwtIdentityProvider","OidcIdentityProvider","JwkCache"],"sources":["abstractions.ts"],"sourcesContent":["import type { JwtPayload as IJwtPayload, JwtHeader as IJwtHeader } from \"jsonwebtoken\";\nimport { createAbstraction } from \"@webiny/feature/api\";\nimport type { IdentityData as IIdentityData } from \"~/features/security/IdentityContext/Identity.js\";\nimport type { Jwk as IJwk } from \"~/features/security/utils/verifyJwtUsingJwk.js\";\n\nexport type IJwt = {\n header: IJwtHeader;\n payload: IJwtPayload;\n};\n\nexport type OptionalExternal<T> = Omit<T, \"external\"> & { external?: boolean };\n\nexport type IProviderIdentityData = Omit<IIdentityData, \"type\" | \"profile\"> & {\n /**\n * Defaults to `admin` it omitted.\n */\n type?: string;\n profile?: OptionalExternal<NonNullable<IIdentityData[\"profile\"]>>;\n};\n\n// Generic Idp Provider\nexport interface IIdentityProvider {\n isApplicable(token: string): boolean;\n getIdentity(token: string): Promise<IProviderIdentityData | null>;\n}\n\nexport const IdentityProvider = createAbstraction<IIdentityProvider>(\"IdentityProvider\");\n\nexport namespace IdentityProvider {\n export type Interface = IIdentityProvider;\n export type IdentityData = IProviderIdentityData;\n export type JwtPayload = IJwtPayload;\n}\n\nexport interface IJwtIdentityProvider {\n isApplicable(token: IJwtPayload): boolean;\n getIdentity(token: string, jwt: IJwt): Promise<IProviderIdentityData | null>;\n}\n\nexport const JwtIdentityProvider = createAbstraction<IJwtIdentityProvider>(\"JwtIdentityProvider\");\n\nexport namespace JwtIdentityProvider {\n export type Interface = IJwtIdentityProvider;\n export type Jwt = IJwt;\n export type JwtPayload = IJwtPayload;\n export type JwtHeader = IJwtHeader;\n export type IdentityData = IProviderIdentityData;\n}\n\n// OIDC Provider\nexport interface IOidcIdentityProvider {\n issuer: string;\n clientId: string;\n isApplicable(token: IJwtPayload): boolean;\n getIdentity(jwt: IJwtPayload): Promise<IProviderIdentityData>;\n verifyToken?(token: string): Promise<IJwtPayload | undefined>;\n verifyTokenClaims?(token: IJwtPayload): Promise<void>;\n}\n\nexport const OidcIdentityProvider =\n createAbstraction<IOidcIdentityProvider>(\"OidcIdentityProvider\");\n\nexport namespace OidcIdentityProvider {\n export type Interface = IOidcIdentityProvider;\n export type JwtPayload = IJwtPayload;\n export type IdentityData = IProviderIdentityData;\n}\n\ninterface IJwkCache {\n getKeys(issuer: string): Promise<IJwk[]>;\n}\n\nexport const JwkCache = createAbstraction<IJwkCache>(\"JwkCache\");\nexport namespace JwkCache {\n export type Interface = IJwkCache;\n export type Jwk = IJwk;\n}\n"],"mappings":"AACA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAmBvD;;AAMA,OAAO,MAAMC,gBAAgB,GAAGD,iBAAiB,CAAoB,kBAAkB,CAAC;AAaxF,OAAO,MAAME,mBAAmB,GAAGF,iBAAiB,CAAuB,qBAAqB,CAAC;;AAUjG;;AAUA,OAAO,MAAMG,oBAAoB,GAC7BH,iBAAiB,CAAwB,sBAAsB,CAAC;AAYpE,OAAO,MAAMI,QAAQ,GAAGJ,iBAAiB,CAAY,UAAU,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","IdentityProvider","JwtIdentityProvider","OidcIdentityProvider","JwkCache"],"sources":["abstractions.ts"],"sourcesContent":["import type { JwtPayload as IJwtPayload, JwtHeader as IJwtHeader } from \"jsonwebtoken\";\nimport { createAbstraction } from \"@webiny/feature/api\";\nimport type { IdentityData as IIdentityData } from \"~/features/security/IdentityContext/Identity.js\";\nimport type { Jwk as IJwk } from \"~/features/security/utils/verifyJwtUsingJwk.js\";\n\nexport type IJwt = {\n header: IJwtHeader;\n payload: IJwtPayload;\n};\n\nexport type OptionalExternal<T> = Omit<T, \"external\"> & { external?: boolean };\n\nexport type IProviderIdentityData = Omit<IIdentityData, \"type\" | \"profile\"> & {\n /**\n * Defaults to `admin` it omitted.\n */\n type?: string;\n profile?: OptionalExternal<NonNullable<IIdentityData[\"profile\"]>>;\n};\n\n// Generic Idp Provider\nexport interface IIdentityProvider {\n isApplicable(token: string): boolean;\n getIdentity(token: string): Promise<IProviderIdentityData | null>;\n}\n\n/** Generic identity provider for token-based authentication. */\nexport const IdentityProvider = createAbstraction<IIdentityProvider>(\"IdentityProvider\");\n\nexport namespace IdentityProvider {\n export type Interface = IIdentityProvider;\n export type IdentityData = IProviderIdentityData;\n export type JwtPayload = IJwtPayload;\n}\n\nexport interface IJwtIdentityProvider {\n isApplicable(token: IJwtPayload): boolean;\n getIdentity(token: string, jwt: IJwt): Promise<IProviderIdentityData | null>;\n}\n\n/** JWT-specific identity provider for token validation. */\nexport const JwtIdentityProvider = createAbstraction<IJwtIdentityProvider>(\"JwtIdentityProvider\");\n\nexport namespace JwtIdentityProvider {\n export type Interface = IJwtIdentityProvider;\n export type Jwt = IJwt;\n export type JwtPayload = IJwtPayload;\n export type JwtHeader = IJwtHeader;\n export type IdentityData = IProviderIdentityData;\n}\n\n// OIDC Provider\nexport interface IOidcIdentityProvider {\n issuer: string;\n clientId: string;\n isApplicable(token: IJwtPayload): boolean;\n getIdentity(jwt: IJwtPayload): Promise<IProviderIdentityData>;\n verifyToken?(token: string): Promise<IJwtPayload | undefined>;\n verifyTokenClaims?(token: IJwtPayload): Promise<void>;\n}\n\n/** OIDC-compliant identity provider with issuer validation. */\nexport const OidcIdentityProvider =\n createAbstraction<IOidcIdentityProvider>(\"OidcIdentityProvider\");\n\nexport namespace OidcIdentityProvider {\n export type Interface = IOidcIdentityProvider;\n export type JwtPayload = IJwtPayload;\n export type IdentityData = IProviderIdentityData;\n}\n\ninterface IJwkCache {\n getKeys(issuer: string): Promise<IJwk[]>;\n}\n\n/** Cache for JSON Web Keys used in JWT verification. */\nexport const JwkCache = createAbstraction<IJwkCache>(\"JwkCache\");\nexport namespace JwkCache {\n export type Interface = IJwkCache;\n export type Jwk = IJwk;\n}\n"],"mappings":"AACA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAmBvD;;AAMA;AACA,OAAO,MAAMC,gBAAgB,GAAGD,iBAAiB,CAAoB,kBAAkB,CAAC;AAaxF;AACA,OAAO,MAAME,mBAAmB,GAAGF,iBAAiB,CAAuB,qBAAqB,CAAC;;AAUjG;;AAUA;AACA,OAAO,MAAMG,oBAAoB,GAC7BH,iBAAiB,CAAwB,sBAAsB,CAAC;AAYpE;AACA,OAAO,MAAMI,QAAQ,GAAGJ,iBAAiB,CAAY,UAAU,CAAC","ignoreList":[]}
package/idp/feature.d.ts CHANGED
@@ -1 +1,4 @@
1
- export declare const IdpAuthenticatorFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
1
+ export declare const IdpAuthenticatorFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -1,19 +1,8 @@
1
1
  import { ContextPlugin } from "@webiny/api";
2
- import { RolesProvider, TeamsProvider } from "../../features/security/shared/abstractions.js";
3
- import { SecurityRolePlugin } from "./plugins/SecurityRolePlugin.js";
4
- import { SecurityTeamPlugin } from "./plugins/SecurityTeamPlugin.js";
5
2
  import { LegacyContext } from "./LegacyContext.js";
6
3
  import { createSecurityGraphQL } from "../../graphql/security/index.js";
7
4
  export const createSecurityContext = () => {
8
5
  return new ContextPlugin(async context => {
9
- // Register roles and teams providers for plugin-defined roles/teams
10
- context.container.registerFactory(RolesProvider, () => {
11
- return async () => context.plugins.byType(SecurityRolePlugin.type).map(plugin => plugin.securityRole);
12
- });
13
- context.container.registerFactory(TeamsProvider, () => {
14
- return async () => context.plugins.byType(SecurityTeamPlugin.type).map(plugin => plugin.securityTeam);
15
- });
16
-
17
6
  // Create a legacy context that delegates to new features
18
7
  context.security = new LegacyContext(context.container);
19
8
 
@@ -1 +1 @@
1
- {"version":3,"names":["ContextPlugin","RolesProvider","TeamsProvider","SecurityRolePlugin","SecurityTeamPlugin","LegacyContext","createSecurityGraphQL","createSecurityContext","context","container","registerFactory","plugins","byType","type","map","plugin","securityRole","securityTeam","security","register"],"sources":["createSecurityContext.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/api\";\nimport type { ApiCoreContext } from \"~/types/core.js\";\nimport { RolesProvider, TeamsProvider } from \"~/features/security/shared/abstractions.js\";\nimport { SecurityRolePlugin } from \"~/legacy/security/plugins/SecurityRolePlugin.js\";\nimport { SecurityTeamPlugin } from \"~/legacy/security/plugins/SecurityTeamPlugin.js\";\nimport { LegacyContext } from \"~/legacy/security/LegacyContext.js\";\nimport { createSecurityGraphQL } from \"~/graphql/security/index.js\";\n\nexport const createSecurityContext = () => {\n return new ContextPlugin<ApiCoreContext>(async context => {\n // Register roles and teams providers for plugin-defined roles/teams\n context.container.registerFactory(RolesProvider, () => {\n return async () =>\n context.plugins\n .byType<SecurityRolePlugin>(SecurityRolePlugin.type)\n .map(plugin => plugin.securityRole);\n });\n\n context.container.registerFactory(TeamsProvider, () => {\n return async () =>\n context.plugins\n .byType<SecurityTeamPlugin>(SecurityTeamPlugin.type)\n .map(plugin => plugin.securityTeam);\n });\n\n // Create a legacy context that delegates to new features\n context.security = new LegacyContext(context.container);\n\n // Register GraphQL plugins\n context.plugins.register(createSecurityGraphQL());\n });\n};\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,aAAa;AAE3C,SAASC,aAAa,EAAEC,aAAa;AACrC,SAASC,kBAAkB;AAC3B,SAASC,kBAAkB;AAC3B,SAASC,aAAa;AACtB,SAASC,qBAAqB;AAE9B,OAAO,MAAMC,qBAAqB,GAAGA,CAAA,KAAM;EACvC,OAAO,IAAIP,aAAa,CAAiB,MAAMQ,OAAO,IAAI;IACtD;IACAA,OAAO,CAACC,SAAS,CAACC,eAAe,CAACT,aAAa,EAAE,MAAM;MACnD,OAAO,YACHO,OAAO,CAACG,OAAO,CACVC,MAAM,CAAqBT,kBAAkB,CAACU,IAAI,CAAC,CACnDC,GAAG,CAACC,MAAM,IAAIA,MAAM,CAACC,YAAY,CAAC;IAC/C,CAAC,CAAC;IAEFR,OAAO,CAACC,SAAS,CAACC,eAAe,CAACR,aAAa,EAAE,MAAM;MACnD,OAAO,YACHM,OAAO,CAACG,OAAO,CACVC,MAAM,CAAqBR,kBAAkB,CAACS,IAAI,CAAC,CACnDC,GAAG,CAACC,MAAM,IAAIA,MAAM,CAACE,YAAY,CAAC;IAC/C,CAAC,CAAC;;IAEF;IACAT,OAAO,CAACU,QAAQ,GAAG,IAAIb,aAAa,CAACG,OAAO,CAACC,SAAS,CAAC;;IAEvD;IACAD,OAAO,CAACG,OAAO,CAACQ,QAAQ,CAACb,qBAAqB,CAAC,CAAC,CAAC;EACrD,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["ContextPlugin","LegacyContext","createSecurityGraphQL","createSecurityContext","context","security","container","plugins","register"],"sources":["createSecurityContext.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/api\";\nimport type { ApiCoreContext } from \"~/types/core.js\";\nimport { LegacyContext } from \"~/legacy/security/LegacyContext.js\";\nimport { createSecurityGraphQL } from \"~/graphql/security/index.js\";\n\nexport const createSecurityContext = () => {\n return new ContextPlugin<ApiCoreContext>(async context => {\n // Create a legacy context that delegates to new features\n context.security = new LegacyContext(context.container);\n\n // Register GraphQL plugins\n context.plugins.register(createSecurityGraphQL());\n });\n};\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,aAAa;AAE3C,SAASC,aAAa;AACtB,SAASC,qBAAqB;AAE9B,OAAO,MAAMC,qBAAqB,GAAGA,CAAA,KAAM;EACvC,OAAO,IAAIH,aAAa,CAAiB,MAAMI,OAAO,IAAI;IACtD;IACAA,OAAO,CAACC,QAAQ,GAAG,IAAIJ,aAAa,CAACG,OAAO,CAACE,SAAS,CAAC;;IAEvD;IACAF,OAAO,CAACG,OAAO,CAACC,QAAQ,CAACN,qBAAqB,CAAC,CAAC,CAAC;EACrD,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
@@ -2,4 +2,4 @@ import type { ApiCoreContext } from "../../../types/core.js";
2
2
  export interface GetHeader {
3
3
  (context: ApiCoreContext): string | null | undefined;
4
4
  }
5
- export declare const authenticateUsingHttpHeader: () => (import("@webiny/handler").HandlerOnRequestPlugin<import("@webiny/handler/types.js").Context> | import("@webiny/handler").BeforeHandlerPlugin<ApiCoreContext> | (import("@webiny/api/index.js").ContextPlugin<ApiCoreContext> | import("@webiny/handler").BeforeHandlerPlugin<ApiCoreContext>)[])[];
5
+ export declare const authenticateUsingHttpHeader: () => (import("@webiny/handler").BeforeHandlerPlugin<ApiCoreContext> | (import("@webiny/api/index.js").ContextPlugin<ApiCoreContext> | import("@webiny/handler").BeforeHandlerPlugin<ApiCoreContext>)[] | import("@webiny/handler").HandlerOnRequestPlugin<import("@webiny/handler/types.js").Context>)[];