@webiny/wcp 6.6.0-alpha.0 → 6.6.0-alpha.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.
- package/License.d.ts +6 -0
- package/License.js +18 -0
- package/License.js.map +1 -1
- package/NullLicense.d.ts +6 -0
- package/NullLicense.js +18 -0
- package/NullLicense.js.map +1 -1
- package/index.d.ts +2 -0
- package/index.js +3 -1
- package/index.js.map +1 -1
- package/package.json +2 -2
- package/testing/createTestWcpLicense.js +6 -0
- package/testing/createTestWcpLicense.js.map +1 -1
- package/types.d.ts +21 -1
- package/types.js +2 -0
- package/types.js.map +1 -1
package/License.d.ts
CHANGED
|
@@ -21,5 +21,11 @@ export declare class License implements ILicense {
|
|
|
21
21
|
canUseWorkflows(): boolean;
|
|
22
22
|
canUseAiImageEnrichment(): boolean;
|
|
23
23
|
canUseAiPageGeneration(): boolean;
|
|
24
|
+
canUseAiPageTranslation(): boolean;
|
|
24
25
|
canUseAiLexicalGeneration(): boolean;
|
|
26
|
+
canUseAiEntryGeneration(): boolean;
|
|
27
|
+
canUseAiEntryComparison(): boolean;
|
|
28
|
+
canUseAiEntryTranslation(): boolean;
|
|
29
|
+
canUseAbTesting(): boolean;
|
|
30
|
+
canUseRemoteComponents(): boolean;
|
|
25
31
|
}
|
package/License.js
CHANGED
|
@@ -72,9 +72,27 @@ class License {
|
|
|
72
72
|
canUseAiPageGeneration() {
|
|
73
73
|
return this.license.package.features.aiPowerups?.options?.websiteBuilder?.pageGeneration === true;
|
|
74
74
|
}
|
|
75
|
+
canUseAiPageTranslation() {
|
|
76
|
+
return this.license.package.features.aiPowerups?.options?.websiteBuilder?.pageTranslation === true;
|
|
77
|
+
}
|
|
75
78
|
canUseAiLexicalGeneration() {
|
|
76
79
|
return this.license.package.features.aiPowerups?.options?.lexicalGeneration === true;
|
|
77
80
|
}
|
|
81
|
+
canUseAiEntryGeneration() {
|
|
82
|
+
return this.license.package.features.aiPowerups?.options?.cms?.entryGeneration === true;
|
|
83
|
+
}
|
|
84
|
+
canUseAiEntryComparison() {
|
|
85
|
+
return this.license.package.features.aiPowerups?.options?.cms?.entryComparison === true;
|
|
86
|
+
}
|
|
87
|
+
canUseAiEntryTranslation() {
|
|
88
|
+
return this.license.package.features.aiPowerups?.options?.cms?.entryTranslation === true;
|
|
89
|
+
}
|
|
90
|
+
canUseAbTesting() {
|
|
91
|
+
return this.canUseFeature("abTesting");
|
|
92
|
+
}
|
|
93
|
+
canUseRemoteComponents() {
|
|
94
|
+
return this.canUseFeature("remoteComponents");
|
|
95
|
+
}
|
|
78
96
|
}
|
|
79
97
|
export { License };
|
|
80
98
|
|
package/License.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"License.js","sources":["../src/License.ts"],"sourcesContent":["import { getWcpProjectEnvironment } from \"./getWcpProjectEnvironment.js\";\nimport type { DecryptedWcpProjectLicense, ILicense, WcpProject } from \"./types.js\";\nimport { getWcpProjectLicense } from \"./licenses.js\";\nimport { NullLicense } from \"./NullLicense.js\";\nimport type { WCP_FEATURE_LABEL } from \"./index.js\";\n\nexport class License implements ILicense {\n private readonly license: DecryptedWcpProjectLicense;\n\n static fromLicenseDto(license: DecryptedWcpProjectLicense | null) {\n if (!license) {\n return new NullLicense();\n }\n\n return new License(license);\n }\n\n static async fromEnvironment() {\n const wcpProjectEnvironment = getWcpProjectEnvironment();\n\n if (!wcpProjectEnvironment) {\n return new NullLicense();\n }\n\n const license = await getWcpProjectLicense({\n orgId: wcpProjectEnvironment.org.id,\n projectId: wcpProjectEnvironment.project.id,\n projectEnvironmentApiKey: wcpProjectEnvironment.apiKey\n });\n\n return License.fromLicenseDto(license);\n }\n\n private constructor(license: DecryptedWcpProjectLicense) {\n this.license = license;\n }\n\n getRawLicense(): DecryptedWcpProjectLicense {\n return this.license;\n }\n\n toDto(): DecryptedWcpProjectLicense {\n return this.license;\n }\n\n getProject(): WcpProject | null {\n return {\n orgId: this.license.orgId,\n projectId: this.license.projectId,\n package: this.license.package\n };\n }\n\n canUseFeature(wcpFeatureId: keyof typeof WCP_FEATURE_LABEL) {\n return this.license.package?.features?.[wcpFeatureId]?.enabled === true;\n }\n\n canUseAacl() {\n return this.canUseFeature(\"advancedAccessControlLayer\");\n }\n\n canUseTeams() {\n if (!this.canUseAacl()) {\n return false;\n }\n\n return this.license.package.features.advancedAccessControlLayer.options.teams;\n }\n\n canUseFolderLevelPermissions() {\n if (!this.canUseAacl()) {\n return false;\n }\n\n return this.license.package.features.advancedAccessControlLayer.options\n .folderLevelPermissions;\n }\n\n canUseHcmsFieldPermissions() {\n if (!this.canUseAacl()) {\n return false;\n }\n\n return this.license.package.features.advancedAccessControlLayer.options\n .hcmsFieldPermissions;\n }\n\n canUsePrivateFiles() {\n if (!this.canUseAacl()) {\n return false;\n }\n\n return this.license.package.features.advancedAccessControlLayer.options.privateFiles;\n }\n\n canUseAuditLogs() {\n return this.canUseFeature(\"auditLogs\");\n }\n\n canUseRecordLocking() {\n return this.canUseFeature(\"recordLocking\");\n }\n\n canUseFileManagerThreatDetection() {\n return this.license.package.features.fileManager?.options.threatDetection ?? false;\n }\n\n public canUseWorkflows(): boolean {\n return this.canUseFeature(\"advancedPublishingWorkflow\");\n }\n\n canUseAiImageEnrichment(): boolean {\n return (\n this.license.package.features.aiPowerups?.options?.fileManager?.imageEnrichment === true\n );\n }\n\n canUseAiPageGeneration(): boolean {\n return (\n this.license.package.features.aiPowerups?.options?.websiteBuilder?.pageGeneration ===\n true\n );\n }\n\n canUseAiLexicalGeneration(): boolean {\n return this.license.package.features.aiPowerups?.options?.lexicalGeneration === true;\n }\n}\n"],"names":["License","license","NullLicense","wcpProjectEnvironment","getWcpProjectEnvironment","getWcpProjectLicense","wcpFeatureId"],"mappings":";;;AAMO,MAAMA;IAGT,OAAO,eAAeC,OAA0C,EAAE;QAC9D,IAAI,CAACA,SACD,OAAO,IAAIC;QAGf,OAAO,IAAIF,QAAQC;IACvB;IAEA,aAAa,kBAAkB;QAC3B,MAAME,wBAAwBC;QAE9B,IAAI,CAACD,uBACD,OAAO,IAAID;QAGf,MAAMD,UAAU,MAAMI,qBAAqB;YACvC,OAAOF,sBAAsB,GAAG,CAAC,EAAE;YACnC,WAAWA,sBAAsB,OAAO,CAAC,EAAE;YAC3C,0BAA0BA,sBAAsB,MAAM;QAC1D;QAEA,OAAOH,QAAQ,cAAc,CAACC;IAClC;IAEA,YAAoBA,OAAmC,CAAE;QACrD,IAAI,CAAC,OAAO,GAAGA;IACnB;IAEA,gBAA4C;QACxC,OAAO,IAAI,CAAC,OAAO;IACvB;IAEA,QAAoC;QAChC,OAAO,IAAI,CAAC,OAAO;IACvB;IAEA,aAAgC;QAC5B,OAAO;YACH,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK;YACzB,WAAW,IAAI,CAAC,OAAO,CAAC,SAAS;YACjC,SAAS,IAAI,CAAC,OAAO,CAAC,OAAO;QACjC;IACJ;IAEA,cAAcK,YAA4C,EAAE;QACxD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAACA,aAAa,EAAE,YAAY;IACvE;IAEA,aAAa;QACT,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B;IAEA,cAAc;QACV,IAAI,CAAC,IAAI,CAAC,UAAU,IAChB,OAAO;QAGX,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,OAAO,CAAC,KAAK;IACjF;IAEA,+BAA+B;QAC3B,IAAI,CAAC,IAAI,CAAC,UAAU,IAChB,OAAO;QAGX,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,OAAO,CAClE,sBAAsB;IAC/B;IAEA,6BAA6B;QACzB,IAAI,CAAC,IAAI,CAAC,UAAU,IAChB,OAAO;QAGX,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,OAAO,CAClE,oBAAoB;IAC7B;IAEA,qBAAqB;QACjB,IAAI,CAAC,IAAI,CAAC,UAAU,IAChB,OAAO;QAGX,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,OAAO,CAAC,YAAY;IACxF;IAEA,kBAAkB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B;IAEA,sBAAsB;QAClB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B;IAEA,mCAAmC;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,mBAAmB;IACjF;IAEO,kBAA2B;QAC9B,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B;IAEA,0BAAmC;QAC/B,OACI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,aAAa,oBAAoB;IAE5F;IAEA,yBAAkC;QAC9B,OACI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,gBAAgB,mBACnE;IAER;IAEA,4BAAqC;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,sBAAsB;IACpF;AACJ"}
|
|
1
|
+
{"version":3,"file":"License.js","sources":["../src/License.ts"],"sourcesContent":["import { getWcpProjectEnvironment } from \"./getWcpProjectEnvironment.js\";\nimport type { DecryptedWcpProjectLicense, ILicense, WcpProject } from \"./types.js\";\nimport { getWcpProjectLicense } from \"./licenses.js\";\nimport { NullLicense } from \"./NullLicense.js\";\nimport type { WCP_FEATURE_LABEL } from \"./index.js\";\n\nexport class License implements ILicense {\n private readonly license: DecryptedWcpProjectLicense;\n\n static fromLicenseDto(license: DecryptedWcpProjectLicense | null) {\n if (!license) {\n return new NullLicense();\n }\n\n return new License(license);\n }\n\n static async fromEnvironment() {\n const wcpProjectEnvironment = getWcpProjectEnvironment();\n\n if (!wcpProjectEnvironment) {\n return new NullLicense();\n }\n\n const license = await getWcpProjectLicense({\n orgId: wcpProjectEnvironment.org.id,\n projectId: wcpProjectEnvironment.project.id,\n projectEnvironmentApiKey: wcpProjectEnvironment.apiKey\n });\n\n return License.fromLicenseDto(license);\n }\n\n private constructor(license: DecryptedWcpProjectLicense) {\n this.license = license;\n }\n\n getRawLicense(): DecryptedWcpProjectLicense {\n return this.license;\n }\n\n toDto(): DecryptedWcpProjectLicense {\n return this.license;\n }\n\n getProject(): WcpProject | null {\n return {\n orgId: this.license.orgId,\n projectId: this.license.projectId,\n package: this.license.package\n };\n }\n\n canUseFeature(wcpFeatureId: keyof typeof WCP_FEATURE_LABEL) {\n return this.license.package?.features?.[wcpFeatureId]?.enabled === true;\n }\n\n canUseAacl() {\n return this.canUseFeature(\"advancedAccessControlLayer\");\n }\n\n canUseTeams() {\n if (!this.canUseAacl()) {\n return false;\n }\n\n return this.license.package.features.advancedAccessControlLayer.options.teams;\n }\n\n canUseFolderLevelPermissions() {\n if (!this.canUseAacl()) {\n return false;\n }\n\n return this.license.package.features.advancedAccessControlLayer.options\n .folderLevelPermissions;\n }\n\n canUseHcmsFieldPermissions() {\n if (!this.canUseAacl()) {\n return false;\n }\n\n return this.license.package.features.advancedAccessControlLayer.options\n .hcmsFieldPermissions;\n }\n\n canUsePrivateFiles() {\n if (!this.canUseAacl()) {\n return false;\n }\n\n return this.license.package.features.advancedAccessControlLayer.options.privateFiles;\n }\n\n canUseAuditLogs() {\n return this.canUseFeature(\"auditLogs\");\n }\n\n canUseRecordLocking() {\n return this.canUseFeature(\"recordLocking\");\n }\n\n canUseFileManagerThreatDetection() {\n return this.license.package.features.fileManager?.options.threatDetection ?? false;\n }\n\n public canUseWorkflows(): boolean {\n return this.canUseFeature(\"advancedPublishingWorkflow\");\n }\n\n canUseAiImageEnrichment(): boolean {\n return (\n this.license.package.features.aiPowerups?.options?.fileManager?.imageEnrichment === true\n );\n }\n\n canUseAiPageGeneration(): boolean {\n return (\n this.license.package.features.aiPowerups?.options?.websiteBuilder?.pageGeneration ===\n true\n );\n }\n\n canUseAiPageTranslation(): boolean {\n return (\n this.license.package.features.aiPowerups?.options?.websiteBuilder?.pageTranslation ===\n true\n );\n }\n\n canUseAiLexicalGeneration(): boolean {\n return this.license.package.features.aiPowerups?.options?.lexicalGeneration === true;\n }\n\n canUseAiEntryGeneration(): boolean {\n return this.license.package.features.aiPowerups?.options?.cms?.entryGeneration === true;\n }\n\n canUseAiEntryComparison(): boolean {\n return this.license.package.features.aiPowerups?.options?.cms?.entryComparison === true;\n }\n\n canUseAiEntryTranslation(): boolean {\n return this.license.package.features.aiPowerups?.options?.cms?.entryTranslation === true;\n }\n\n canUseAbTesting(): boolean {\n return this.canUseFeature(\"abTesting\");\n }\n\n canUseRemoteComponents(): boolean {\n return this.canUseFeature(\"remoteComponents\");\n }\n}\n"],"names":["License","license","NullLicense","wcpProjectEnvironment","getWcpProjectEnvironment","getWcpProjectLicense","wcpFeatureId"],"mappings":"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"}
|
package/NullLicense.d.ts
CHANGED
|
@@ -16,5 +16,11 @@ export declare class NullLicense implements ILicense {
|
|
|
16
16
|
canUseWorkflows(): boolean;
|
|
17
17
|
canUseAiImageEnrichment(): boolean;
|
|
18
18
|
canUseAiPageGeneration(): boolean;
|
|
19
|
+
canUseAiPageTranslation(): boolean;
|
|
19
20
|
canUseAiLexicalGeneration(): boolean;
|
|
21
|
+
canUseAiEntryGeneration(): boolean;
|
|
22
|
+
canUseAiEntryComparison(): boolean;
|
|
23
|
+
canUseAiEntryTranslation(): boolean;
|
|
24
|
+
canUseAbTesting(): boolean;
|
|
25
|
+
canUseRemoteComponents(): boolean;
|
|
20
26
|
}
|
package/NullLicense.js
CHANGED
|
@@ -45,9 +45,27 @@ class NullLicense {
|
|
|
45
45
|
canUseAiPageGeneration() {
|
|
46
46
|
return false;
|
|
47
47
|
}
|
|
48
|
+
canUseAiPageTranslation() {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
48
51
|
canUseAiLexicalGeneration() {
|
|
49
52
|
return false;
|
|
50
53
|
}
|
|
54
|
+
canUseAiEntryGeneration() {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
canUseAiEntryComparison() {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
canUseAiEntryTranslation() {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
canUseAbTesting() {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
canUseRemoteComponents() {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
51
69
|
}
|
|
52
70
|
export { NullLicense };
|
|
53
71
|
|
package/NullLicense.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NullLicense.js","sources":["../src/NullLicense.ts"],"sourcesContent":["import type { WCP_FEATURE_LABEL } from \"./index.js\";\nimport type { ILicense, WcpProject } from \"./types.js\";\n\nexport class NullLicense implements ILicense {\n getRawLicense() {\n return null;\n }\n\n toDto(): null {\n return null;\n }\n\n getProject(): WcpProject | null {\n return null;\n }\n\n canUseAacl() {\n return false;\n }\n\n canUseAuditLogs() {\n return false;\n }\n\n canUseFeature(featureId: keyof typeof WCP_FEATURE_LABEL): boolean {\n // For backwards compatibility, we need to check the legacy ENV variable `WEBINY_MULTI_TENANCY`.\n if (featureId === \"multiTenancy\") {\n return process.env.WEBINY_MULTI_TENANCY === \"true\";\n }\n\n return false;\n }\n\n canUseFileManagerThreatDetection() {\n return false;\n }\n\n canUseFolderLevelPermissions() {\n return false;\n }\n\n canUseHcmsFieldPermissions() {\n return false;\n }\n\n canUsePrivateFiles() {\n return false;\n }\n\n canUseRecordLocking() {\n return false;\n }\n\n canUseTeams() {\n return false;\n }\n\n public canUseWorkflows(): boolean {\n return false;\n }\n\n canUseAiImageEnrichment(): boolean {\n return false;\n }\n\n canUseAiPageGeneration(): boolean {\n return false;\n }\n\n canUseAiLexicalGeneration(): boolean {\n return false;\n }\n}\n"],"names":["NullLicense","featureId","process"],"mappings":"AAGO,MAAMA;IACT,gBAAgB;QACZ,OAAO;IACX;IAEA,QAAc;QACV,OAAO;IACX;IAEA,aAAgC;QAC5B,OAAO;IACX;IAEA,aAAa;QACT,OAAO;IACX;IAEA,kBAAkB;QACd,OAAO;IACX;IAEA,cAAcC,SAAyC,EAAW;QAE9D,IAAIA,AAAc,mBAAdA,WACA,OAAOC,AAAqC,WAArCA,QAAQ,GAAG,CAAC,oBAAoB;QAG3C,OAAO;IACX;IAEA,mCAAmC;QAC/B,OAAO;IACX;IAEA,+BAA+B;QAC3B,OAAO;IACX;IAEA,6BAA6B;QACzB,OAAO;IACX;IAEA,qBAAqB;QACjB,OAAO;IACX;IAEA,sBAAsB;QAClB,OAAO;IACX;IAEA,cAAc;QACV,OAAO;IACX;IAEO,kBAA2B;QAC9B,OAAO;IACX;IAEA,0BAAmC;QAC/B,OAAO;IACX;IAEA,yBAAkC;QAC9B,OAAO;IACX;IAEA,4BAAqC;QACjC,OAAO;IACX;AACJ"}
|
|
1
|
+
{"version":3,"file":"NullLicense.js","sources":["../src/NullLicense.ts"],"sourcesContent":["import type { WCP_FEATURE_LABEL } from \"./index.js\";\nimport type { ILicense, WcpProject } from \"./types.js\";\n\nexport class NullLicense implements ILicense {\n getRawLicense() {\n return null;\n }\n\n toDto(): null {\n return null;\n }\n\n getProject(): WcpProject | null {\n return null;\n }\n\n canUseAacl() {\n return false;\n }\n\n canUseAuditLogs() {\n return false;\n }\n\n canUseFeature(featureId: keyof typeof WCP_FEATURE_LABEL): boolean {\n // For backwards compatibility, we need to check the legacy ENV variable `WEBINY_MULTI_TENANCY`.\n if (featureId === \"multiTenancy\") {\n return process.env.WEBINY_MULTI_TENANCY === \"true\";\n }\n\n return false;\n }\n\n canUseFileManagerThreatDetection() {\n return false;\n }\n\n canUseFolderLevelPermissions() {\n return false;\n }\n\n canUseHcmsFieldPermissions() {\n return false;\n }\n\n canUsePrivateFiles() {\n return false;\n }\n\n canUseRecordLocking() {\n return false;\n }\n\n canUseTeams() {\n return false;\n }\n\n public canUseWorkflows(): boolean {\n return false;\n }\n\n canUseAiImageEnrichment(): boolean {\n return false;\n }\n\n canUseAiPageGeneration(): boolean {\n return false;\n }\n\n canUseAiPageTranslation(): boolean {\n return false;\n }\n\n canUseAiLexicalGeneration(): boolean {\n return false;\n }\n\n canUseAiEntryGeneration(): boolean {\n return false;\n }\n\n canUseAiEntryComparison(): boolean {\n return false;\n }\n\n canUseAiEntryTranslation(): boolean {\n return false;\n }\n\n canUseAbTesting(): boolean {\n return false;\n }\n\n canUseRemoteComponents(): boolean {\n return false;\n }\n}\n"],"names":["NullLicense","featureId","process"],"mappings":"AAGO,MAAMA;IACT,gBAAgB;QACZ,OAAO;IACX;IAEA,QAAc;QACV,OAAO;IACX;IAEA,aAAgC;QAC5B,OAAO;IACX;IAEA,aAAa;QACT,OAAO;IACX;IAEA,kBAAkB;QACd,OAAO;IACX;IAEA,cAAcC,SAAyC,EAAW;QAE9D,IAAIA,AAAc,mBAAdA,WACA,OAAOC,AAAqC,WAArCA,QAAQ,GAAG,CAAC,oBAAoB;QAG3C,OAAO;IACX;IAEA,mCAAmC;QAC/B,OAAO;IACX;IAEA,+BAA+B;QAC3B,OAAO;IACX;IAEA,6BAA6B;QACzB,OAAO;IACX;IAEA,qBAAqB;QACjB,OAAO;IACX;IAEA,sBAAsB;QAClB,OAAO;IACX;IAEA,cAAc;QACV,OAAO;IACX;IAEO,kBAA2B;QAC9B,OAAO;IACX;IAEA,0BAAmC;QAC/B,OAAO;IACX;IAEA,yBAAkC;QAC9B,OAAO;IACX;IAEA,0BAAmC;QAC/B,OAAO;IACX;IAEA,4BAAqC;QACjC,OAAO;IACX;IAEA,0BAAmC;QAC/B,OAAO;IACX;IAEA,0BAAmC;QAC/B,OAAO;IACX;IAEA,2BAAoC;QAChC,OAAO;IACX;IAEA,kBAA2B;QACvB,OAAO;IACX;IAEA,yBAAkC;QAC9B,OAAO;IACX;AACJ"}
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -11,7 +11,9 @@ const WCP_FEATURE_LABEL = {
|
|
|
11
11
|
advancedAccessControlLayer: "Advanced Access Control Layer (ACL)",
|
|
12
12
|
auditLogs: "Audit Logs",
|
|
13
13
|
recordLocking: "Record Locking",
|
|
14
|
-
fileManager: "File Manager"
|
|
14
|
+
fileManager: "File Manager",
|
|
15
|
+
abTesting: "A/B Testing",
|
|
16
|
+
remoteComponents: "Remote Components"
|
|
15
17
|
};
|
|
16
18
|
export { WCP_FEATURE_LABEL };
|
|
17
19
|
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["export * from \"./encryption.js\";\nexport * from \"./licenses.js\";\nexport * from \"./urls.js\";\nexport * from \"./License.js\";\nexport * from \"./NullLicense.js\";\nexport * from \"./getWcpProjectEnvironment.js\";\n\nexport const WCP_FEATURE_LABEL = {\n seats: \"User Seats\",\n multiTenancy: \"Multi-tenancy\",\n advancedPublishingWorkflow: \"Advanced Publishing Workflow (APW)\",\n advancedAccessControlLayer: \"Advanced Access Control Layer (ACL)\",\n auditLogs: \"Audit Logs\",\n recordLocking: \"Record Locking\",\n fileManager: \"File Manager\"\n};\n"],"names":["WCP_FEATURE_LABEL"],"mappings":";;;;;;AAOO,MAAMA,oBAAoB;IAC7B,OAAO;IACP,cAAc;IACd,4BAA4B;IAC5B,4BAA4B;IAC5B,WAAW;IACX,eAAe;IACf,aAAa;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["export * from \"./encryption.js\";\nexport * from \"./licenses.js\";\nexport * from \"./urls.js\";\nexport * from \"./License.js\";\nexport * from \"./NullLicense.js\";\nexport * from \"./getWcpProjectEnvironment.js\";\n\nexport const WCP_FEATURE_LABEL = {\n seats: \"User Seats\",\n multiTenancy: \"Multi-tenancy\",\n advancedPublishingWorkflow: \"Advanced Publishing Workflow (APW)\",\n advancedAccessControlLayer: \"Advanced Access Control Layer (ACL)\",\n auditLogs: \"Audit Logs\",\n recordLocking: \"Record Locking\",\n fileManager: \"File Manager\",\n abTesting: \"A/B Testing\",\n remoteComponents: \"Remote Components\"\n};\n"],"names":["WCP_FEATURE_LABEL"],"mappings":";;;;;;AAOO,MAAMA,oBAAoB;IAC7B,OAAO;IACP,cAAc;IACd,4BAA4B;IAC5B,4BAA4B;IAC5B,WAAW;IACX,eAAe;IACf,aAAa;IACb,WAAW;IACX,kBAAkB;AACtB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/wcp",
|
|
3
|
-
"version": "6.6.0-alpha.
|
|
3
|
+
"version": "6.6.0-alpha.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./index.js",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"author": "Webiny Ltd.",
|
|
16
16
|
"license": "MIT",
|
|
17
17
|
"devDependencies": {
|
|
18
|
-
"@webiny/build-tools": "6.6.0-alpha.
|
|
18
|
+
"@webiny/build-tools": "6.6.0-alpha.2",
|
|
19
19
|
"rimraf": "6.1.3",
|
|
20
20
|
"typescript": "7.0.2"
|
|
21
21
|
},
|
|
@@ -45,6 +45,12 @@ const createTestWcpLicense = (options)=>({
|
|
|
45
45
|
[PROJECT_PACKAGE_FEATURE_NAME.AI_POWERUPS]: {
|
|
46
46
|
enabled: false,
|
|
47
47
|
options: {}
|
|
48
|
+
},
|
|
49
|
+
[PROJECT_PACKAGE_FEATURE_NAME.AB_TESTING]: {
|
|
50
|
+
enabled: false
|
|
51
|
+
},
|
|
52
|
+
[PROJECT_PACKAGE_FEATURE_NAME.REMOTE_COMPONENTS]: {
|
|
53
|
+
enabled: false
|
|
48
54
|
}
|
|
49
55
|
}
|
|
50
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing/createTestWcpLicense.js","sources":["../../src/testing/createTestWcpLicense.ts"],"sourcesContent":["import type { DecryptedWcpProjectLicense } from \"~/types.js\";\nimport { MT_OPTIONS_MAX_COUNT_TYPE, PROJECT_PACKAGE_FEATURE_NAME } from \"~/types.js\";\n\ninterface LicenseOptions {\n recordLocking?: boolean;\n folderLevelPermissions?: boolean;\n hcmsFieldPermissions?: boolean;\n}\n\nexport const createTestWcpLicense = (options?: LicenseOptions): DecryptedWcpProjectLicense => {\n return {\n orgId: \"org-id\",\n projectId: \"project-id\",\n package: {\n features: {\n [PROJECT_PACKAGE_FEATURE_NAME.AACL]: {\n enabled: true,\n options: {\n teams: true,\n folderLevelPermissions: options?.folderLevelPermissions ?? true,\n privateFiles: true,\n hcmsFieldPermissions: options?.hcmsFieldPermissions ?? true\n }\n },\n [PROJECT_PACKAGE_FEATURE_NAME.MT]: {\n enabled: true,\n options: {\n maxCount: {\n type: MT_OPTIONS_MAX_COUNT_TYPE.SEAT_BASED\n }\n }\n },\n [PROJECT_PACKAGE_FEATURE_NAME.APW]: {\n enabled: true\n },\n [PROJECT_PACKAGE_FEATURE_NAME.AUDIT_LOGS]: {\n enabled: false\n },\n [PROJECT_PACKAGE_FEATURE_NAME.RECORD_LOCKING]: {\n enabled: options?.recordLocking ?? false\n },\n [PROJECT_PACKAGE_FEATURE_NAME.SEATS]: {\n enabled: true,\n options: {\n maxCount: 100\n }\n },\n [PROJECT_PACKAGE_FEATURE_NAME.FILE_MANAGER]: {\n enabled: false,\n options: {\n threatDetection: false\n }\n },\n [PROJECT_PACKAGE_FEATURE_NAME.AI_POWERUPS]: {\n enabled: false,\n options: {}\n }\n }\n }\n };\n};\n"],"names":["createTestWcpLicense","options","PROJECT_PACKAGE_FEATURE_NAME","MT_OPTIONS_MAX_COUNT_TYPE"],"mappings":";AASO,MAAMA,uBAAuB,CAACC,UAC1B;QACH,OAAO;QACP,WAAW;QACX,SAAS;YACL,UAAU;gBACN,CAACC,6BAA6B,IAAI,CAAC,EAAE;oBACjC,SAAS;oBACT,SAAS;wBACL,OAAO;wBACP,wBAAwBD,SAAS,0BAA0B;wBAC3D,cAAc;wBACd,sBAAsBA,SAAS,wBAAwB;oBAC3D;gBACJ;gBACA,CAACC,6BAA6B,EAAE,CAAC,EAAE;oBAC/B,SAAS;oBACT,SAAS;wBACL,UAAU;4BACN,MAAMC,0BAA0B,UAAU;wBAC9C;oBACJ;gBACJ;gBACA,CAACD,6BAA6B,GAAG,CAAC,EAAE;oBAChC,SAAS;gBACb;gBACA,CAACA,6BAA6B,UAAU,CAAC,EAAE;oBACvC,SAAS;gBACb;gBACA,CAACA,6BAA6B,cAAc,CAAC,EAAE;oBAC3C,SAASD,SAAS,iBAAiB;gBACvC;gBACA,CAACC,6BAA6B,KAAK,CAAC,EAAE;oBAClC,SAAS;oBACT,SAAS;wBACL,UAAU;oBACd;gBACJ;gBACA,CAACA,6BAA6B,YAAY,CAAC,EAAE;oBACzC,SAAS;oBACT,SAAS;wBACL,iBAAiB;oBACrB;gBACJ;gBACA,CAACA,6BAA6B,WAAW,CAAC,EAAE;oBACxC,SAAS;oBACT,SAAS,CAAC;gBACd;YACJ;QACJ;IACJ"}
|
|
1
|
+
{"version":3,"file":"testing/createTestWcpLicense.js","sources":["../../src/testing/createTestWcpLicense.ts"],"sourcesContent":["import type { DecryptedWcpProjectLicense } from \"~/types.js\";\nimport { MT_OPTIONS_MAX_COUNT_TYPE, PROJECT_PACKAGE_FEATURE_NAME } from \"~/types.js\";\n\ninterface LicenseOptions {\n recordLocking?: boolean;\n folderLevelPermissions?: boolean;\n hcmsFieldPermissions?: boolean;\n}\n\nexport const createTestWcpLicense = (options?: LicenseOptions): DecryptedWcpProjectLicense => {\n return {\n orgId: \"org-id\",\n projectId: \"project-id\",\n package: {\n features: {\n [PROJECT_PACKAGE_FEATURE_NAME.AACL]: {\n enabled: true,\n options: {\n teams: true,\n folderLevelPermissions: options?.folderLevelPermissions ?? true,\n privateFiles: true,\n hcmsFieldPermissions: options?.hcmsFieldPermissions ?? true\n }\n },\n [PROJECT_PACKAGE_FEATURE_NAME.MT]: {\n enabled: true,\n options: {\n maxCount: {\n type: MT_OPTIONS_MAX_COUNT_TYPE.SEAT_BASED\n }\n }\n },\n [PROJECT_PACKAGE_FEATURE_NAME.APW]: {\n enabled: true\n },\n [PROJECT_PACKAGE_FEATURE_NAME.AUDIT_LOGS]: {\n enabled: false\n },\n [PROJECT_PACKAGE_FEATURE_NAME.RECORD_LOCKING]: {\n enabled: options?.recordLocking ?? false\n },\n [PROJECT_PACKAGE_FEATURE_NAME.SEATS]: {\n enabled: true,\n options: {\n maxCount: 100\n }\n },\n [PROJECT_PACKAGE_FEATURE_NAME.FILE_MANAGER]: {\n enabled: false,\n options: {\n threatDetection: false\n }\n },\n [PROJECT_PACKAGE_FEATURE_NAME.AI_POWERUPS]: {\n enabled: false,\n options: {}\n },\n [PROJECT_PACKAGE_FEATURE_NAME.AB_TESTING]: {\n enabled: false\n },\n [PROJECT_PACKAGE_FEATURE_NAME.REMOTE_COMPONENTS]: {\n enabled: false\n }\n }\n }\n };\n};\n"],"names":["createTestWcpLicense","options","PROJECT_PACKAGE_FEATURE_NAME","MT_OPTIONS_MAX_COUNT_TYPE"],"mappings":";AASO,MAAMA,uBAAuB,CAACC,UAC1B;QACH,OAAO;QACP,WAAW;QACX,SAAS;YACL,UAAU;gBACN,CAACC,6BAA6B,IAAI,CAAC,EAAE;oBACjC,SAAS;oBACT,SAAS;wBACL,OAAO;wBACP,wBAAwBD,SAAS,0BAA0B;wBAC3D,cAAc;wBACd,sBAAsBA,SAAS,wBAAwB;oBAC3D;gBACJ;gBACA,CAACC,6BAA6B,EAAE,CAAC,EAAE;oBAC/B,SAAS;oBACT,SAAS;wBACL,UAAU;4BACN,MAAMC,0BAA0B,UAAU;wBAC9C;oBACJ;gBACJ;gBACA,CAACD,6BAA6B,GAAG,CAAC,EAAE;oBAChC,SAAS;gBACb;gBACA,CAACA,6BAA6B,UAAU,CAAC,EAAE;oBACvC,SAAS;gBACb;gBACA,CAACA,6BAA6B,cAAc,CAAC,EAAE;oBAC3C,SAASD,SAAS,iBAAiB;gBACvC;gBACA,CAACC,6BAA6B,KAAK,CAAC,EAAE;oBAClC,SAAS;oBACT,SAAS;wBACL,UAAU;oBACd;gBACJ;gBACA,CAACA,6BAA6B,YAAY,CAAC,EAAE;oBACzC,SAAS;oBACT,SAAS;wBACL,iBAAiB;oBACrB;gBACJ;gBACA,CAACA,6BAA6B,WAAW,CAAC,EAAE;oBACxC,SAAS;oBACT,SAAS,CAAC;gBACd;gBACA,CAACA,6BAA6B,UAAU,CAAC,EAAE;oBACvC,SAAS;gBACb;gBACA,CAACA,6BAA6B,iBAAiB,CAAC,EAAE;oBAC9C,SAAS;gBACb;YACJ;QACJ;IACJ"}
|
package/types.d.ts
CHANGED
|
@@ -22,7 +22,13 @@ export interface ILicense {
|
|
|
22
22
|
canUseHcmsFieldPermissions: () => boolean;
|
|
23
23
|
canUseAiImageEnrichment: () => boolean;
|
|
24
24
|
canUseAiPageGeneration: () => boolean;
|
|
25
|
+
canUseAiPageTranslation: () => boolean;
|
|
25
26
|
canUseAiLexicalGeneration: () => boolean;
|
|
27
|
+
canUseAiEntryGeneration: () => boolean;
|
|
28
|
+
canUseAiEntryComparison: () => boolean;
|
|
29
|
+
canUseAiEntryTranslation: () => boolean;
|
|
30
|
+
canUseAbTesting: () => boolean;
|
|
31
|
+
canUseRemoteComponents: () => boolean;
|
|
26
32
|
}
|
|
27
33
|
export declare type WcpProjectEnvironment = {
|
|
28
34
|
id: string;
|
|
@@ -48,7 +54,9 @@ export declare enum PROJECT_PACKAGE_FEATURE_NAME {
|
|
|
48
54
|
AUDIT_LOGS = "auditLogs",
|
|
49
55
|
RECORD_LOCKING = "recordLocking",
|
|
50
56
|
FILE_MANAGER = "fileManager",
|
|
51
|
-
AI_POWERUPS = "aiPowerups"
|
|
57
|
+
AI_POWERUPS = "aiPowerups",
|
|
58
|
+
AB_TESTING = "abTesting",
|
|
59
|
+
REMOTE_COMPONENTS = "remoteComponents"
|
|
52
60
|
}
|
|
53
61
|
export declare enum MT_OPTIONS_MAX_COUNT_TYPE {
|
|
54
62
|
SEAT_BASED = "seatBased",
|
|
@@ -99,13 +107,25 @@ export interface ProjectPackageFeatures {
|
|
|
99
107
|
options: {
|
|
100
108
|
websiteBuilder?: {
|
|
101
109
|
pageGeneration?: boolean;
|
|
110
|
+
pageTranslation?: boolean;
|
|
102
111
|
};
|
|
103
112
|
fileManager?: {
|
|
104
113
|
imageEnrichment?: boolean;
|
|
105
114
|
};
|
|
106
115
|
lexicalGeneration?: boolean;
|
|
116
|
+
cms?: {
|
|
117
|
+
entryGeneration?: boolean;
|
|
118
|
+
entryComparison?: boolean;
|
|
119
|
+
entryTranslation?: boolean;
|
|
120
|
+
};
|
|
107
121
|
};
|
|
108
122
|
};
|
|
123
|
+
[PROJECT_PACKAGE_FEATURE_NAME.AB_TESTING]: {
|
|
124
|
+
enabled: boolean;
|
|
125
|
+
};
|
|
126
|
+
[PROJECT_PACKAGE_FEATURE_NAME.REMOTE_COMPONENTS]: {
|
|
127
|
+
enabled: boolean;
|
|
128
|
+
};
|
|
109
129
|
}
|
|
110
130
|
export interface DecryptedWcpProjectLicense {
|
|
111
131
|
orgId: string;
|
package/types.js
CHANGED
|
@@ -8,6 +8,8 @@ var types_PROJECT_PACKAGE_FEATURE_NAME = /*#__PURE__*/ function(PROJECT_PACKAGE_
|
|
|
8
8
|
PROJECT_PACKAGE_FEATURE_NAME["RECORD_LOCKING"] = "recordLocking";
|
|
9
9
|
PROJECT_PACKAGE_FEATURE_NAME["FILE_MANAGER"] = "fileManager";
|
|
10
10
|
PROJECT_PACKAGE_FEATURE_NAME["AI_POWERUPS"] = "aiPowerups";
|
|
11
|
+
PROJECT_PACKAGE_FEATURE_NAME["AB_TESTING"] = "abTesting";
|
|
12
|
+
PROJECT_PACKAGE_FEATURE_NAME["REMOTE_COMPONENTS"] = "remoteComponents";
|
|
11
13
|
return PROJECT_PACKAGE_FEATURE_NAME;
|
|
12
14
|
}({});
|
|
13
15
|
var types_MT_OPTIONS_MAX_COUNT_TYPE = /*#__PURE__*/ function(MT_OPTIONS_MAX_COUNT_TYPE) {
|
package/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":["../src/types.ts"],"sourcesContent":["import type { WCP_FEATURE_LABEL } from \"./index.js\";\n\nexport interface WcpProject {\n orgId: string;\n projectId: string;\n package: {\n features: ProjectPackageFeatures;\n };\n}\n\nexport interface ILicense {\n // TODO: identify all places where raw license data is being used and refactor.\n getRawLicense: () => DecryptedWcpProjectLicense | null;\n getProject(): WcpProject | null;\n toDto(): DecryptedWcpProjectLicense | null;\n canUseFeature: (featureId: keyof typeof WCP_FEATURE_LABEL) => boolean;\n canUseAacl: () => boolean;\n canUseTeams: () => boolean;\n canUseAuditLogs: () => boolean;\n canUsePrivateFiles: () => boolean;\n canUseFileManagerThreatDetection: () => boolean;\n canUseFolderLevelPermissions: () => boolean;\n canUseRecordLocking: () => boolean;\n canUseWorkflows: () => boolean;\n canUseHcmsFieldPermissions: () => boolean;\n canUseAiImageEnrichment: () => boolean;\n canUseAiPageGeneration: () => boolean;\n canUseAiLexicalGeneration: () => boolean;\n}\n\nexport declare type WcpProjectEnvironment = {\n id: string;\n apiKey: string;\n org: {\n id: string;\n };\n project: {\n id: string;\n };\n};\n\nexport declare type EncryptedWcpProjectLicense = string;\n\nexport enum PROJECT_PACKAGE_FEATURE_NAME {\n SEATS = \"seats\",\n MT = \"multiTenancy\",\n APW = \"advancedPublishingWorkflow\",\n AACL = \"advancedAccessControlLayer\",\n /**\n * @deprecated Use `AUDIT_LOGS` instead.\n * TODO: remove oxlint disable when removing AL enum value.\n */\n // oxlint-disable-next-line typescript/no-duplicate-enum-values\n AL = \"auditLogs\",\n AUDIT_LOGS = \"auditLogs\",\n RECORD_LOCKING = \"recordLocking\",\n FILE_MANAGER = \"fileManager\",\n AI_POWERUPS = \"aiPowerups\"\n}\n\nexport enum MT_OPTIONS_MAX_COUNT_TYPE {\n SEAT_BASED = \"seatBased\",\n FIXED = \"fixed\"\n}\n\nexport interface ProjectPackageFeatures {\n [PROJECT_PACKAGE_FEATURE_NAME.SEATS]: {\n // This is always true because WCP projects immediately get access to seats (by default 1 seat).\n enabled: true;\n options: {\n maxCount: number;\n };\n };\n [PROJECT_PACKAGE_FEATURE_NAME.MT]: {\n // This is always true because WCP projects immediately get access to multi-tenancy.\n enabled: true;\n options: {\n maxCount: {\n type: MT_OPTIONS_MAX_COUNT_TYPE;\n count?: number;\n };\n };\n };\n [PROJECT_PACKAGE_FEATURE_NAME.APW]: {\n enabled: boolean;\n };\n [PROJECT_PACKAGE_FEATURE_NAME.AUDIT_LOGS]: {\n enabled: boolean;\n };\n [PROJECT_PACKAGE_FEATURE_NAME.RECORD_LOCKING]: {\n enabled: boolean;\n };\n [PROJECT_PACKAGE_FEATURE_NAME.AACL]: {\n enabled: boolean;\n options: {\n teams: boolean;\n privateFiles: boolean;\n folderLevelPermissions: boolean;\n hcmsFieldPermissions: boolean;\n };\n };\n [PROJECT_PACKAGE_FEATURE_NAME.FILE_MANAGER]: {\n enabled: boolean;\n options: { threatDetection: boolean };\n };\n [PROJECT_PACKAGE_FEATURE_NAME.AI_POWERUPS]: {\n enabled: boolean;\n options: {\n websiteBuilder?: { pageGeneration?: boolean };\n fileManager?: { imageEnrichment?: boolean };\n lexicalGeneration?: boolean;\n };\n };\n}\n\nexport interface DecryptedWcpProjectLicense {\n orgId: string;\n projectId: string;\n package: {\n features: ProjectPackageFeatures;\n };\n}\n"],"names":["PROJECT_PACKAGE_FEATURE_NAME","MT_OPTIONS_MAX_COUNT_TYPE"],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../src/types.ts"],"sourcesContent":["import type { WCP_FEATURE_LABEL } from \"./index.js\";\n\nexport interface WcpProject {\n orgId: string;\n projectId: string;\n package: {\n features: ProjectPackageFeatures;\n };\n}\n\nexport interface ILicense {\n // TODO: identify all places where raw license data is being used and refactor.\n getRawLicense: () => DecryptedWcpProjectLicense | null;\n getProject(): WcpProject | null;\n toDto(): DecryptedWcpProjectLicense | null;\n canUseFeature: (featureId: keyof typeof WCP_FEATURE_LABEL) => boolean;\n canUseAacl: () => boolean;\n canUseTeams: () => boolean;\n canUseAuditLogs: () => boolean;\n canUsePrivateFiles: () => boolean;\n canUseFileManagerThreatDetection: () => boolean;\n canUseFolderLevelPermissions: () => boolean;\n canUseRecordLocking: () => boolean;\n canUseWorkflows: () => boolean;\n canUseHcmsFieldPermissions: () => boolean;\n canUseAiImageEnrichment: () => boolean;\n canUseAiPageGeneration: () => boolean;\n canUseAiPageTranslation: () => boolean;\n canUseAiLexicalGeneration: () => boolean;\n canUseAiEntryGeneration: () => boolean;\n canUseAiEntryComparison: () => boolean;\n canUseAiEntryTranslation: () => boolean;\n canUseAbTesting: () => boolean;\n canUseRemoteComponents: () => boolean;\n}\n\nexport declare type WcpProjectEnvironment = {\n id: string;\n apiKey: string;\n org: {\n id: string;\n };\n project: {\n id: string;\n };\n};\n\nexport declare type EncryptedWcpProjectLicense = string;\n\nexport enum PROJECT_PACKAGE_FEATURE_NAME {\n SEATS = \"seats\",\n MT = \"multiTenancy\",\n APW = \"advancedPublishingWorkflow\",\n AACL = \"advancedAccessControlLayer\",\n /**\n * @deprecated Use `AUDIT_LOGS` instead.\n * TODO: remove oxlint disable when removing AL enum value.\n */\n // oxlint-disable-next-line typescript/no-duplicate-enum-values\n AL = \"auditLogs\",\n AUDIT_LOGS = \"auditLogs\",\n RECORD_LOCKING = \"recordLocking\",\n FILE_MANAGER = \"fileManager\",\n AI_POWERUPS = \"aiPowerups\",\n AB_TESTING = \"abTesting\",\n REMOTE_COMPONENTS = \"remoteComponents\"\n}\n\nexport enum MT_OPTIONS_MAX_COUNT_TYPE {\n SEAT_BASED = \"seatBased\",\n FIXED = \"fixed\"\n}\n\nexport interface ProjectPackageFeatures {\n [PROJECT_PACKAGE_FEATURE_NAME.SEATS]: {\n // This is always true because WCP projects immediately get access to seats (by default 1 seat).\n enabled: true;\n options: {\n maxCount: number;\n };\n };\n [PROJECT_PACKAGE_FEATURE_NAME.MT]: {\n // This is always true because WCP projects immediately get access to multi-tenancy.\n enabled: true;\n options: {\n maxCount: {\n type: MT_OPTIONS_MAX_COUNT_TYPE;\n count?: number;\n };\n };\n };\n [PROJECT_PACKAGE_FEATURE_NAME.APW]: {\n enabled: boolean;\n };\n [PROJECT_PACKAGE_FEATURE_NAME.AUDIT_LOGS]: {\n enabled: boolean;\n };\n [PROJECT_PACKAGE_FEATURE_NAME.RECORD_LOCKING]: {\n enabled: boolean;\n };\n [PROJECT_PACKAGE_FEATURE_NAME.AACL]: {\n enabled: boolean;\n options: {\n teams: boolean;\n privateFiles: boolean;\n folderLevelPermissions: boolean;\n hcmsFieldPermissions: boolean;\n };\n };\n [PROJECT_PACKAGE_FEATURE_NAME.FILE_MANAGER]: {\n enabled: boolean;\n options: { threatDetection: boolean };\n };\n [PROJECT_PACKAGE_FEATURE_NAME.AI_POWERUPS]: {\n enabled: boolean;\n options: {\n websiteBuilder?: { pageGeneration?: boolean; pageTranslation?: boolean };\n fileManager?: { imageEnrichment?: boolean };\n lexicalGeneration?: boolean;\n cms?: {\n entryGeneration?: boolean;\n entryComparison?: boolean;\n entryTranslation?: boolean;\n };\n };\n };\n [PROJECT_PACKAGE_FEATURE_NAME.AB_TESTING]: {\n enabled: boolean;\n };\n [PROJECT_PACKAGE_FEATURE_NAME.REMOTE_COMPONENTS]: {\n enabled: boolean;\n };\n}\n\nexport interface DecryptedWcpProjectLicense {\n orgId: string;\n projectId: string;\n package: {\n features: ProjectPackageFeatures;\n };\n}\n"],"names":["PROJECT_PACKAGE_FEATURE_NAME","MT_OPTIONS_MAX_COUNT_TYPE"],"mappings":"AAiDO,IAAKA,qCAA4BA,WAAAA,GAAAA,SAA5BA,4BAA4B;;;;;;;;;;;;WAA5BA;;AAmBL,IAAKC,kCAAyBA,WAAAA,GAAAA,SAAzBA,yBAAyB;;;WAAzBA"}
|