@webiny/api-core 6.0.0-rc.0 → 6.0.0-rc.2

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 (141) hide show
  1. package/ApiCoreFeature.js +2 -0
  2. package/ApiCoreFeature.js.map +1 -1
  3. package/features/featureFlags/FeatureFlags.d.ts +12 -0
  4. package/features/featureFlags/FeatureFlags.js +18 -0
  5. package/features/featureFlags/FeatureFlags.js.map +1 -0
  6. package/features/featureFlags/abstractions.d.ts +8 -0
  7. package/features/featureFlags/abstractions.js +4 -0
  8. package/features/featureFlags/abstractions.js.map +1 -0
  9. package/features/featureFlags/feature.d.ts +1 -0
  10. package/features/featureFlags/feature.js +10 -0
  11. package/features/featureFlags/feature.js.map +1 -0
  12. package/features/wcp/WcpContext/WcpContext.d.ts +1 -0
  13. package/features/wcp/WcpContext/WcpContext.js +3 -0
  14. package/features/wcp/WcpContext/WcpContext.js.map +1 -1
  15. package/features/wcp/WcpContext/abstractions.d.ts +1 -0
  16. package/features/wcp/WcpContext/abstractions.js.map +1 -1
  17. package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.d.ts +77 -0
  18. package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.js +117 -0
  19. package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.js.map +1 -0
  20. package/features/wcp/WcpFeature.js +2 -0
  21. package/features/wcp/WcpFeature.js.map +1 -1
  22. package/graphql/wcp/graphql.js +1 -1
  23. package/graphql/wcp/graphql.js.map +1 -1
  24. package/legacy/wcp/LegacyWcpContext.d.ts +1 -0
  25. package/legacy/wcp/LegacyWcpContext.js +3 -0
  26. package/legacy/wcp/LegacyWcpContext.js.map +1 -1
  27. package/package.json +17 -18
  28. package/extensions/BuildParam.d.ts +0 -11
  29. package/extensions/BuildParam.js +0 -119
  30. package/extensions/BuildParam.js.map +0 -1
  31. package/extensions/GenericExtension.d.ts +0 -10
  32. package/extensions/GenericExtension.js +0 -7
  33. package/extensions/GenericExtension.js.map +0 -1
  34. package/extensions/eventHandlers/AfterAuthentication.d.ts +0 -10
  35. package/extensions/eventHandlers/AfterAuthentication.js +0 -9
  36. package/extensions/eventHandlers/AfterAuthentication.js.map +0 -1
  37. package/extensions/eventHandlers/ApiKeyAfterCreate.d.ts +0 -10
  38. package/extensions/eventHandlers/ApiKeyAfterCreate.js +0 -9
  39. package/extensions/eventHandlers/ApiKeyAfterCreate.js.map +0 -1
  40. package/extensions/eventHandlers/ApiKeyAfterDelete.d.ts +0 -10
  41. package/extensions/eventHandlers/ApiKeyAfterDelete.js +0 -9
  42. package/extensions/eventHandlers/ApiKeyAfterDelete.js.map +0 -1
  43. package/extensions/eventHandlers/ApiKeyAfterUpdate.d.ts +0 -10
  44. package/extensions/eventHandlers/ApiKeyAfterUpdate.js +0 -9
  45. package/extensions/eventHandlers/ApiKeyAfterUpdate.js.map +0 -1
  46. package/extensions/eventHandlers/ApiKeyBeforeCreate.d.ts +0 -10
  47. package/extensions/eventHandlers/ApiKeyBeforeCreate.js +0 -9
  48. package/extensions/eventHandlers/ApiKeyBeforeCreate.js.map +0 -1
  49. package/extensions/eventHandlers/ApiKeyBeforeDelete.d.ts +0 -10
  50. package/extensions/eventHandlers/ApiKeyBeforeDelete.js +0 -9
  51. package/extensions/eventHandlers/ApiKeyBeforeDelete.js.map +0 -1
  52. package/extensions/eventHandlers/ApiKeyBeforeUpdate.d.ts +0 -10
  53. package/extensions/eventHandlers/ApiKeyBeforeUpdate.js +0 -9
  54. package/extensions/eventHandlers/ApiKeyBeforeUpdate.js.map +0 -1
  55. package/extensions/eventHandlers/BeforeAuthentication.d.ts +0 -10
  56. package/extensions/eventHandlers/BeforeAuthentication.js +0 -9
  57. package/extensions/eventHandlers/BeforeAuthentication.js.map +0 -1
  58. package/extensions/eventHandlers/RoleAfterCreate.d.ts +0 -10
  59. package/extensions/eventHandlers/RoleAfterCreate.js +0 -9
  60. package/extensions/eventHandlers/RoleAfterCreate.js.map +0 -1
  61. package/extensions/eventHandlers/RoleAfterDelete.d.ts +0 -10
  62. package/extensions/eventHandlers/RoleAfterDelete.js +0 -9
  63. package/extensions/eventHandlers/RoleAfterDelete.js.map +0 -1
  64. package/extensions/eventHandlers/RoleAfterUpdate.d.ts +0 -10
  65. package/extensions/eventHandlers/RoleAfterUpdate.js +0 -9
  66. package/extensions/eventHandlers/RoleAfterUpdate.js.map +0 -1
  67. package/extensions/eventHandlers/RoleBeforeCreate.d.ts +0 -10
  68. package/extensions/eventHandlers/RoleBeforeCreate.js +0 -9
  69. package/extensions/eventHandlers/RoleBeforeCreate.js.map +0 -1
  70. package/extensions/eventHandlers/RoleBeforeDelete.d.ts +0 -10
  71. package/extensions/eventHandlers/RoleBeforeDelete.js +0 -9
  72. package/extensions/eventHandlers/RoleBeforeDelete.js.map +0 -1
  73. package/extensions/eventHandlers/RoleBeforeUpdate.d.ts +0 -10
  74. package/extensions/eventHandlers/RoleBeforeUpdate.js +0 -9
  75. package/extensions/eventHandlers/RoleBeforeUpdate.js.map +0 -1
  76. package/extensions/eventHandlers/SystemInstalled.d.ts +0 -10
  77. package/extensions/eventHandlers/SystemInstalled.js +0 -9
  78. package/extensions/eventHandlers/SystemInstalled.js.map +0 -1
  79. package/extensions/eventHandlers/TeamAfterCreate.d.ts +0 -10
  80. package/extensions/eventHandlers/TeamAfterCreate.js +0 -9
  81. package/extensions/eventHandlers/TeamAfterCreate.js.map +0 -1
  82. package/extensions/eventHandlers/TeamAfterDelete.d.ts +0 -10
  83. package/extensions/eventHandlers/TeamAfterDelete.js +0 -9
  84. package/extensions/eventHandlers/TeamAfterDelete.js.map +0 -1
  85. package/extensions/eventHandlers/TeamAfterUpdate.d.ts +0 -10
  86. package/extensions/eventHandlers/TeamAfterUpdate.js +0 -9
  87. package/extensions/eventHandlers/TeamAfterUpdate.js.map +0 -1
  88. package/extensions/eventHandlers/TeamBeforeCreate.d.ts +0 -10
  89. package/extensions/eventHandlers/TeamBeforeCreate.js +0 -9
  90. package/extensions/eventHandlers/TeamBeforeCreate.js.map +0 -1
  91. package/extensions/eventHandlers/TeamBeforeDelete.d.ts +0 -10
  92. package/extensions/eventHandlers/TeamBeforeDelete.js +0 -9
  93. package/extensions/eventHandlers/TeamBeforeDelete.js.map +0 -1
  94. package/extensions/eventHandlers/TeamBeforeUpdate.d.ts +0 -10
  95. package/extensions/eventHandlers/TeamBeforeUpdate.js +0 -9
  96. package/extensions/eventHandlers/TeamBeforeUpdate.js.map +0 -1
  97. package/extensions/eventHandlers/TenantAfterCreate.d.ts +0 -10
  98. package/extensions/eventHandlers/TenantAfterCreate.js +0 -9
  99. package/extensions/eventHandlers/TenantAfterCreate.js.map +0 -1
  100. package/extensions/eventHandlers/TenantAfterDelete.d.ts +0 -10
  101. package/extensions/eventHandlers/TenantAfterDelete.js +0 -9
  102. package/extensions/eventHandlers/TenantAfterDelete.js.map +0 -1
  103. package/extensions/eventHandlers/TenantAfterUpdate.d.ts +0 -10
  104. package/extensions/eventHandlers/TenantAfterUpdate.js +0 -9
  105. package/extensions/eventHandlers/TenantAfterUpdate.js.map +0 -1
  106. package/extensions/eventHandlers/TenantBeforeCreate.d.ts +0 -10
  107. package/extensions/eventHandlers/TenantBeforeCreate.js +0 -9
  108. package/extensions/eventHandlers/TenantBeforeCreate.js.map +0 -1
  109. package/extensions/eventHandlers/TenantBeforeDelete.d.ts +0 -10
  110. package/extensions/eventHandlers/TenantBeforeDelete.js +0 -9
  111. package/extensions/eventHandlers/TenantBeforeDelete.js.map +0 -1
  112. package/extensions/eventHandlers/TenantBeforeUpdate.d.ts +0 -10
  113. package/extensions/eventHandlers/TenantBeforeUpdate.js +0 -9
  114. package/extensions/eventHandlers/TenantBeforeUpdate.js.map +0 -1
  115. package/extensions/eventHandlers/TenantInstalled.d.ts +0 -10
  116. package/extensions/eventHandlers/TenantInstalled.js +0 -9
  117. package/extensions/eventHandlers/TenantInstalled.js.map +0 -1
  118. package/extensions/eventHandlers/UserAfterCreate.d.ts +0 -10
  119. package/extensions/eventHandlers/UserAfterCreate.js +0 -9
  120. package/extensions/eventHandlers/UserAfterCreate.js.map +0 -1
  121. package/extensions/eventHandlers/UserAfterDelete.d.ts +0 -10
  122. package/extensions/eventHandlers/UserAfterDelete.js +0 -9
  123. package/extensions/eventHandlers/UserAfterDelete.js.map +0 -1
  124. package/extensions/eventHandlers/UserAfterUpdate.d.ts +0 -10
  125. package/extensions/eventHandlers/UserAfterUpdate.js +0 -9
  126. package/extensions/eventHandlers/UserAfterUpdate.js.map +0 -1
  127. package/extensions/eventHandlers/UserBeforeCreate.d.ts +0 -10
  128. package/extensions/eventHandlers/UserBeforeCreate.js +0 -9
  129. package/extensions/eventHandlers/UserBeforeCreate.js.map +0 -1
  130. package/extensions/eventHandlers/UserBeforeDelete.d.ts +0 -10
  131. package/extensions/eventHandlers/UserBeforeDelete.js +0 -9
  132. package/extensions/eventHandlers/UserBeforeDelete.js.map +0 -1
  133. package/extensions/eventHandlers/UserBeforeUpdate.d.ts +0 -10
  134. package/extensions/eventHandlers/UserBeforeUpdate.js +0 -9
  135. package/extensions/eventHandlers/UserBeforeUpdate.js.map +0 -1
  136. package/extensions/eventHandlers/index.d.ts +0 -34
  137. package/extensions/eventHandlers/index.js +0 -49
  138. package/extensions/eventHandlers/index.js.map +0 -1
  139. package/extensions/index.d.ts +0 -58
  140. package/extensions/index.js +0 -49
  141. package/extensions/index.js.map +0 -1
