@webiny/wcp 5.43.3 → 6.0.0-alpha.1
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 +1 -1
- package/License.js.map +1 -1
- package/NullLicense.d.ts +1 -1
- package/NullLicense.js.map +1 -1
- package/getWcpProjectEnvironment.d.ts +1 -1
- package/getWcpProjectEnvironment.js.map +1 -1
- package/licenses.d.ts +1 -1
- package/licenses.js.map +1 -1
- package/package.json +3 -3
- package/testing/createTestWcpLicense.d.ts +1 -1
- package/testing/createTestWcpLicense.js.map +1 -1
- package/types.d.ts +1 -1
- package/types.js.map +1 -1
package/License.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { DecryptedWcpProjectLicense, ILicense, WcpProject } from "./types";
|
|
2
2
|
import { NullLicense } from "./NullLicense";
|
|
3
|
-
import { WCP_FEATURE_LABEL } from "./index";
|
|
3
|
+
import type { WCP_FEATURE_LABEL } from "./index";
|
|
4
4
|
export declare class License implements ILicense {
|
|
5
5
|
private readonly license;
|
|
6
6
|
static fromLicenseDto(license: DecryptedWcpProjectLicense | null): NullLicense | License;
|
package/License.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_getWcpProjectEnvironment","require","_licenses","_NullLicense","License","fromLicenseDto","license","NullLicense","fromEnvironment","wcpProjectEnvironment","getWcpProjectEnvironment","getWcpProjectLicense","orgId","org","id","projectId","project","projectEnvironmentApiKey","apiKey","constructor","getRawLicense","getProject","canUseFeature","wcpFeatureId","package","features","enabled","canUseAacl","canUseTeams","advancedAccessControlLayer","options","teams","canUseFolderLevelPermissions","folderLevelPermissions","canUsePrivateFiles","privateFiles","canUseAuditLogs","canUseRecordLocking","canUseFileManagerThreatDetection","fileManager","threatDetection","exports"],"sources":["License.ts"],"sourcesContent":["import { getWcpProjectEnvironment } from \"~/getWcpProjectEnvironment\";\nimport type { DecryptedWcpProjectLicense, ILicense, WcpProject } from \"~/types\";\nimport { getWcpProjectLicense } from \"~/licenses\";\nimport { NullLicense } from \"~/NullLicense\";\nimport { WCP_FEATURE_LABEL } from \"~/index\";\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 getProject(): WcpProject | null {\n return {\n orgId: this.license.orgId,\n projectId: this.license.projectId\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 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"],"mappings":";;;;;;AAAA,IAAAA,yBAAA,GAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAGO,MAAMG,OAAO,CAAqB;EAGrC,OAAOC,cAAcA,CAACC,OAA0C,EAAE;IAC9D,IAAI,CAACA,OAAO,EAAE;MACV,OAAO,IAAIC,wBAAW,CAAC,CAAC;IAC5B;IAEA,OAAO,IAAIH,OAAO,CAACE,OAAO,CAAC;EAC/B;EAEA,aAAaE,eAAeA,CAAA,EAAG;IAC3B,MAAMC,qBAAqB,GAAG,IAAAC,kDAAwB,EAAC,CAAC;IAExD,IAAI,CAACD,qBAAqB,EAAE;MACxB,OAAO,IAAIF,wBAAW,CAAC,CAAC;IAC5B;IAEA,MAAMD,OAAO,GAAG,MAAM,IAAAK,8BAAoB,EAAC;MACvCC,KAAK,EAAEH,qBAAqB,CAACI,GAAG,CAACC,EAAE;MACnCC,SAAS,EAAEN,qBAAqB,CAACO,OAAO,CAACF,EAAE;MAC3CG,wBAAwB,EAAER,qBAAqB,CAACS;IACpD,CAAC,CAAC;IAEF,OAAOd,OAAO,CAACC,cAAc,CAACC,OAAO,CAAC;EAC1C;EAEQa,WAAWA,CAACb,OAAmC,EAAE;IACrD,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEAc,aAAaA,CAAA,EAA+B;IACxC,OAAO,IAAI,CAACd,OAAO;EACvB;EAEAe,UAAUA,CAAA,EAAsB;IAC5B,OAAO;MACHT,KAAK,EAAE,IAAI,CAACN,OAAO,CAACM,KAAK;MACzBG,SAAS,EAAE,IAAI,CAACT,OAAO,CAACS;IAC5B,CAAC;EACL;EAEAO,aAAaA,CAACC,YAA4C,EAAE;IACxD,OAAO,IAAI,CAACjB,OAAO,CAACkB,OAAO,EAAEC,QAAQ,GAAGF,YAAY,CAAC,EAAEG,OAAO,KAAK,IAAI;EAC3E;EAEAC,UAAUA,CAAA,EAAG;IACT,OAAO,IAAI,CAACL,aAAa,CAAC,4BAA4B,CAAC;EAC3D;EAEAM,WAAWA,CAAA,EAAG;IACV,IAAI,CAAC,IAAI,CAACD,UAAU,CAAC,CAAC,EAAE;MACpB,OAAO,KAAK;IAChB;IAEA,OAAO,IAAI,CAACrB,OAAO,CAACkB,OAAO,CAACC,QAAQ,CAACI,0BAA0B,CAACC,OAAO,CAACC,KAAK;EACjF;EAEAC,4BAA4BA,CAAA,EAAG;IAC3B,IAAI,CAAC,IAAI,CAACL,UAAU,CAAC,CAAC,EAAE;MACpB,OAAO,KAAK;IAChB;IAEA,OAAO,IAAI,CAACrB,OAAO,CAACkB,OAAO,CAACC,QAAQ,CAACI,0BAA0B,CAACC,OAAO,CAClEG,sBAAsB;EAC/B;EAEAC,kBAAkBA,CAAA,EAAG;IACjB,IAAI,CAAC,IAAI,CAACP,UAAU,CAAC,CAAC,EAAE;MACpB,OAAO,KAAK;IAChB;IAEA,OAAO,IAAI,CAACrB,OAAO,CAACkB,OAAO,CAACC,QAAQ,CAACI,0BAA0B,CAACC,OAAO,CAACK,YAAY;EACxF;EAEAC,eAAeA,CAAA,EAAG;IACd,OAAO,IAAI,CAACd,aAAa,CAAC,WAAW,CAAC;EAC1C;EAEAe,mBAAmBA,CAAA,EAAG;IAClB,OAAO,IAAI,CAACf,aAAa,CAAC,eAAe,CAAC;EAC9C;EAEAgB,gCAAgCA,CAAA,EAAG;IAC/B,OAAO,IAAI,CAAChC,OAAO,CAACkB,OAAO,CAACC,QAAQ,CAACc,WAAW,EAAET,OAAO,CAACU,eAAe,IAAI,KAAK;EACtF;AACJ;AAACC,OAAA,CAAArC,OAAA,GAAAA,OAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_getWcpProjectEnvironment","require","_licenses","_NullLicense","License","fromLicenseDto","license","NullLicense","fromEnvironment","wcpProjectEnvironment","getWcpProjectEnvironment","getWcpProjectLicense","orgId","org","id","projectId","project","projectEnvironmentApiKey","apiKey","constructor","getRawLicense","getProject","canUseFeature","wcpFeatureId","package","features","enabled","canUseAacl","canUseTeams","advancedAccessControlLayer","options","teams","canUseFolderLevelPermissions","folderLevelPermissions","canUsePrivateFiles","privateFiles","canUseAuditLogs","canUseRecordLocking","canUseFileManagerThreatDetection","fileManager","threatDetection","exports"],"sources":["License.ts"],"sourcesContent":["import { getWcpProjectEnvironment } from \"~/getWcpProjectEnvironment\";\nimport type { DecryptedWcpProjectLicense, ILicense, WcpProject } from \"~/types\";\nimport { getWcpProjectLicense } from \"~/licenses\";\nimport { NullLicense } from \"~/NullLicense\";\nimport type { WCP_FEATURE_LABEL } from \"~/index\";\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 getProject(): WcpProject | null {\n return {\n orgId: this.license.orgId,\n projectId: this.license.projectId\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 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"],"mappings":";;;;;;AAAA,IAAAA,yBAAA,GAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAGO,MAAMG,OAAO,CAAqB;EAGrC,OAAOC,cAAcA,CAACC,OAA0C,EAAE;IAC9D,IAAI,CAACA,OAAO,EAAE;MACV,OAAO,IAAIC,wBAAW,CAAC,CAAC;IAC5B;IAEA,OAAO,IAAIH,OAAO,CAACE,OAAO,CAAC;EAC/B;EAEA,aAAaE,eAAeA,CAAA,EAAG;IAC3B,MAAMC,qBAAqB,GAAG,IAAAC,kDAAwB,EAAC,CAAC;IAExD,IAAI,CAACD,qBAAqB,EAAE;MACxB,OAAO,IAAIF,wBAAW,CAAC,CAAC;IAC5B;IAEA,MAAMD,OAAO,GAAG,MAAM,IAAAK,8BAAoB,EAAC;MACvCC,KAAK,EAAEH,qBAAqB,CAACI,GAAG,CAACC,EAAE;MACnCC,SAAS,EAAEN,qBAAqB,CAACO,OAAO,CAACF,EAAE;MAC3CG,wBAAwB,EAAER,qBAAqB,CAACS;IACpD,CAAC,CAAC;IAEF,OAAOd,OAAO,CAACC,cAAc,CAACC,OAAO,CAAC;EAC1C;EAEQa,WAAWA,CAACb,OAAmC,EAAE;IACrD,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEAc,aAAaA,CAAA,EAA+B;IACxC,OAAO,IAAI,CAACd,OAAO;EACvB;EAEAe,UAAUA,CAAA,EAAsB;IAC5B,OAAO;MACHT,KAAK,EAAE,IAAI,CAACN,OAAO,CAACM,KAAK;MACzBG,SAAS,EAAE,IAAI,CAACT,OAAO,CAACS;IAC5B,CAAC;EACL;EAEAO,aAAaA,CAACC,YAA4C,EAAE;IACxD,OAAO,IAAI,CAACjB,OAAO,CAACkB,OAAO,EAAEC,QAAQ,GAAGF,YAAY,CAAC,EAAEG,OAAO,KAAK,IAAI;EAC3E;EAEAC,UAAUA,CAAA,EAAG;IACT,OAAO,IAAI,CAACL,aAAa,CAAC,4BAA4B,CAAC;EAC3D;EAEAM,WAAWA,CAAA,EAAG;IACV,IAAI,CAAC,IAAI,CAACD,UAAU,CAAC,CAAC,EAAE;MACpB,OAAO,KAAK;IAChB;IAEA,OAAO,IAAI,CAACrB,OAAO,CAACkB,OAAO,CAACC,QAAQ,CAACI,0BAA0B,CAACC,OAAO,CAACC,KAAK;EACjF;EAEAC,4BAA4BA,CAAA,EAAG;IAC3B,IAAI,CAAC,IAAI,CAACL,UAAU,CAAC,CAAC,EAAE;MACpB,OAAO,KAAK;IAChB;IAEA,OAAO,IAAI,CAACrB,OAAO,CAACkB,OAAO,CAACC,QAAQ,CAACI,0BAA0B,CAACC,OAAO,CAClEG,sBAAsB;EAC/B;EAEAC,kBAAkBA,CAAA,EAAG;IACjB,IAAI,CAAC,IAAI,CAACP,UAAU,CAAC,CAAC,EAAE;MACpB,OAAO,KAAK;IAChB;IAEA,OAAO,IAAI,CAACrB,OAAO,CAACkB,OAAO,CAACC,QAAQ,CAACI,0BAA0B,CAACC,OAAO,CAACK,YAAY;EACxF;EAEAC,eAAeA,CAAA,EAAG;IACd,OAAO,IAAI,CAACd,aAAa,CAAC,WAAW,CAAC;EAC1C;EAEAe,mBAAmBA,CAAA,EAAG;IAClB,OAAO,IAAI,CAACf,aAAa,CAAC,eAAe,CAAC;EAC9C;EAEAgB,gCAAgCA,CAAA,EAAG;IAC/B,OAAO,IAAI,CAAChC,OAAO,CAACkB,OAAO,CAACC,QAAQ,CAACc,WAAW,EAAET,OAAO,CAACU,eAAe,IAAI,KAAK;EACtF;AACJ;AAACC,OAAA,CAAArC,OAAA,GAAAA,OAAA","ignoreList":[]}
|
package/NullLicense.d.ts
CHANGED
package/NullLicense.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NullLicense","getRawLicense","getProject","canUseAacl","canUseAuditLogs","canUseFeature","featureId","process","env","WEBINY_MULTI_TENANCY","canUseFileManagerThreatDetection","canUseFolderLevelPermissions","canUsePrivateFiles","canUseRecordLocking","canUseTeams","exports"],"sources":["NullLicense.ts"],"sourcesContent":["import { WCP_FEATURE_LABEL } from \"~/index\";\nimport type { ILicense, WcpProject } from \"~/types\";\n\nexport class NullLicense implements ILicense {\n getRawLicense() {\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 canUsePrivateFiles() {\n return false;\n }\n\n canUseRecordLocking() {\n return false;\n }\n\n canUseTeams() {\n return false;\n }\n}\n"],"mappings":";;;;;;AAGO,MAAMA,WAAW,CAAqB;EACzCC,aAAaA,CAAA,EAAG;IACZ,OAAO,IAAI;EACf;EAEAC,UAAUA,CAAA,EAAsB;IAC5B,OAAO,IAAI;EACf;EAEAC,UAAUA,CAAA,EAAG;IACT,OAAO,KAAK;EAChB;EAEAC,eAAeA,CAAA,EAAG;IACd,OAAO,KAAK;EAChB;EAEAC,aAAaA,CAACC,SAAyC,EAAW;IAC9D;IACA,IAAIA,SAAS,KAAK,cAAc,EAAE;MAC9B,OAAOC,OAAO,CAACC,GAAG,CAACC,oBAAoB,KAAK,MAAM;IACtD;IAEA,OAAO,KAAK;EAChB;EAEAC,gCAAgCA,CAAA,EAAG;IAC/B,OAAO,KAAK;EAChB;EAEAC,4BAA4BA,CAAA,EAAG;IAC3B,OAAO,KAAK;EAChB;EAEAC,kBAAkBA,CAAA,EAAG;IACjB,OAAO,KAAK;EAChB;EAEAC,mBAAmBA,CAAA,EAAG;IAClB,OAAO,KAAK;EAChB;EAEAC,WAAWA,CAAA,EAAG;IACV,OAAO,KAAK;EAChB;AACJ;AAACC,OAAA,CAAAf,WAAA,GAAAA,WAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["NullLicense","getRawLicense","getProject","canUseAacl","canUseAuditLogs","canUseFeature","featureId","process","env","WEBINY_MULTI_TENANCY","canUseFileManagerThreatDetection","canUseFolderLevelPermissions","canUsePrivateFiles","canUseRecordLocking","canUseTeams","exports"],"sources":["NullLicense.ts"],"sourcesContent":["import type { WCP_FEATURE_LABEL } from \"~/index\";\nimport type { ILicense, WcpProject } from \"~/types\";\n\nexport class NullLicense implements ILicense {\n getRawLicense() {\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 canUsePrivateFiles() {\n return false;\n }\n\n canUseRecordLocking() {\n return false;\n }\n\n canUseTeams() {\n return false;\n }\n}\n"],"mappings":";;;;;;AAGO,MAAMA,WAAW,CAAqB;EACzCC,aAAaA,CAAA,EAAG;IACZ,OAAO,IAAI;EACf;EAEAC,UAAUA,CAAA,EAAsB;IAC5B,OAAO,IAAI;EACf;EAEAC,UAAUA,CAAA,EAAG;IACT,OAAO,KAAK;EAChB;EAEAC,eAAeA,CAAA,EAAG;IACd,OAAO,KAAK;EAChB;EAEAC,aAAaA,CAACC,SAAyC,EAAW;IAC9D;IACA,IAAIA,SAAS,KAAK,cAAc,EAAE;MAC9B,OAAOC,OAAO,CAACC,GAAG,CAACC,oBAAoB,KAAK,MAAM;IACtD;IAEA,OAAO,KAAK;EAChB;EAEAC,gCAAgCA,CAAA,EAAG;IAC/B,OAAO,KAAK;EAChB;EAEAC,4BAA4BA,CAAA,EAAG;IAC3B,OAAO,KAAK;EAChB;EAEAC,kBAAkBA,CAAA,EAAG;IACjB,OAAO,KAAK;EAChB;EAEAC,mBAAmBA,CAAA,EAAG;IAClB,OAAO,KAAK;EAChB;EAEAC,WAAWA,CAAA,EAAG;IACV,OAAO,KAAK;EAChB;AACJ;AAACC,OAAA,CAAAf,WAAA,GAAAA,WAAA","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { WcpProjectEnvironment } from "./types";
|
|
1
|
+
import type { WcpProjectEnvironment } from "./types";
|
|
2
2
|
export declare function getWcpProjectEnvironment(): WcpProjectEnvironment | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_encryption","require","getWcpProjectEnvironment","process","env","WCP_PROJECT_ENVIRONMENT","decrypt","Error"],"sources":["getWcpProjectEnvironment.ts"],"sourcesContent":["import { WcpProjectEnvironment } from \"~/types\";\nimport { decrypt } from \"~/encryption\";\n\nexport function getWcpProjectEnvironment(): WcpProjectEnvironment | null {\n if (process.env.WCP_PROJECT_ENVIRONMENT) {\n try {\n return decrypt<WcpProjectEnvironment>(process.env.WCP_PROJECT_ENVIRONMENT);\n } catch {\n throw new Error(\"Could not decrypt WCP_PROJECT_ENVIRONMENT environment variable data.\");\n }\n }\n return null;\n}\n"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAEO,SAASC,wBAAwBA,CAAA,EAAiC;EACrE,IAAIC,OAAO,CAACC,GAAG,CAACC,uBAAuB,EAAE;IACrC,IAAI;MACA,OAAO,IAAAC,mBAAO,EAAwBH,OAAO,CAACC,GAAG,CAACC,uBAAuB,CAAC;IAC9E,CAAC,CAAC,MAAM;MACJ,MAAM,IAAIE,KAAK,CAAC,sEAAsE,CAAC;IAC3F;EACJ;EACA,OAAO,IAAI;AACf","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_encryption","require","getWcpProjectEnvironment","process","env","WCP_PROJECT_ENVIRONMENT","decrypt","Error"],"sources":["getWcpProjectEnvironment.ts"],"sourcesContent":["import type { WcpProjectEnvironment } from \"~/types\";\nimport { decrypt } from \"~/encryption\";\n\nexport function getWcpProjectEnvironment(): WcpProjectEnvironment | null {\n if (process.env.WCP_PROJECT_ENVIRONMENT) {\n try {\n return decrypt<WcpProjectEnvironment>(process.env.WCP_PROJECT_ENVIRONMENT);\n } catch {\n throw new Error(\"Could not decrypt WCP_PROJECT_ENVIRONMENT environment variable data.\");\n }\n }\n return null;\n}\n"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAEO,SAASC,wBAAwBA,CAAA,EAAiC;EACrE,IAAIC,OAAO,CAACC,GAAG,CAACC,uBAAuB,EAAE;IACrC,IAAI;MACA,OAAO,IAAAC,mBAAO,EAAwBH,OAAO,CAACC,GAAG,CAACC,uBAAuB,CAAC;IAC9E,CAAC,CAAC,MAAM;MACJ,MAAM,IAAIE,KAAK,CAAC,sEAAsE,CAAC;IAC3F;EACJ;EACA,OAAO,IAAI;AACf","ignoreList":[]}
|
package/licenses.d.ts
CHANGED
package/licenses.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_nodeFetch","_interopRequireDefault","require","_encryption","_urls","fetchWcpProjectLicense","orgId","projectId","projectEnvironmentApiKey","getLicenseEndpoint","getWcpApiUrl","encryptedLicense","fetch","headers","authorization","then","response","ok","json","console","warn","status","statusText","catch","e","message","getWcpProjectLicense","params","process","env","WCP_PROJECT_LICENSE","fetchedLicense","license","decrypt","exports"],"sources":["licenses.ts"],"sourcesContent":["import fetch from \"node-fetch\";\nimport { DecryptedWcpProjectLicense, EncryptedWcpProjectLicense } from \"./types\";\nimport { decrypt } from \"./encryption\";\nimport { getWcpApiUrl } from \"./urls\";\n\ninterface GetWcpProjectLicenseParams {\n orgId: string;\n projectId: string;\n projectEnvironmentApiKey: string;\n}\n\nconst fetchWcpProjectLicense = async ({\n orgId,\n projectId,\n projectEnvironmentApiKey\n}: GetWcpProjectLicenseParams) => {\n // Fetch and decrypt the license.\n const getLicenseEndpoint = getWcpApiUrl(`/orgs/${orgId}/projects/${projectId}/license`);\n\n const encryptedLicense: { license: EncryptedWcpProjectLicense } | null = await fetch(\n getLicenseEndpoint,\n {\n headers: { authorization: projectEnvironmentApiKey }\n }\n )\n .then(response => {\n if (response.ok) {\n return response.json();\n }\n\n console.warn(\n `An error occurred while trying to retrieve the license for project \"${orgId}/${projectId}\": invalid response status (${response.status}, ${response.statusText})`,\n response\n );\n\n return null;\n })\n .catch(e => {\n console.warn(\n `An error occurred while trying to retrieve the license for project \"${orgId}/${projectId}\": ${e.message}`,\n e\n );\n return null;\n });\n\n return encryptedLicense;\n};\n\nexport const getWcpProjectLicense = async (params: GetWcpProjectLicenseParams) => {\n let encryptedLicense = process.env.WCP_PROJECT_LICENSE;\n if (!encryptedLicense) {\n const fetchedLicense = await fetchWcpProjectLicense(params);\n if (fetchedLicense) {\n encryptedLicense = fetchedLicense.license;\n }\n }\n\n if (!encryptedLicense) {\n return null;\n }\n\n try {\n return decrypt<DecryptedWcpProjectLicense>(encryptedLicense);\n } catch (e) {\n const projectId = `${params.orgId}/${params.projectId}`;\n console.warn(\n `An error occurred while trying to decrypt the retrieved license for project \"${projectId}\": ${e.message}`\n );\n return null;\n }\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAQA,MAAMG,sBAAsB,GAAG,MAAAA,CAAO;EAClCC,KAAK;EACLC,SAAS;EACTC;AACwB,CAAC,KAAK;EAC9B;EACA,MAAMC,kBAAkB,GAAG,IAAAC,kBAAY,EAAC,SAASJ,KAAK,aAAaC,SAAS,UAAU,CAAC;EAEvF,MAAMI,gBAAgE,GAAG,MAAM,IAAAC,kBAAK,EAChFH,kBAAkB,EAClB;IACII,OAAO,EAAE;MAAEC,aAAa,EAAEN;IAAyB;EACvD,CACJ,CAAC,CACIO,IAAI,CAACC,QAAQ,IAAI;IACd,IAAIA,QAAQ,CAACC,EAAE,EAAE;MACb,OAAOD,QAAQ,CAACE,IAAI,CAAC,CAAC;IAC1B;IAEAC,OAAO,CAACC,IAAI,CACR,uEAAuEd,KAAK,IAAIC,SAAS,+BAA+BS,QAAQ,CAACK,MAAM,KAAKL,QAAQ,CAACM,UAAU,GAAG,EAClKN,QACJ,CAAC;IAED,OAAO,IAAI;EACf,CAAC,CAAC,CACDO,KAAK,CAACC,CAAC,IAAI;IACRL,OAAO,CAACC,IAAI,CACR,uEAAuEd,KAAK,IAAIC,SAAS,MAAMiB,CAAC,CAACC,OAAO,EAAE,EAC1GD,CACJ,CAAC;IACD,OAAO,IAAI;EACf,CAAC,CAAC;EAEN,OAAOb,gBAAgB;AAC3B,CAAC;AAEM,MAAMe,oBAAoB,GAAG,MAAOC,MAAkC,IAAK;EAC9E,IAAIhB,gBAAgB,GAAGiB,OAAO,CAACC,GAAG,CAACC,mBAAmB;EACtD,IAAI,CAACnB,gBAAgB,EAAE;IACnB,MAAMoB,cAAc,GAAG,MAAM1B,sBAAsB,CAACsB,MAAM,CAAC;IAC3D,IAAII,cAAc,EAAE;MAChBpB,gBAAgB,GAAGoB,cAAc,CAACC,OAAO;IAC7C;EACJ;EAEA,IAAI,CAACrB,gBAAgB,EAAE;IACnB,OAAO,IAAI;EACf;EAEA,IAAI;IACA,OAAO,IAAAsB,mBAAO,EAA6BtB,gBAAgB,CAAC;EAChE,CAAC,CAAC,OAAOa,CAAC,EAAE;IACR,MAAMjB,SAAS,GAAG,GAAGoB,MAAM,CAACrB,KAAK,IAAIqB,MAAM,CAACpB,SAAS,EAAE;IACvDY,OAAO,CAACC,IAAI,CACR,gFAAgFb,SAAS,MAAMiB,CAAC,CAACC,OAAO,EAC5G,CAAC;IACD,OAAO,IAAI;EACf;AACJ,CAAC;AAACS,OAAA,CAAAR,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_nodeFetch","_interopRequireDefault","require","_encryption","_urls","fetchWcpProjectLicense","orgId","projectId","projectEnvironmentApiKey","getLicenseEndpoint","getWcpApiUrl","encryptedLicense","fetch","headers","authorization","then","response","ok","json","console","warn","status","statusText","catch","e","message","getWcpProjectLicense","params","process","env","WCP_PROJECT_LICENSE","fetchedLicense","license","decrypt","exports"],"sources":["licenses.ts"],"sourcesContent":["import fetch from \"node-fetch\";\nimport type { DecryptedWcpProjectLicense, EncryptedWcpProjectLicense } from \"./types\";\nimport { decrypt } from \"./encryption\";\nimport { getWcpApiUrl } from \"./urls\";\n\ninterface GetWcpProjectLicenseParams {\n orgId: string;\n projectId: string;\n projectEnvironmentApiKey: string;\n}\n\nconst fetchWcpProjectLicense = async ({\n orgId,\n projectId,\n projectEnvironmentApiKey\n}: GetWcpProjectLicenseParams) => {\n // Fetch and decrypt the license.\n const getLicenseEndpoint = getWcpApiUrl(`/orgs/${orgId}/projects/${projectId}/license`);\n\n const encryptedLicense: { license: EncryptedWcpProjectLicense } | null = await fetch(\n getLicenseEndpoint,\n {\n headers: { authorization: projectEnvironmentApiKey }\n }\n )\n .then(response => {\n if (response.ok) {\n return response.json();\n }\n\n console.warn(\n `An error occurred while trying to retrieve the license for project \"${orgId}/${projectId}\": invalid response status (${response.status}, ${response.statusText})`,\n response\n );\n\n return null;\n })\n .catch(e => {\n console.warn(\n `An error occurred while trying to retrieve the license for project \"${orgId}/${projectId}\": ${e.message}`,\n e\n );\n return null;\n });\n\n return encryptedLicense;\n};\n\nexport const getWcpProjectLicense = async (params: GetWcpProjectLicenseParams) => {\n let encryptedLicense = process.env.WCP_PROJECT_LICENSE;\n if (!encryptedLicense) {\n const fetchedLicense = await fetchWcpProjectLicense(params);\n if (fetchedLicense) {\n encryptedLicense = fetchedLicense.license;\n }\n }\n\n if (!encryptedLicense) {\n return null;\n }\n\n try {\n return decrypt<DecryptedWcpProjectLicense>(encryptedLicense);\n } catch (e) {\n const projectId = `${params.orgId}/${params.projectId}`;\n console.warn(\n `An error occurred while trying to decrypt the retrieved license for project \"${projectId}\": ${e.message}`\n );\n return null;\n }\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAQA,MAAMG,sBAAsB,GAAG,MAAAA,CAAO;EAClCC,KAAK;EACLC,SAAS;EACTC;AACwB,CAAC,KAAK;EAC9B;EACA,MAAMC,kBAAkB,GAAG,IAAAC,kBAAY,EAAC,SAASJ,KAAK,aAAaC,SAAS,UAAU,CAAC;EAEvF,MAAMI,gBAAgE,GAAG,MAAM,IAAAC,kBAAK,EAChFH,kBAAkB,EAClB;IACII,OAAO,EAAE;MAAEC,aAAa,EAAEN;IAAyB;EACvD,CACJ,CAAC,CACIO,IAAI,CAACC,QAAQ,IAAI;IACd,IAAIA,QAAQ,CAACC,EAAE,EAAE;MACb,OAAOD,QAAQ,CAACE,IAAI,CAAC,CAAC;IAC1B;IAEAC,OAAO,CAACC,IAAI,CACR,uEAAuEd,KAAK,IAAIC,SAAS,+BAA+BS,QAAQ,CAACK,MAAM,KAAKL,QAAQ,CAACM,UAAU,GAAG,EAClKN,QACJ,CAAC;IAED,OAAO,IAAI;EACf,CAAC,CAAC,CACDO,KAAK,CAACC,CAAC,IAAI;IACRL,OAAO,CAACC,IAAI,CACR,uEAAuEd,KAAK,IAAIC,SAAS,MAAMiB,CAAC,CAACC,OAAO,EAAE,EAC1GD,CACJ,CAAC;IACD,OAAO,IAAI;EACf,CAAC,CAAC;EAEN,OAAOb,gBAAgB;AAC3B,CAAC;AAEM,MAAMe,oBAAoB,GAAG,MAAOC,MAAkC,IAAK;EAC9E,IAAIhB,gBAAgB,GAAGiB,OAAO,CAACC,GAAG,CAACC,mBAAmB;EACtD,IAAI,CAACnB,gBAAgB,EAAE;IACnB,MAAMoB,cAAc,GAAG,MAAM1B,sBAAsB,CAACsB,MAAM,CAAC;IAC3D,IAAII,cAAc,EAAE;MAChBpB,gBAAgB,GAAGoB,cAAc,CAACC,OAAO;IAC7C;EACJ;EAEA,IAAI,CAACrB,gBAAgB,EAAE;IACnB,OAAO,IAAI;EACf;EAEA,IAAI;IACA,OAAO,IAAAsB,mBAAO,EAA6BtB,gBAAgB,CAAC;EAChE,CAAC,CAAC,OAAOa,CAAC,EAAE;IACR,MAAMjB,SAAS,GAAG,GAAGoB,MAAM,CAACrB,KAAK,IAAIqB,MAAM,CAACpB,SAAS,EAAE;IACvDY,OAAO,CAACC,IAAI,CACR,gFAAgFb,SAAS,MAAMiB,CAAC,CAACC,OAAO,EAC5G,CAAC;IACD,OAAO,IAAI;EACf;AACJ,CAAC;AAACS,OAAA,CAAAR,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/wcp",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0-alpha.1",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"node-fetch": "2.6.7"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
|
-
"@webiny/project-utils": "
|
|
17
|
+
"@webiny/project-utils": "6.0.0-alpha.1",
|
|
18
18
|
"rimraf": "6.0.1",
|
|
19
19
|
"typescript": "5.3.3"
|
|
20
20
|
},
|
|
@@ -31,5 +31,5 @@
|
|
|
31
31
|
"__tests__"
|
|
32
32
|
]
|
|
33
33
|
},
|
|
34
|
-
"gitHead": "
|
|
34
|
+
"gitHead": "9bd236cf5e689f209a11bec089207dcc2d41a53c"
|
|
35
35
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { DecryptedWcpProjectLicense } from "../types";
|
|
1
|
+
import type { DecryptedWcpProjectLicense } from "../types";
|
|
2
2
|
export declare const createTestWcpLicense: () => DecryptedWcpProjectLicense;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_types","require","createTestWcpLicense","orgId","projectId","package","features","PROJECT_PACKAGE_FEATURE_NAME","AACL","enabled","options","teams","folderLevelPermissions","privateFiles","MT","maxCount","type","MT_OPTIONS_MAX_COUNT_TYPE","SEAT_BASED","APW","AUDIT_LOGS","RECORD_LOCKING","SEATS","FILE_MANAGER","threatDetection","exports"],"sources":["createTestWcpLicense.ts"],"sourcesContent":["import {\
|
|
1
|
+
{"version":3,"names":["_types","require","createTestWcpLicense","orgId","projectId","package","features","PROJECT_PACKAGE_FEATURE_NAME","AACL","enabled","options","teams","folderLevelPermissions","privateFiles","MT","maxCount","type","MT_OPTIONS_MAX_COUNT_TYPE","SEAT_BASED","APW","AUDIT_LOGS","RECORD_LOCKING","SEATS","FILE_MANAGER","threatDetection","exports"],"sources":["createTestWcpLicense.ts"],"sourcesContent":["import type { DecryptedWcpProjectLicense } from \"~/types\";\nimport { MT_OPTIONS_MAX_COUNT_TYPE, PROJECT_PACKAGE_FEATURE_NAME } from \"~/types\";\n\nexport const createTestWcpLicense = (): 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: true,\n privateFiles: 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: false\n },\n [PROJECT_PACKAGE_FEATURE_NAME.AUDIT_LOGS]: {\n enabled: false\n },\n [PROJECT_PACKAGE_FEATURE_NAME.RECORD_LOCKING]: {\n enabled: 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 }\n }\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAEO,MAAMC,oBAAoB,GAAGA,CAAA,KAAkC;EAClE,OAAO;IACHC,KAAK,EAAE,QAAQ;IACfC,SAAS,EAAE,YAAY;IACvBC,OAAO,EAAE;MACLC,QAAQ,EAAE;QACN,CAACC,mCAA4B,CAACC,IAAI,GAAG;UACjCC,OAAO,EAAE,IAAI;UACbC,OAAO,EAAE;YACLC,KAAK,EAAE,IAAI;YACXC,sBAAsB,EAAE,IAAI;YAC5BC,YAAY,EAAE;UAClB;QACJ,CAAC;QACD,CAACN,mCAA4B,CAACO,EAAE,GAAG;UAC/BL,OAAO,EAAE,IAAI;UACbC,OAAO,EAAE;YACLK,QAAQ,EAAE;cACNC,IAAI,EAAEC,gCAAyB,CAACC;YACpC;UACJ;QACJ,CAAC;QACD,CAACX,mCAA4B,CAACY,GAAG,GAAG;UAChCV,OAAO,EAAE;QACb,CAAC;QACD,CAACF,mCAA4B,CAACa,UAAU,GAAG;UACvCX,OAAO,EAAE;QACb,CAAC;QACD,CAACF,mCAA4B,CAACc,cAAc,GAAG;UAC3CZ,OAAO,EAAE;QACb,CAAC;QACD,CAACF,mCAA4B,CAACe,KAAK,GAAG;UAClCb,OAAO,EAAE,IAAI;UACbC,OAAO,EAAE;YACLK,QAAQ,EAAE;UACd;QACJ,CAAC;QACD,CAACR,mCAA4B,CAACgB,YAAY,GAAG;UACzCd,OAAO,EAAE,KAAK;UACdC,OAAO,EAAE;YACLc,eAAe,EAAE;UACrB;QACJ;MACJ;IACJ;EACJ,CAAC;AACL,CAAC;AAACC,OAAA,CAAAvB,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
package/types.d.ts
CHANGED
package/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PROJECT_PACKAGE_FEATURE_NAME","exports","MT_OPTIONS_MAX_COUNT_TYPE"],"sources":["types.ts"],"sourcesContent":["import { WCP_FEATURE_LABEL } from \"~/index\";\n\nexport interface WcpProject {\n orgId: string;\n projectId: string;\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 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}\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 */\n AL = \"auditLogs\",\n /**\n * TODO: remove eslint disable when removing AL enum value.\n */\n // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values\n AUDIT_LOGS = \"auditLogs\",\n RECORD_LOCKING = \"recordLocking\",\n FILE_MANAGER = \"fileManager\"\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: { teams: boolean; privateFiles: boolean; folderLevelPermissions: boolean };\n };\n [PROJECT_PACKAGE_FEATURE_NAME.AL]: {\n enabled: boolean;\n };\n [PROJECT_PACKAGE_FEATURE_NAME.FILE_MANAGER]: {\n enabled: boolean;\n options: { threatDetection: boolean };\n };\n}\n\nexport interface DecryptedWcpProjectLicense {\n orgId: string;\n projectId: string;\n package: {\n features: ProjectPackageFeatures;\n };\n}\n"],"mappings":";;;;;;IAkCYA,4BAA4B,GAAAC,OAAA,CAAAD,4BAAA,0BAA5BA,4BAA4B;EAA5BA,4BAA4B;EAA5BA,4BAA4B;EAA5BA,4BAA4B;EAA5BA,4BAA4B;EAA5BA,4BAA4B;EAA5BA,4BAA4B;EAA5BA,4BAA4B;EAA5BA,4BAA4B;EAAA,OAA5BA,4BAA4B;AAAA;AAAA,IAkB5BE,yBAAyB,GAAAD,OAAA,CAAAC,yBAAA,0BAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAA,OAAzBA,yBAAyB;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["PROJECT_PACKAGE_FEATURE_NAME","exports","MT_OPTIONS_MAX_COUNT_TYPE"],"sources":["types.ts"],"sourcesContent":["import type { WCP_FEATURE_LABEL } from \"~/index\";\n\nexport interface WcpProject {\n orgId: string;\n projectId: string;\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 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}\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 */\n AL = \"auditLogs\",\n /**\n * TODO: remove eslint disable when removing AL enum value.\n */\n // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values\n AUDIT_LOGS = \"auditLogs\",\n RECORD_LOCKING = \"recordLocking\",\n FILE_MANAGER = \"fileManager\"\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: { teams: boolean; privateFiles: boolean; folderLevelPermissions: boolean };\n };\n [PROJECT_PACKAGE_FEATURE_NAME.AL]: {\n enabled: boolean;\n };\n [PROJECT_PACKAGE_FEATURE_NAME.FILE_MANAGER]: {\n enabled: boolean;\n options: { threatDetection: boolean };\n };\n}\n\nexport interface DecryptedWcpProjectLicense {\n orgId: string;\n projectId: string;\n package: {\n features: ProjectPackageFeatures;\n };\n}\n"],"mappings":";;;;;;IAkCYA,4BAA4B,GAAAC,OAAA,CAAAD,4BAAA,0BAA5BA,4BAA4B;EAA5BA,4BAA4B;EAA5BA,4BAA4B;EAA5BA,4BAA4B;EAA5BA,4BAA4B;EAA5BA,4BAA4B;EAA5BA,4BAA4B;EAA5BA,4BAA4B;EAA5BA,4BAA4B;EAAA,OAA5BA,4BAA4B;AAAA;AAAA,IAkB5BE,yBAAyB,GAAAD,OAAA,CAAAC,yBAAA,0BAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAA,OAAzBA,yBAAyB;AAAA","ignoreList":[]}
|