package/ApiCoreFeature.js CHANGED
@@ -8,6 +8,7 @@ import { AdminUsersFeature } from "./features/users/AdminUsersFeature.js";
8
8
  import { IdpAuthenticatorFeature } from "./idp/feature.js";
9
9
  import { KeyValueStoreFeature } from "./features/keyValueStore/feature.js";
10
10
  import { BuildParamsFeature } from "./features/buildParams/feature.js";
11
+ import { FeatureFlagsFeature } from "./features/featureFlags/feature.js";
11
12
  export const ApiCoreFeature = createFeature({
12
13
  name: "ApiCore",
13
14
  register(container, config) {
@@ -15,6 +16,7 @@ export const ApiCoreFeature = createFeature({
15
16
  LoggerFeature.register(container);
16
17
  EventPublisherFeature.register(container);
17
18
  BuildParamsFeature.register(container);
19
+ FeatureFlagsFeature.register(container);
18
20
  TenancyFeature.register(container, config.tenancyStorageOperations);
19
21
  SecurityFeature.register(container, config.securityStorageOperations);
20
22
  AdminUsersFeature.register(container, config.usersStorageOperations);
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","EventPublisherFeature","LoggerFeature","SecurityFeature","SystemFeature","TenancyFeature","AdminUsersFeature","IdpAuthenticatorFeature","KeyValueStoreFeature","BuildParamsFeature","ApiCoreFeature","name","register","container","config","tenancyStorageOperations","securityStorageOperations","usersStorageOperations","keyValueStorageOperations"],"sources":["ApiCoreFeature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { Container } from \"@webiny/di\";\nimport { EventPublisherFeature } from \"~/features/eventPublisher/feature.js\";\nimport { LoggerFeature } from \"~/features/logger/feature.js\";\nimport { SecurityFeature } from \"~/features/security/SecurityFeature.js\";\nimport { SystemFeature } from \"~/features/system/SystemFeature.js\";\nimport { TenancyFeature } from \"./features/tenancy/TenancyFeature.js\";\nimport { AdminUsersFeature } from \"~/features/users/AdminUsersFeature.js\";\nimport type { ApiCoreStorageOperations } from \"~/types/core.js\";\nimport { IdpAuthenticatorFeature } from \"~/idp/feature.js\";\nimport { KeyValueStoreFeature } from \"~/features/keyValueStore/feature.js\";\nimport { BuildParamsFeature } from \"~/features/buildParams/feature.js\";\n\nexport const ApiCoreFeature = createFeature({\n name: \"ApiCore\",\n register(container: Container, config: ApiCoreStorageOperations) {\n // Register features\n LoggerFeature.register(container);\n EventPublisherFeature.register(container);\n BuildParamsFeature.register(container);\n TenancyFeature.register(container, config.tenancyStorageOperations);\n SecurityFeature.register(container, config.securityStorageOperations);\n AdminUsersFeature.register(container, config.usersStorageOperations);\n KeyValueStoreFeature.register(container, config.keyValueStorageOperations);\n SystemFeature.register(container);\n IdpAuthenticatorFeature.register(container);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AAEnD,SAASC,qBAAqB;AAC9B,SAASC,aAAa;AACtB,SAASC,eAAe;AACxB,SAASC,aAAa;AACtB,SAASC,cAAc;AACvB,SAASC,iBAAiB;AAE1B,SAASC,uBAAuB;AAChC,SAASC,oBAAoB;AAC7B,SAASC,kBAAkB;AAE3B,OAAO,MAAMC,cAAc,GAAGV,aAAa,CAAC;EACxCW,IAAI,EAAE,SAAS;EACfC,QAAQA,CAACC,SAAoB,EAAEC,MAAgC,EAAE;IAC7D;IACAZ,aAAa,CAACU,QAAQ,CAACC,SAAS,CAAC;IACjCZ,qBAAqB,CAACW,QAAQ,CAACC,SAAS,CAAC;IACzCJ,kBAAkB,CAACG,QAAQ,CAACC,SAAS,CAAC;IACtCR,cAAc,CAACO,QAAQ,CAACC,SAAS,EAAEC,MAAM,CAACC,wBAAwB,CAAC;IACnEZ,eAAe,CAACS,QAAQ,CAACC,SAAS,EAAEC,MAAM,CAACE,yBAAyB,CAAC;IACrEV,iBAAiB,CAACM,QAAQ,CAACC,SAAS,EAAEC,MAAM,CAACG,sBAAsB,CAAC;IACpET,oBAAoB,CAACI,QAAQ,CAACC,SAAS,EAAEC,MAAM,CAACI,yBAAyB,CAAC;IAC1Ed,aAAa,CAACQ,QAAQ,CAACC,SAAS,CAAC;IACjCN,uBAAuB,CAACK,QAAQ,CAACC,SAAS,CAAC;EAC/C;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createFeature","EventPublisherFeature","LoggerFeature","SecurityFeature","SystemFeature","TenancyFeature","AdminUsersFeature","IdpAuthenticatorFeature","KeyValueStoreFeature","BuildParamsFeature","FeatureFlagsFeature","ApiCoreFeature","name","register","container","config","tenancyStorageOperations","securityStorageOperations","usersStorageOperations","keyValueStorageOperations"],"sources":["ApiCoreFeature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { Container } from \"@webiny/di\";\nimport { EventPublisherFeature } from \"~/features/eventPublisher/feature.js\";\nimport { LoggerFeature } from \"~/features/logger/feature.js\";\nimport { SecurityFeature } from \"~/features/security/SecurityFeature.js\";\nimport { SystemFeature } from \"~/features/system/SystemFeature.js\";\nimport { TenancyFeature } from \"./features/tenancy/TenancyFeature.js\";\nimport { AdminUsersFeature } from \"~/features/users/AdminUsersFeature.js\";\nimport type { ApiCoreStorageOperations } from \"~/types/core.js\";\nimport { IdpAuthenticatorFeature } from \"~/idp/feature.js\";\nimport { KeyValueStoreFeature } from \"~/features/keyValueStore/feature.js\";\nimport { BuildParamsFeature } from \"~/features/buildParams/feature.js\";\nimport { FeatureFlagsFeature } from \"~/features/featureFlags/feature.js\";\n\nexport const ApiCoreFeature = createFeature({\n name: \"ApiCore\",\n register(container: Container, config: ApiCoreStorageOperations) {\n // Register features\n LoggerFeature.register(container);\n EventPublisherFeature.register(container);\n BuildParamsFeature.register(container);\n FeatureFlagsFeature.register(container);\n TenancyFeature.register(container, config.tenancyStorageOperations);\n SecurityFeature.register(container, config.securityStorageOperations);\n AdminUsersFeature.register(container, config.usersStorageOperations);\n KeyValueStoreFeature.register(container, config.keyValueStorageOperations);\n SystemFeature.register(container);\n IdpAuthenticatorFeature.register(container);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AAEnD,SAASC,qBAAqB;AAC9B,SAASC,aAAa;AACtB,SAASC,eAAe;AACxB,SAASC,aAAa;AACtB,SAASC,cAAc;AACvB,SAASC,iBAAiB;AAE1B,SAASC,uBAAuB;AAChC,SAASC,oBAAoB;AAC7B,SAASC,kBAAkB;AAC3B,SAASC,mBAAmB;AAE5B,OAAO,MAAMC,cAAc,GAAGX,aAAa,CAAC;EACxCY,IAAI,EAAE,SAAS;EACfC,QAAQA,CAACC,SAAoB,EAAEC,MAAgC,EAAE;IAC7D;IACAb,aAAa,CAACW,QAAQ,CAACC,SAAS,CAAC;IACjCb,qBAAqB,CAACY,QAAQ,CAACC,SAAS,CAAC;IACzCL,kBAAkB,CAACI,QAAQ,CAACC,SAAS,CAAC;IACtCJ,mBAAmB,CAACG,QAAQ,CAACC,SAAS,CAAC;IACvCT,cAAc,CAACQ,QAAQ,CAACC,SAAS,EAAEC,MAAM,CAACC,wBAAwB,CAAC;IACnEb,eAAe,CAACU,QAAQ,CAACC,SAAS,EAAEC,MAAM,CAACE,yBAAyB,CAAC;IACrEX,iBAAiB,CAACO,QAAQ,CAACC,SAAS,EAAEC,MAAM,CAACG,sBAAsB,CAAC;IACpEV,oBAAoB,CAACK,QAAQ,CAACC,SAAS,EAAEC,MAAM,CAACI,yBAAyB,CAAC;IAC1Ef,aAAa,CAACS,QAAQ,CAACC,SAAS,CAAC;IACjCP,uBAAuB,CAACM,QAAQ,CAACC,SAAS,CAAC;EAC/C;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ import { FeatureFlags as FeatureFlagsAbstraction } from "./abstractions.js";
2
+ import { BuildParams } from "../buildParams/abstractions.js";
3
+ import { FeatureFlags as FeatureFlagsClass } from "@webiny/feature-flags";
4
+ declare class FeatureFlagsImpl implements FeatureFlagsAbstraction.Interface {
5
+ private buildParams;
6
+ constructor(buildParams: BuildParams.Interface);
7
+ get(): FeatureFlagsClass;
8
+ }
9
+ export declare const FeatureFlags: typeof FeatureFlagsImpl & {
10
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IFeatureFlagsAbstraction>;
11
+ };
12
+ export {};
@@ -0,0 +1,18 @@
1
+ import { FeatureFlags as FeatureFlagsAbstraction } from "./abstractions.js";
2
+ import { BuildParams } from "../buildParams/abstractions.js";
3
+ import { FeatureFlags as FeatureFlagsClass } from "@webiny/feature-flags";
4
+ class FeatureFlagsImpl {
5
+ constructor(buildParams) {
6
+ this.buildParams = buildParams;
7
+ }
8
+ get() {
9
+ const raw = this.buildParams.get("FeatureFlags") ?? {};
10
+ return FeatureFlagsClass.fromDto(raw);
11
+ }
12
+ }
13
+ export const FeatureFlags = FeatureFlagsAbstraction.createImplementation({
14
+ implementation: FeatureFlagsImpl,
15
+ dependencies: [BuildParams]
16
+ });
17
+
18
+ //# sourceMappingURL=FeatureFlags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FeatureFlags","FeatureFlagsAbstraction","BuildParams","FeatureFlagsClass","FeatureFlagsImpl","constructor","buildParams","get","raw","fromDto","createImplementation","implementation","dependencies"],"sources":["FeatureFlags.ts"],"sourcesContent":["import { FeatureFlags as FeatureFlagsAbstraction } from \"./abstractions.js\";\nimport { BuildParams } from \"../buildParams/abstractions.js\";\nimport { FeatureFlags as FeatureFlagsClass } from \"@webiny/feature-flags\";\nimport type { IFeatureFlagsDto } from \"@webiny/feature-flags\";\n\nclass FeatureFlagsImpl implements FeatureFlagsAbstraction.Interface {\n constructor(private buildParams: BuildParams.Interface) {}\n\n get(): FeatureFlagsClass {\n const raw = this.buildParams.get<IFeatureFlagsDto>(\"FeatureFlags\") ?? {};\n return FeatureFlagsClass.fromDto(raw);\n }\n}\n\nexport const FeatureFlags = FeatureFlagsAbstraction.createImplementation({\n implementation: FeatureFlagsImpl,\n dependencies: [BuildParams]\n});\n"],"mappings":"AAAA,SAASA,YAAY,IAAIC,uBAAuB;AAChD,SAASC,WAAW;AACpB,SAASF,YAAY,IAAIG,iBAAiB,QAAQ,uBAAuB;AAGzE,MAAMC,gBAAgB,CAA8C;EAChEC,WAAWA,CAASC,WAAkC,EAAE;IAAA,KAApCA,WAAkC,GAAlCA,WAAkC;EAAG;EAEzDC,GAAGA,CAAA,EAAsB;IACrB,MAAMC,GAAG,GAAG,IAAI,CAACF,WAAW,CAACC,GAAG,CAAmB,cAAc,CAAC,IAAI,CAAC,CAAC;IACxE,OAAOJ,iBAAiB,CAACM,OAAO,CAACD,GAAG,CAAC;EACzC;AACJ;AAEA,OAAO,MAAMR,YAAY,GAAGC,uBAAuB,CAACS,oBAAoB,CAAC;EACrEC,cAAc,EAAEP,gBAAgB;EAChCQ,YAAY,EAAE,CAACV,WAAW;AAC9B,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import { FeatureFlags as FeatureFlagsClass } from "@webiny/feature-flags";
2
+ export interface IFeatureFlagsAbstraction {
3
+ get(): FeatureFlagsClass;
4
+ }
5
+ export declare const FeatureFlags: import("@webiny/di").Abstraction<IFeatureFlagsAbstraction>;
6
+ export declare namespace FeatureFlags {
7
+ type Interface = IFeatureFlagsAbstraction;
8
+ }
@@ -0,0 +1,4 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ export const FeatureFlags = createAbstraction("FeatureFlags");
3
+
4
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createAbstraction","FeatureFlags"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { FeatureFlags as FeatureFlagsClass } from \"@webiny/feature-flags\";\n\nexport interface IFeatureFlagsAbstraction {\n get(): FeatureFlagsClass;\n}\n\nexport const FeatureFlags = createAbstraction<IFeatureFlagsAbstraction>(\"FeatureFlags\");\n\nexport namespace FeatureFlags {\n export type Interface = IFeatureFlagsAbstraction;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAOvD,OAAO,MAAMC,YAAY,GAAGD,iBAAiB,CAA2B,cAAc,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export declare const FeatureFlagsFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
@@ -0,0 +1,10 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { FeatureFlags } from "./FeatureFlags.js";
3
+ export const FeatureFlagsFeature = createFeature({
4
+ name: "FeatureFlags",
5
+ register(container) {
6
+ container.register(FeatureFlags);
7
+ }
8
+ });
9
+
10
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createFeature","FeatureFlags","FeatureFlagsFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport type { Container } from \"@webiny/di\";\nimport { FeatureFlags } from \"./FeatureFlags.js\";\n\nexport const FeatureFlagsFeature = createFeature({\n name: \"FeatureFlags\",\n register(container: Container) {\n container.register(FeatureFlags);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AAEnD,SAASC,YAAY;AAErB,OAAO,MAAMC,mBAAmB,GAAGF,aAAa,CAAC;EAC7CG,IAAI,EAAE,cAAc;EACpBC,QAAQA,CAACC,SAAoB,EAAE;IAC3BA,SAAS,CAACD,QAAQ,CAACH,YAAY,CAAC;EACpC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -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;
@@ -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
  }
@@ -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","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 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,77 @@
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
+ };
32
+ };
33
+ auditLogs: {
34
+ enabled: boolean;
35
+ };
36
+ recordLocking: {
37
+ enabled: boolean;
38
+ };
39
+ fileManager: {
40
+ enabled: boolean;
41
+ options: {
42
+ threatDetection: boolean;
43
+ };
44
+ };
45
+ seats: {
46
+ enabled: true;
47
+ options: {
48
+ maxCount: number;
49
+ };
50
+ };
51
+ };
52
+ };
53
+ orgId: string;
54
+ projectId: string;
55
+ } | null;
56
+ getProjectEnvironment(): import("@webiny/wcp/types.js").WcpProjectEnvironment | null;
57
+ getProjectLicense(): import("@webiny/wcp/types.js").ILicense;
58
+ canUseFeature(wcpFeatureId: keyof typeof WCP_FEATURE_LABEL): boolean;
59
+ canUseAacl(): boolean;
60
+ canUseTeams(): boolean;
61
+ canUseFolderLevelPermissions(): boolean;
62
+ canUsePrivateFiles(): boolean;
63
+ canUseAuditLogs(): boolean;
64
+ canUseRecordLocking(): boolean;
65
+ canUseFileManagerThreatDetection(): boolean;
66
+ canUseWorkflows(): boolean;
67
+ ensureCanUseFeature(featureId: keyof typeof WCP_FEATURE_LABEL): void;
68
+ incrementSeats(): Promise<void>;
69
+ decrementSeats(): Promise<void>;
70
+ incrementTenants(): Promise<void>;
71
+ decrementTenants(): Promise<void>;
72
+ toDto(): import("@webiny/wcp/types.js").DecryptedWcpProjectLicense | null;
73
+ }
74
+ export declare const WcpContextWithFeatureFlagsDecorator: typeof WcpContextWithFeatureFlagsDecoratorImpl & {
75
+ __abstraction: import("@webiny/di").Abstraction<import("../abstractions.js").IWcpContext>;
76
+ };
77
+ export {};
@@ -0,0 +1,117 @@
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
+ console.log("flags", flags);
21
+ return {
22
+ ...project,
23
+ package: {
24
+ ...project.package,
25
+ features: {
26
+ ...project.package.features,
27
+ multiTenancy: project.package.features.multiTenancy,
28
+ advancedPublishingWorkflow: {
29
+ ...project.package.features.advancedPublishingWorkflow,
30
+ enabled: flags.isWorkflowsEnabled() ? project.package.features.advancedPublishingWorkflow.enabled : false
31
+ },
32
+ advancedAccessControlLayer: {
33
+ ...project.package.features.advancedAccessControlLayer,
34
+ enabled: flags.isAaclEnabled() ? project.package.features.advancedAccessControlLayer.enabled : false,
35
+ options: {
36
+ teams: flags.isTeamsEnabled() ? project.package.features.advancedAccessControlLayer.options.teams : false,
37
+ privateFiles: flags.isPrivateFilesEnabled() ? project.package.features.advancedAccessControlLayer.options.privateFiles : false,
38
+ folderLevelPermissions: flags.isFolderLevelPermissionsEnabled() ? project.package.features.advancedAccessControlLayer.options.folderLevelPermissions : 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
+ }
57
+ }
58
+ };
59
+ }
60
+ getProjectEnvironment() {
61
+ return this.decoratee.getProjectEnvironment();
62
+ }
63
+ getProjectLicense() {
64
+ return this.decoratee.getProjectLicense();
65
+ }
66
+ canUseFeature(wcpFeatureId) {
67
+ return this.decoratee.canUseFeature(wcpFeatureId);
68
+ }
69
+ canUseAacl() {
70
+ return this.decoratee.canUseAacl() && this.featureFlags.get().isAaclEnabled();
71
+ }
72
+ canUseTeams() {
73
+ return this.decoratee.canUseTeams() && this.featureFlags.get().isTeamsEnabled();
74
+ }
75
+ canUseFolderLevelPermissions() {
76
+ return this.decoratee.canUseFolderLevelPermissions() && this.featureFlags.get().isFolderLevelPermissionsEnabled();
77
+ }
78
+ canUsePrivateFiles() {
79
+ return this.decoratee.canUsePrivateFiles() && this.featureFlags.get().isPrivateFilesEnabled();
80
+ }
81
+ canUseAuditLogs() {
82
+ return this.decoratee.canUseAuditLogs() && this.featureFlags.get().isAuditLogsEnabled();
83
+ }
84
+ canUseRecordLocking() {
85
+ return this.decoratee.canUseRecordLocking() && this.featureFlags.get().isRecordLockingEnabled();
86
+ }
87
+ canUseFileManagerThreatDetection() {
88
+ return this.decoratee.canUseFileManagerThreatDetection() && this.featureFlags.get().isFileManagerThreatDetectionEnabled();
89
+ }
90
+ canUseWorkflows() {
91
+ return this.decoratee.canUseWorkflows() && this.featureFlags.get().isWorkflowsEnabled();
92
+ }
93
+ ensureCanUseFeature(featureId) {
94
+ return this.decoratee.ensureCanUseFeature(featureId);
95
+ }
96
+ async incrementSeats() {
97
+ return this.decoratee.incrementSeats();
98
+ }
99
+ async decrementSeats() {
100
+ return this.decoratee.decrementSeats();
101
+ }
102
+ async incrementTenants() {
103
+ return this.decoratee.incrementTenants();
104
+ }
105
+ async decrementTenants() {
106
+ return this.decoratee.decrementTenants();
107
+ }
108
+ toDto() {
109
+ return this.decoratee.toDto();
110
+ }
111
+ }
112
+ export const WcpContextWithFeatureFlagsDecorator = WcpContext.createDecorator({
113
+ decorator: WcpContextWithFeatureFlagsDecoratorImpl,
114
+ dependencies: [FeatureFlags]
115
+ });
116
+
117
+ //# sourceMappingURL=WcpContextWithFeatureFlagsDecorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["WcpContext","FeatureFlags","WcpContextWithFeatureFlagsDecoratorImpl","constructor","featureFlags","decoratee","getRawLicense","getProject","getProjectWithFeatureFlags","project","flags","get","console","log","package","features","multiTenancy","advancedPublishingWorkflow","enabled","isWorkflowsEnabled","advancedAccessControlLayer","isAaclEnabled","options","teams","isTeamsEnabled","privateFiles","isPrivateFilesEnabled","folderLevelPermissions","isFolderLevelPermissionsEnabled","auditLogs","isAuditLogsEnabled","recordLocking","isRecordLockingEnabled","fileManager","threatDetection","isFileManagerThreatDetectionEnabled","getProjectEnvironment","getProjectLicense","canUseFeature","wcpFeatureId","canUseAacl","canUseTeams","canUseFolderLevelPermissions","canUsePrivateFiles","canUseAuditLogs","canUseRecordLocking","canUseFileManagerThreatDetection","canUseWorkflows","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 console.log(\"flags\", flags);\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 }\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 }\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 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":"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","ignoreList":[]}
@@ -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({\n name: \"WebinyControlPanel\",\n register(container, license: ILicense) {\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,CAAC;EACpCI,IAAI,EAAE,oBAAoB;EAC1BC,QAAQA,CAACC,SAAS,EAAEC,OAAiB,EAAE;IACnCN,iBAAiB,CAACI,QAAQ,CAACC,SAAS,EAAEC,OAAO,CAAC;IAC9CD,SAAS,CAACE,iBAAiB,CAACN,mCAAmC,CAAC;EACpE;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -66,7 +66,7 @@ export const createWcpGraphQL = () => {
66
66
  getProject: async (_, __, context) => {
67
67
  try {
68
68
  const wcpContext = context.container.resolve(WcpContext);
69
- const project = wcpContext.getProject();
69
+ const project = wcpContext.getProjectWithFeatureFlags();
70
70
  if (!project) {
71
71
  throw Error(`Could not get project!`);
72
72
  }
@@ -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 }\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,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":[]}
@@ -8,6 +8,7 @@ export declare class LegacyWcpContext implements WcpContextObject {
8
8
  private getWcpContext;
9
9
  getRawLicense(): DecryptedWcpProjectLicense | null;
10
10
  getProject(): WcpProject | null;
11
+ getProjectWithFeatureFlags(): WcpProject | null;
11
12
  getProjectLicense(): ILicense;
12
13
  getProjectEnvironment(): WcpProjectEnvironment | null;
13
14
  canUseFeature(wcpFeatureId: keyof typeof WCP_FEATURE_LABEL): boolean;
@@ -12,6 +12,9 @@ export class LegacyWcpContext {
12
12
  getProject() {
13
13
  return this.getWcpContext().getProject();
14
14
  }
15
+ getProjectWithFeatureFlags() {
16
+ return this.getWcpContext().getProjectWithFeatureFlags();
17
+ }
15
18
  getProjectLicense() {
16
19
  return this.getWcpContext().getProjectLicense();
17
20
  }
@@ -1 +1 @@
1
- {"version":3,"names":["WcpContext","LegacyWcpContext","constructor","container","getWcpContext","resolve","getRawLicense","getProject","getProjectLicense","getProjectEnvironment","canUseFeature","wcpFeatureId","canUseAacl","canUseTeams","canUseFolderLevelPermissions","canUsePrivateFiles","canUseAuditLogs","canUseRecordLocking","canUseFileManagerThreatDetection","canUseWorkflows","ensureCanUseFeature","featureId","incrementSeats","decrementSeats","incrementTenants","decrementTenants","toDto"],"sources":["LegacyWcpContext.ts"],"sourcesContent":["import { Container } from \"@webiny/di\";\nimport type { WCP_FEATURE_LABEL } from \"@webiny/wcp\";\nimport type {\n DecryptedWcpProjectLicense,\n ILicense,\n WcpProject,\n WcpProjectEnvironment\n} from \"@webiny/wcp/types.js\";\nimport { WcpContextObject } from \"~/features/wcp/WcpContext/types.js\";\nimport { WcpContext } from \"~/features/wcp/WcpContext/index.js\";\n\nexport class LegacyWcpContext implements WcpContextObject {\n constructor(private container: Container) {}\n\n private getWcpContext(): WcpContext.Interface {\n return this.container.resolve(WcpContext);\n }\n\n getRawLicense(): DecryptedWcpProjectLicense | null {\n return this.getWcpContext().getRawLicense();\n }\n\n getProject(): WcpProject | null {\n return this.getWcpContext().getProject();\n }\n\n getProjectLicense(): ILicense {\n return this.getWcpContext().getProjectLicense();\n }\n\n getProjectEnvironment(): WcpProjectEnvironment | null {\n return this.getWcpContext().getProjectEnvironment();\n }\n\n canUseFeature(wcpFeatureId: keyof typeof WCP_FEATURE_LABEL): boolean {\n return this.getWcpContext().canUseFeature(wcpFeatureId);\n }\n\n canUseAacl(): boolean {\n return this.getWcpContext().canUseAacl();\n }\n\n canUseTeams(): boolean {\n return this.getWcpContext().canUseTeams();\n }\n\n canUseFolderLevelPermissions(): boolean {\n return this.getWcpContext().canUseFolderLevelPermissions();\n }\n\n canUsePrivateFiles(): boolean {\n return this.getWcpContext().canUsePrivateFiles();\n }\n\n canUseAuditLogs(): boolean {\n return this.getWcpContext().canUseAuditLogs();\n }\n\n canUseRecordLocking(): boolean {\n return this.getWcpContext().canUseRecordLocking();\n }\n\n canUseFileManagerThreatDetection(): boolean {\n return this.getWcpContext().canUseFileManagerThreatDetection();\n }\n\n canUseWorkflows(): boolean {\n return this.getWcpContext().canUseWorkflows();\n }\n\n ensureCanUseFeature(featureId: keyof typeof WCP_FEATURE_LABEL): void {\n this.getWcpContext().ensureCanUseFeature(featureId);\n }\n\n async incrementSeats(): Promise<void> {\n await this.getWcpContext().incrementSeats();\n }\n\n async decrementSeats(): Promise<void> {\n await this.getWcpContext().decrementSeats();\n }\n\n async incrementTenants(): Promise<void> {\n await this.getWcpContext().incrementTenants();\n }\n\n async decrementTenants(): Promise<void> {\n await this.getWcpContext().decrementTenants();\n }\n\n toDto(): DecryptedWcpProjectLicense | null {\n return this.getWcpContext().toDto();\n }\n}\n"],"mappings":"AASA,SAASA,UAAU;AAEnB,OAAO,MAAMC,gBAAgB,CAA6B;EACtDC,WAAWA,CAASC,SAAoB,EAAE;IAAA,KAAtBA,SAAoB,GAApBA,SAAoB;EAAG;EAEnCC,aAAaA,CAAA,EAAyB;IAC1C,OAAO,IAAI,CAACD,SAAS,CAACE,OAAO,CAACL,UAAU,CAAC;EAC7C;EAEAM,aAAaA,CAAA,EAAsC;IAC/C,OAAO,IAAI,CAACF,aAAa,CAAC,CAAC,CAACE,aAAa,CAAC,CAAC;EAC/C;EAEAC,UAAUA,CAAA,EAAsB;IAC5B,OAAO,IAAI,CAACH,aAAa,CAAC,CAAC,CAACG,UAAU,CAAC,CAAC;EAC5C;EAEAC,iBAAiBA,CAAA,EAAa;IAC1B,OAAO,IAAI,CAACJ,aAAa,CAAC,CAAC,CAACI,iBAAiB,CAAC,CAAC;EACnD;EAEAC,qBAAqBA,CAAA,EAAiC;IAClD,OAAO,IAAI,CAACL,aAAa,CAAC,CAAC,CAACK,qBAAqB,CAAC,CAAC;EACvD;EAEAC,aAAaA,CAACC,YAA4C,EAAW;IACjE,OAAO,IAAI,CAACP,aAAa,CAAC,CAAC,CAACM,aAAa,CAACC,YAAY,CAAC;EAC3D;EAEAC,UAAUA,CAAA,EAAY;IAClB,OAAO,IAAI,CAACR,aAAa,CAAC,CAAC,CAACQ,UAAU,CAAC,CAAC;EAC5C;EAEAC,WAAWA,CAAA,EAAY;IACnB,OAAO,IAAI,CAACT,aAAa,CAAC,CAAC,CAACS,WAAW,CAAC,CAAC;EAC7C;EAEAC,4BAA4BA,CAAA,EAAY;IACpC,OAAO,IAAI,CAACV,aAAa,CAAC,CAAC,CAACU,4BAA4B,CAAC,CAAC;EAC9D;EAEAC,kBAAkBA,CAAA,EAAY;IAC1B,OAAO,IAAI,CAACX,aAAa,CAAC,CAAC,CAACW,kBAAkB,CAAC,CAAC;EACpD;EAEAC,eAAeA,CAAA,EAAY;IACvB,OAAO,IAAI,CAACZ,aAAa,CAAC,CAAC,CAACY,eAAe,CAAC,CAAC;EACjD;EAEAC,mBAAmBA,CAAA,EAAY;IAC3B,OAAO,IAAI,CAACb,aAAa,CAAC,CAAC,CAACa,mBAAmB,CAAC,CAAC;EACrD;EAEAC,gCAAgCA,CAAA,EAAY;IACxC,OAAO,IAAI,CAACd,aAAa,CAAC,CAAC,CAACc,gCAAgC,CAAC,CAAC;EAClE;EAEAC,eAAeA,CAAA,EAAY;IACvB,OAAO,IAAI,CAACf,aAAa,CAAC,CAAC,CAACe,eAAe,CAAC,CAAC;EACjD;EAEAC,mBAAmBA,CAACC,SAAyC,EAAQ;IACjE,IAAI,CAACjB,aAAa,CAAC,CAAC,CAACgB,mBAAmB,CAACC,SAAS,CAAC;EACvD;EAEA,MAAMC,cAAcA,CAAA,EAAkB;IAClC,MAAM,IAAI,CAAClB,aAAa,CAAC,CAAC,CAACkB,cAAc,CAAC,CAAC;EAC/C;EAEA,MAAMC,cAAcA,CAAA,EAAkB;IAClC,MAAM,IAAI,CAACnB,aAAa,CAAC,CAAC,CAACmB,cAAc,CAAC,CAAC;EAC/C;EAEA,MAAMC,gBAAgBA,CAAA,EAAkB;IACpC,MAAM,IAAI,CAACpB,aAAa,CAAC,CAAC,CAACoB,gBAAgB,CAAC,CAAC;EACjD;EAEA,MAAMC,gBAAgBA,CAAA,EAAkB;IACpC,MAAM,IAAI,CAACrB,aAAa,CAAC,CAAC,CAACqB,gBAAgB,CAAC,CAAC;EACjD;EAEAC,KAAKA,CAAA,EAAsC;IACvC,OAAO,IAAI,CAACtB,aAAa,CAAC,CAAC,CAACsB,KAAK,CAAC,CAAC;EACvC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["WcpContext","LegacyWcpContext","constructor","container","getWcpContext","resolve","getRawLicense","getProject","getProjectWithFeatureFlags","getProjectLicense","getProjectEnvironment","canUseFeature","wcpFeatureId","canUseAacl","canUseTeams","canUseFolderLevelPermissions","canUsePrivateFiles","canUseAuditLogs","canUseRecordLocking","canUseFileManagerThreatDetection","canUseWorkflows","ensureCanUseFeature","featureId","incrementSeats","decrementSeats","incrementTenants","decrementTenants","toDto"],"sources":["LegacyWcpContext.ts"],"sourcesContent":["import { Container } from \"@webiny/di\";\nimport type { WCP_FEATURE_LABEL } from \"@webiny/wcp\";\nimport type {\n DecryptedWcpProjectLicense,\n ILicense,\n WcpProject,\n WcpProjectEnvironment\n} from \"@webiny/wcp/types.js\";\nimport { WcpContextObject } from \"~/features/wcp/WcpContext/types.js\";\nimport { WcpContext } from \"~/features/wcp/WcpContext/index.js\";\n\nexport class LegacyWcpContext implements WcpContextObject {\n constructor(private container: Container) {}\n\n private getWcpContext(): WcpContext.Interface {\n return this.container.resolve(WcpContext);\n }\n\n getRawLicense(): DecryptedWcpProjectLicense | null {\n return this.getWcpContext().getRawLicense();\n }\n\n getProject(): WcpProject | null {\n return this.getWcpContext().getProject();\n }\n\n getProjectWithFeatureFlags(): WcpProject | null {\n return this.getWcpContext().getProjectWithFeatureFlags();\n }\n\n getProjectLicense(): ILicense {\n return this.getWcpContext().getProjectLicense();\n }\n\n getProjectEnvironment(): WcpProjectEnvironment | null {\n return this.getWcpContext().getProjectEnvironment();\n }\n\n canUseFeature(wcpFeatureId: keyof typeof WCP_FEATURE_LABEL): boolean {\n return this.getWcpContext().canUseFeature(wcpFeatureId);\n }\n\n canUseAacl(): boolean {\n return this.getWcpContext().canUseAacl();\n }\n\n canUseTeams(): boolean {\n return this.getWcpContext().canUseTeams();\n }\n\n canUseFolderLevelPermissions(): boolean {\n return this.getWcpContext().canUseFolderLevelPermissions();\n }\n\n canUsePrivateFiles(): boolean {\n return this.getWcpContext().canUsePrivateFiles();\n }\n\n canUseAuditLogs(): boolean {\n return this.getWcpContext().canUseAuditLogs();\n }\n\n canUseRecordLocking(): boolean {\n return this.getWcpContext().canUseRecordLocking();\n }\n\n canUseFileManagerThreatDetection(): boolean {\n return this.getWcpContext().canUseFileManagerThreatDetection();\n }\n\n canUseWorkflows(): boolean {\n return this.getWcpContext().canUseWorkflows();\n }\n\n ensureCanUseFeature(featureId: keyof typeof WCP_FEATURE_LABEL): void {\n this.getWcpContext().ensureCanUseFeature(featureId);\n }\n\n async incrementSeats(): Promise<void> {\n await this.getWcpContext().incrementSeats();\n }\n\n async decrementSeats(): Promise<void> {\n await this.getWcpContext().decrementSeats();\n }\n\n async incrementTenants(): Promise<void> {\n await this.getWcpContext().incrementTenants();\n }\n\n async decrementTenants(): Promise<void> {\n await this.getWcpContext().decrementTenants();\n }\n\n toDto(): DecryptedWcpProjectLicense | null {\n return this.getWcpContext().toDto();\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api-core",
3
- "version": "6.0.0-rc.0",
3
+ "version": "6.0.0-rc.2",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "repository": {
@@ -57,34 +57,33 @@
57
57
  },
58
58
  "license": "MIT",
59
59
  "dependencies": {
60
- "@webiny/api": "6.0.0-rc.0",
60
+ "@webiny/api": "6.0.0-rc.2",
61
61
  "@webiny/di": "0.2.3",
62
- "@webiny/error": "6.0.0-rc.0",
63
- "@webiny/feature": "6.0.0-rc.0",
64
- "@webiny/handler": "6.0.0-rc.0",
65
- "@webiny/handler-db": "6.0.0-rc.0",
66
- "@webiny/handler-graphql": "6.0.0-rc.0",
67
- "@webiny/plugins": "6.0.0-rc.0",
68
- "@webiny/project": "6.0.0-rc.0",
69
- "@webiny/utils": "6.0.0-rc.0",
70
- "@webiny/wcp": "6.0.0-rc.0",
62
+ "@webiny/error": "6.0.0-rc.2",
63
+ "@webiny/feature": "6.0.0-rc.2",
64
+ "@webiny/feature-flags": "6.0.0-rc.2",
65
+ "@webiny/handler": "6.0.0-rc.2",
66
+ "@webiny/handler-db": "6.0.0-rc.2",
67
+ "@webiny/handler-graphql": "6.0.0-rc.2",
68
+ "@webiny/plugins": "6.0.0-rc.2",
69
+ "@webiny/utils": "6.0.0-rc.2",
70
+ "@webiny/wcp": "6.0.0-rc.2",
71
71
  "dataloader": "2.2.3",
72
72
  "jose": "5.10.0",
73
73
  "jsonwebtoken": "9.0.3",
74
74
  "lodash": "4.17.23",
75
- "minimatch": "10.2.2",
75
+ "minimatch": "10.2.4",
76
76
  "pino": "9.14.0",
77
77
  "pino-lambda": "4.4.1",
78
- "ts-morph": "27.0.2",
79
78
  "zod": "3.25.76"
80
79
  },
81
80
  "devDependencies": {
82
81
  "@types/jsonwebtoken": "9.0.10",
83
82
  "@types/md5": "2.3.6",
84
- "@webiny/build-tools": "6.0.0-rc.0",
85
- "@webiny/db-dynamodb": "6.0.0-rc.0",
86
- "@webiny/handler-aws": "6.0.0-rc.0",
87
- "@webiny/project-utils": "6.0.0-rc.0",
83
+ "@webiny/build-tools": "6.0.0-rc.2",
84
+ "@webiny/db-dynamodb": "6.0.0-rc.2",
85
+ "@webiny/handler-aws": "6.0.0-rc.2",
86
+ "@webiny/project-utils": "6.0.0-rc.2",
88
87
  "jest-dynalite": "3.6.1",
89
88
  "rimraf": "6.1.3",
90
89
  "typescript": "5.9.3",
@@ -94,5 +93,5 @@
94
93
  "access": "public",
95
94
  "directory": "dist"
96
95
  },
97
- "gitHead": "0f2aa699f4642e550ab62c96fcd050e8d02345c9"
96
+ "gitHead": "5facada4cbb8617cc60e3c98be0f1839f44be38e"
98
97
  }
@@ -1,11 +0,0 @@
1
- import { z } from "zod";
2
- export declare const BuildParam: import("@webiny/project/defineExtension").ExtensionComponent<z.ZodObject<{
3
- paramName: z.ZodString;
4
- value: z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny, "many">, z.ZodNumber, z.ZodBoolean]>;
5
- }, "strip", z.ZodTypeAny, {
6
- value: string | number | boolean | any[] | Record<string, any>;
7
- paramName: string;
8
- }, {
9
- value: string | number | boolean | any[] | Record<string, any>;
10
- paramName: string;
11
- }>>;