@budibase/backend-core 2.7.34-alpha.9 → 2.7.35
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/dist/jest.config.js +0 -1
- package/dist/jest.config.js.map +1 -1
- package/dist/package.json +4 -4
- package/dist/src/configs/configs.d.ts +2 -1
- package/dist/src/configs/configs.js +7 -1
- package/dist/src/configs/configs.js.map +1 -1
- package/dist/src/events/publishers/serve.d.ts +1 -1
- package/dist/src/events/publishers/serve.js +1 -2
- package/dist/src/events/publishers/serve.js.map +1 -1
- package/dist/src/middleware/passport/datasource/google.d.ts +3 -3
- package/dist/src/middleware/passport/datasource/google.js +25 -12
- package/dist/src/middleware/passport/datasource/google.js.map +1 -1
- package/dist/src/security/encryption.d.ts +0 -8
- package/dist/src/security/encryption.js +5 -107
- package/dist/src/security/encryption.js.map +1 -1
- package/dist/src/security/roles.d.ts +1 -4
- package/dist/src/security/roles.js +1 -5
- package/dist/src/security/roles.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/jest.config.ts +0 -2
- package/package.json +4 -4
- package/src/configs/configs.ts +5 -0
- package/src/events/publishers/serve.ts +1 -6
- package/src/middleware/passport/datasource/google.ts +26 -20
- package/src/security/encryption.ts +4 -121
- package/src/security/roles.ts +1 -8
package/dist/jest.config.js
CHANGED
package/dist/jest.config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jest.config.js","sourceRoot":"","sources":["../jest.config.ts"],"names":[],"mappings":";;AACA,MAAM,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAA;AAE7C,MAAM,UAAU,mCACX,MAAM,KACT,MAAM,EAAE,+BAA+B,EACvC,UAAU,EAAE,CAAC,oBAAoB,CAAC,EAClC,kBAAkB,EAAE,CAAC,sBAAsB,CAAC,EAC5C,SAAS,EAAE;QACT,YAAY,EAAE,WAAW;KAC1B,EACD,gBAAgB,EAAE;QAChB,iBAAiB,EAAE,wBAAwB;KAC5C,GACF,CAAA;AAED,MAAM,MAAM,GAA0B;IACpC,QAAQ,EAAE;wCAEH,UAAU,KACb,WAAW,EAAE,iBAAiB,EAC9B,SAAS,EAAE,CAAC,+BAA+B,CAAC,EAC5C,MAAM,EAAE,oBAAoB;wCAGzB,UAAU,KACb,SAAS,EAAE,CAAC,kCAAkC,CAAC;KAElD;IACD,mBAAmB,EAAE,CAAC,kBAAkB,CAAC;IACzC,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;CAC9C,CAAA;AAED,
|
|
1
|
+
{"version":3,"file":"jest.config.js","sourceRoot":"","sources":["../jest.config.ts"],"names":[],"mappings":";;AACA,MAAM,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAA;AAE7C,MAAM,UAAU,mCACX,MAAM,KACT,MAAM,EAAE,+BAA+B,EACvC,UAAU,EAAE,CAAC,oBAAoB,CAAC,EAClC,kBAAkB,EAAE,CAAC,sBAAsB,CAAC,EAC5C,SAAS,EAAE;QACT,YAAY,EAAE,WAAW;KAC1B,EACD,gBAAgB,EAAE;QAChB,iBAAiB,EAAE,wBAAwB;KAC5C,GACF,CAAA;AAED,MAAM,MAAM,GAA0B;IACpC,QAAQ,EAAE;wCAEH,UAAU,KACb,WAAW,EAAE,iBAAiB,EAC9B,SAAS,EAAE,CAAC,+BAA+B,CAAC,EAC5C,MAAM,EAAE,oBAAoB;wCAGzB,UAAU,KACb,SAAS,EAAE,CAAC,kCAAkC,CAAC;KAElD;IACD,mBAAmB,EAAE,CAAC,kBAAkB,CAAC;IACzC,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;CAC9C,CAAA;AAED,kBAAe,MAAM,CAAA"}
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@budibase/backend-core",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.35",
|
|
4
4
|
"description": "Budibase backend core libraries used in server and worker",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
|
@@ -22,12 +22,12 @@
|
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@budibase/nano": "10.1.2",
|
|
24
24
|
"@budibase/pouchdb-replication-stream": "1.2.10",
|
|
25
|
-
"@budibase/types": "2.7.
|
|
25
|
+
"@budibase/types": "2.7.35",
|
|
26
26
|
"@shopify/jest-koa-mocks": "5.0.1",
|
|
27
27
|
"@techpass/passport-openidconnect": "0.3.2",
|
|
28
28
|
"aws-cloudfront-sign": "2.2.0",
|
|
29
29
|
"aws-sdk": "2.1030.0",
|
|
30
|
-
"bcrypt": "5.1
|
|
30
|
+
"bcrypt": "5.0.1",
|
|
31
31
|
"bcryptjs": "2.4.3",
|
|
32
32
|
"bull": "4.10.1",
|
|
33
33
|
"correlation-id": "4.0.0",
|
|
@@ -101,5 +101,5 @@
|
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
},
|
|
104
|
-
"gitHead": "
|
|
104
|
+
"gitHead": "6db1d089ee2d2df8caf513cf2cb4b22f167b91f1"
|
|
105
105
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Config, ConfigType, GoogleInnerConfig, OIDCInnerConfig, SCIMInnerConfig, SettingsConfig, SettingsInnerConfig, SMTPConfig, SMTPInnerConfig } from "@budibase/types";
|
|
1
|
+
import { Config, ConfigType, GoogleInnerConfig, OIDCInnerConfig, OIDCLogosConfig, SCIMInnerConfig, SettingsConfig, SettingsInnerConfig, SMTPConfig, SMTPInnerConfig } from "@budibase/types";
|
|
2
2
|
/**
|
|
3
3
|
* Generates a new configuration ID.
|
|
4
4
|
* @returns {string} The new configuration ID which the config doc can be stored under.
|
|
@@ -21,6 +21,7 @@ export declare const analyticsEnabled: (opts?: {
|
|
|
21
21
|
export declare function getGoogleConfig(): Promise<GoogleInnerConfig | undefined>;
|
|
22
22
|
export declare function getGoogleDatasourceConfig(): Promise<GoogleInnerConfig | undefined>;
|
|
23
23
|
export declare function getDefaultGoogleConfig(): GoogleInnerConfig | undefined;
|
|
24
|
+
export declare function getOIDCLogosDoc(): Promise<OIDCLogosConfig | undefined>;
|
|
24
25
|
export declare function getOIDCConfig(): Promise<OIDCInnerConfig | undefined>;
|
|
25
26
|
/**
|
|
26
27
|
* @param configId The config id of the inner config to retrieve
|
|
@@ -35,7 +35,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
35
35
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
36
|
};
|
|
37
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
exports.getSCIMConfig = exports.getSMTPConfig = exports.getSMTPConfigDoc = exports.getOIDCConfigById = exports.getOIDCConfig = exports.getDefaultGoogleConfig = exports.getGoogleDatasourceConfig = exports.getGoogleConfig = exports.analyticsEnabled = exports.getPlatformUrl = exports.getSettingsConfig = exports.getSettingsConfigDoc = exports.save = exports.getConfig = exports.generateConfigID = void 0;
|
|
38
|
+
exports.getSCIMConfig = exports.getSMTPConfig = exports.getSMTPConfigDoc = exports.getOIDCConfigById = exports.getOIDCConfig = exports.getOIDCLogosDoc = exports.getDefaultGoogleConfig = exports.getGoogleDatasourceConfig = exports.getGoogleConfig = exports.analyticsEnabled = exports.getPlatformUrl = exports.getSettingsConfig = exports.getSettingsConfigDoc = exports.save = exports.getConfig = exports.generateConfigID = void 0;
|
|
39
39
|
const types_1 = require("@budibase/types");
|
|
40
40
|
const constants_1 = require("../constants");
|
|
41
41
|
const cache_1 = require("../cache");
|
|
@@ -204,6 +204,12 @@ function getDefaultGoogleConfig() {
|
|
|
204
204
|
}
|
|
205
205
|
exports.getDefaultGoogleConfig = getDefaultGoogleConfig;
|
|
206
206
|
// OIDC
|
|
207
|
+
function getOIDCLogosDoc() {
|
|
208
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
209
|
+
return getConfig(types_1.ConfigType.OIDC_LOGOS);
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
exports.getOIDCLogosDoc = getOIDCLogosDoc;
|
|
207
213
|
function getOIDCConfigDoc() {
|
|
208
214
|
return __awaiter(this, void 0, void 0, function* () {
|
|
209
215
|
return getConfig(types_1.ConfigType.OIDC);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configs.js","sourceRoot":"","sources":["../../../src/configs/configs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"configs.js","sourceRoot":"","sources":["../../../src/configs/configs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAcwB;AACxB,4CAAsD;AACtD,oCAAmD;AACnD,oDAAqC;AACrC,iEAAgC;AAChC,iEAAwC;AAExC,QAAQ;AAER;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,IAAgB;IAC/C,OAAO,GAAG,wBAAY,CAAC,MAAM,GAAG,qBAAS,GAAG,IAAI,EAAE,CAAA;AACpD,CAAC;AAFD,4CAEC;AAED,SAAsB,SAAS,CAC7B,IAAgB;;QAEhB,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;QAChC,IAAI;YACF,uBAAuB;YACvB,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAM,CAAA;SACnD;QAAC,OAAO,CAAM,EAAE;YACf,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG,EAAE;gBACpB,OAAM;aACP;YACD,MAAM,CAAC,CAAA;SACR;IACH,CAAC;CAAA;AAbD,8BAaC;AAED,SAAsB,IAAI,CACxB,MAAc;;QAEd,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;QAChC,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACvB,CAAC;CAAA;AALD,oBAKC;AAED,WAAW;AAEX,SAAsB,oBAAoB;;QACxC,IAAI,MAAM,GAAG,MAAM,SAAS,CAAiB,kBAAU,CAAC,QAAQ,CAAC,CAAA;QAEjE,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,GAAG;gBACP,GAAG,EAAE,gBAAgB,CAAC,kBAAU,CAAC,QAAQ,CAAC;gBAC1C,IAAI,EAAE,kBAAU,CAAC,QAAQ;gBACzB,MAAM,EAAE,EAAE;aACX,CAAA;SACF;QAED,oBAAoB;QACpB,MAAM,CAAC,MAAM,CAAC,WAAW,GAAG,MAAM,cAAc,CAAC;YAC/C,WAAW,EAAE,IAAI;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,gBAAgB,GAAG,MAAM,IAAA,wBAAgB,EAAC;YACtD,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAA;QAEF,OAAO,MAAM,CAAA;IACf,CAAC;CAAA;AArBD,oDAqBC;AAED,SAAsB,iBAAiB;;QACrC,OAAO,CAAC,MAAM,oBAAoB,EAAE,CAAC,CAAC,MAAM,CAAA;IAC9C,CAAC;CAAA;AAFD,8CAEC;AAED,SAAsB,cAAc,CAClC,OAA+D;IAC7D,WAAW,EAAE,IAAI;CAClB;;;QAED,IAAI,WAAW,GAAG,qBAAG,CAAC,YAAY,IAAI,wBAAwB,CAAA;QAE9D,IAAI,CAAC,qBAAG,CAAC,WAAW,IAAI,qBAAG,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,EAAE;YAC7D,sEAAsE;YACtE,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;YACtC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;gBACvC,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,QAAQ,GAAG,CAAC,CAAA;aAC5D;SACF;aAAM,IAAI,qBAAG,CAAC,WAAW,EAAE;YAC1B,MAAM,MAAM,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM;gBACzB,CAAC,CAAC,IAAI,CAAC,MAAM;gBACb,CAAC,CAAC,wCAAwC;oBACxC,MAAA,CAAC,MAAM,SAAS,CAAiB,kBAAU,CAAC,QAAQ,CAAC,CAAC,0CAAE,MAAM,CAAA;YAClE,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,EAAE;gBACvB,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;aACjC;SACF;QAED,OAAO,WAAW,CAAA;;CACnB;AAxBD,wCAwBC;AAEM,MAAM,gBAAgB,GAAG,CAAO,IAEtC,EAAE,EAAE;IACH,8CAA8C;IAC9C,IAAI,CAAC,qBAAG,CAAC,WAAW,EAAE;QACpB,OAAO,CAAC,CAAC,qBAAG,CAAC,gBAAgB,CAAA;KAC9B;IAED,sCAAsC;IACtC,2CAA2C;IAC3C,MAAM,WAAW,GAAG,MAAM,IAAA,iBAAS,EACjC,gBAAQ,CAAC,iBAAiB,EAC1B,WAAG,CAAC,OAAO,EACX,GAAS,EAAE;;QACT,MAAM,MAAM,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM;YACzB,CAAC,CAAC,IAAI,CAAC,MAAM;YACb,CAAC,CAAC,wCAAwC;gBACxC,MAAA,CAAC,MAAM,SAAS,CAAiB,kBAAU,CAAC,QAAQ,CAAC,CAAC,0CAAE,MAAM,CAAA;QAElE,0DAA0D;QAC1D,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,MAAK,KAAK,EAAE;YACtC,OAAO,KAAK,CAAA;SACb;aAAM,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,MAAK,IAAI,EAAE;YAC5C,OAAO,IAAI,CAAA;SACZ;IACH,CAAC,CAAA,CACF,CAAA;IAED,IAAI,WAAW,KAAK,SAAS,EAAE;QAC7B,OAAO,WAAW,CAAA;KACnB;IAED,uCAAuC;IACvC,kFAAkF;IAClF,MAAM,UAAU,GAAQ,qBAAG,CAAC,gBAAgB,CAAA;IAC5C,IAAI,UAAU,KAAK,CAAC,IAAI,UAAU,KAAK,KAAK,EAAE;QAC5C,OAAO,KAAK,CAAA;KACb;SAAM;QACL,OAAO,IAAI,CAAA;KACZ;AACH,CAAC,CAAA,CAAA;AAxCY,QAAA,gBAAgB,oBAwC5B;AAED,SAAS;AAET,SAAe,kBAAkB;;QAC/B,OAAO,MAAM,SAAS,CAAe,kBAAU,CAAC,MAAM,CAAC,CAAA;IACzD,CAAC;CAAA;AAED,SAAsB,eAAe;;QAGnC,MAAM,MAAM,GAAG,MAAM,kBAAkB,EAAE,CAAA;QACzC,OAAO,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA;IACvB,CAAC;CAAA;AALD,0CAKC;AAED,SAAsB,yBAAyB;;QAG7C,IAAI,CAAC,qBAAG,CAAC,WAAW,EAAE;YACpB,mCAAmC;YACnC,OAAO,sBAAsB,EAAE,CAAA;SAChC;QAED,iCAAiC;QACjC,IAAI,MAAM,GAAG,MAAM,eAAe,EAAE,CAAA;QAEpC,uBAAuB;QACvB,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YAChC,MAAM,GAAG,sBAAsB,EAAE,CAAA;SAClC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CAAA;AAjBD,8DAiBC;AAED,SAAgB,sBAAsB;IACpC,IAAI,qBAAW,CAAC,gBAAgB,IAAI,qBAAW,CAAC,oBAAoB,EAAE;QACpE,OAAO;YACL,QAAQ,EAAE,qBAAW,CAAC,gBAAiB;YACvC,YAAY,EAAE,qBAAW,CAAC,oBAAqB;YAC/C,SAAS,EAAE,IAAI;SAChB,CAAA;KACF;AACH,CAAC;AARD,wDAQC;AAED,OAAO;AAEP,SAAsB,eAAe;;QACnC,OAAO,SAAS,CAAkB,kBAAU,CAAC,UAAU,CAAC,CAAA;IAC1D,CAAC;CAAA;AAFD,0CAEC;AAED,SAAe,gBAAgB;;QAC7B,OAAO,SAAS,CAAa,kBAAU,CAAC,IAAI,CAAC,CAAA;IAC/C,CAAC;CAAA;AAED,SAAsB,aAAa;;;QACjC,MAAM,MAAM,GAAG,MAAA,CAAC,MAAM,gBAAgB,EAAE,CAAC,0CAAE,MAAM,CAAA;QACjD,4BAA4B;QAC5B,OAAO,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,KAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;;CAC5C;AAJD,sCAIC;AAED;;GAEG;AACH,SAAsB,iBAAiB,CACrC,QAAgB;;;QAEhB,MAAM,MAAM,GAAG,MAAA,CAAC,MAAM,SAAS,CAAa,kBAAU,CAAC,IAAI,CAAC,CAAC,0CAAE,MAAM,CAAA;QACrE,OAAO,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;;CAC3E;AALD,8CAKC;AAED,OAAO;AAEP,SAAsB,gBAAgB;;QACpC,OAAO,SAAS,CAAa,kBAAU,CAAC,IAAI,CAAC,CAAA;IAC/C,CAAC;CAAA;AAFD,4CAEC;AAED,SAAsB,aAAa,CACjC,YAAsB;;QAEtB,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAA;QACvC,IAAI,MAAM,EAAE;YACV,OAAO,MAAM,CAAC,MAAM,CAAA;SACrB;QAED,qCAAqC;QACrC,uCAAuC;QACvC,MAAM,aAAa,GAAG,qBAAG,CAAC,WAAW,IAAI,CAAC,YAAY,CAAA;QAEtD,wDAAwD;QACxD,IAAI,qBAAG,CAAC,qBAAqB,IAAI,aAAa,EAAE;YAC9C,OAAO;gBACL,IAAI,EAAE,qBAAG,CAAC,SAAS;gBACnB,IAAI,EAAE,qBAAG,CAAC,SAAU;gBACpB,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,qBAAG,CAAC,iBAAkB;gBAC5B,IAAI,EAAE;oBACJ,IAAI,EAAE,qBAAG,CAAC,SAAU;oBACpB,IAAI,EAAE,qBAAG,CAAC,aAAc;iBACzB;aACF,CAAA;SACF;IACH,CAAC;CAAA;AAzBD,sCAyBC;AAED,OAAO;AAEP,SAAsB,aAAa;;QACjC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAa,kBAAU,CAAC,IAAI,CAAC,CAAA;QAC3D,OAAO,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA;IACvB,CAAC;CAAA;AAHD,sCAGC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { App } from "@budibase/types";
|
|
2
2
|
declare function servedBuilder(timezone: string): Promise<void>;
|
|
3
|
-
declare function servedApp(app: App, timezone: string
|
|
3
|
+
declare function servedApp(app: App, timezone: string): Promise<void>;
|
|
4
4
|
declare function servedAppPreview(app: App, timezone: string): Promise<void>;
|
|
5
5
|
declare const _default: {
|
|
6
6
|
servedBuilder: typeof servedBuilder;
|
|
@@ -19,12 +19,11 @@ function servedBuilder(timezone) {
|
|
|
19
19
|
yield (0, events_1.publishEvent)(types_1.Event.SERVED_BUILDER, properties);
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
|
-
function servedApp(app, timezone
|
|
22
|
+
function servedApp(app, timezone) {
|
|
23
23
|
return __awaiter(this, void 0, void 0, function* () {
|
|
24
24
|
const properties = {
|
|
25
25
|
appVersion: app.version,
|
|
26
26
|
timezone,
|
|
27
|
-
embed: embed === true,
|
|
28
27
|
};
|
|
29
28
|
yield (0, events_1.publishEvent)(types_1.Event.SERVED_APP, properties);
|
|
30
29
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../../src/events/publishers/serve.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,sCAAwC;AACxC,2CAMwB;AAExB,SAAe,aAAa,CAAC,QAAgB;;QAC3C,MAAM,UAAU,GAAuB;YACrC,QAAQ;SACT,CAAA;QACD,MAAM,IAAA,qBAAY,EAAC,aAAK,CAAC,cAAc,EAAE,UAAU,CAAC,CAAA;IACtD,CAAC;CAAA;AAED,SAAe,SAAS,
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../../src/events/publishers/serve.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,sCAAwC;AACxC,2CAMwB;AAExB,SAAe,aAAa,CAAC,QAAgB;;QAC3C,MAAM,UAAU,GAAuB;YACrC,QAAQ;SACT,CAAA;QACD,MAAM,IAAA,qBAAY,EAAC,aAAK,CAAC,cAAc,EAAE,UAAU,CAAC,CAAA;IACtD,CAAC;CAAA;AAED,SAAe,SAAS,CAAC,GAAQ,EAAE,QAAgB;;QACjD,MAAM,UAAU,GAAmB;YACjC,UAAU,EAAE,GAAG,CAAC,OAAO;YACvB,QAAQ;SACT,CAAA;QACD,MAAM,IAAA,qBAAY,EAAC,aAAK,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IAClD,CAAC;CAAA;AAED,SAAe,gBAAgB,CAAC,GAAQ,EAAE,QAAgB;;QACxD,MAAM,UAAU,GAA0B;YACxC,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,UAAU,EAAE,GAAG,CAAC,OAAO;YACvB,QAAQ;SACT,CAAA;QACD,MAAM,IAAA,qBAAY,EAAC,aAAK,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAA;IAC1D,CAAC;CAAA;AAED,kBAAe;IACb,aAAa;IACb,SAAS;IACT,gBAAgB;CACjB,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BBContext } from "@budibase/types";
|
|
2
2
|
declare type Passport = {
|
|
3
3
|
authenticate: any;
|
|
4
4
|
};
|
|
5
|
-
export declare function preAuth(passport: Passport, ctx:
|
|
6
|
-
export declare function postAuth(passport: Passport, ctx:
|
|
5
|
+
export declare function preAuth(passport: Passport, ctx: BBContext, next: Function): Promise<any>;
|
|
6
|
+
export declare function postAuth(passport: Passport, ctx: BBContext, next: Function): Promise<any>;
|
|
7
7
|
export {};
|
|
@@ -35,9 +35,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
35
35
|
exports.postAuth = exports.preAuth = void 0;
|
|
36
36
|
const google = __importStar(require("../sso/google"));
|
|
37
37
|
const constants_1 = require("../../../constants");
|
|
38
|
+
const utils_1 = require("../../../utils");
|
|
39
|
+
const db_1 = require("../../../db");
|
|
38
40
|
const configs = __importStar(require("../../../configs"));
|
|
39
|
-
const cache = __importStar(require("../../../cache"));
|
|
40
|
-
const utils = __importStar(require("../../../utils"));
|
|
41
41
|
const sso_1 = require("../sso/sso");
|
|
42
42
|
const GoogleStrategy = require("passport-google-oauth").OAuth2Strategy;
|
|
43
43
|
function fetchGoogleCreds() {
|
|
@@ -56,8 +56,8 @@ function preAuth(passport, ctx, next) {
|
|
|
56
56
|
const platformUrl = yield configs.getPlatformUrl({ tenantAware: false });
|
|
57
57
|
let callbackUrl = `${platformUrl}/api/global/auth/datasource/google/callback`;
|
|
58
58
|
const strategy = yield google.strategyFactory(googleConfig, callbackUrl, sso_1.ssoSaveUserNoOp);
|
|
59
|
-
if (!ctx.query.appId) {
|
|
60
|
-
ctx.throw(400, "appId query
|
|
59
|
+
if (!ctx.query.appId || !ctx.query.datasourceId) {
|
|
60
|
+
ctx.throw(400, "appId and datasourceId query params not present.");
|
|
61
61
|
}
|
|
62
62
|
return passport.authenticate(strategy, {
|
|
63
63
|
scope: ["profile", "email", "https://www.googleapis.com/auth/spreadsheets"],
|
|
@@ -73,21 +73,34 @@ function postAuth(passport, ctx, next) {
|
|
|
73
73
|
const config = yield fetchGoogleCreds();
|
|
74
74
|
const platformUrl = yield configs.getPlatformUrl({ tenantAware: false });
|
|
75
75
|
let callbackUrl = `${platformUrl}/api/global/auth/datasource/google/callback`;
|
|
76
|
-
const authStateCookie =
|
|
76
|
+
const authStateCookie = (0, utils_1.getCookie)(ctx, constants_1.Cookie.DatasourceAuth);
|
|
77
77
|
return passport.authenticate(new GoogleStrategy({
|
|
78
78
|
clientID: config.clientID,
|
|
79
79
|
clientSecret: config.clientSecret,
|
|
80
80
|
callbackURL: callbackUrl,
|
|
81
|
-
}, (accessToken, refreshToken,
|
|
82
|
-
|
|
81
|
+
}, (accessToken, refreshToken, profile, done) => {
|
|
82
|
+
(0, utils_1.clearCookie)(ctx, constants_1.Cookie.DatasourceAuth);
|
|
83
83
|
done(null, { accessToken, refreshToken });
|
|
84
84
|
}), { successRedirect: "/", failureRedirect: "/error" }, (err, tokens) => __awaiter(this, void 0, void 0, function* () {
|
|
85
85
|
const baseUrl = `/builder/app/${authStateCookie.appId}/data`;
|
|
86
|
-
|
|
87
|
-
yield
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
86
|
+
// update the DB for the datasource with all the user info
|
|
87
|
+
yield (0, db_1.doWithDB)(authStateCookie.appId, (db) => __awaiter(this, void 0, void 0, function* () {
|
|
88
|
+
let datasource;
|
|
89
|
+
try {
|
|
90
|
+
datasource = yield db.get(authStateCookie.datasourceId);
|
|
91
|
+
}
|
|
92
|
+
catch (err) {
|
|
93
|
+
if (err.status === 404) {
|
|
94
|
+
ctx.redirect(baseUrl);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
if (!datasource.config) {
|
|
98
|
+
datasource.config = {};
|
|
99
|
+
}
|
|
100
|
+
datasource.config.auth = Object.assign({ type: "google" }, tokens);
|
|
101
|
+
yield db.put(datasource);
|
|
102
|
+
ctx.redirect(`${baseUrl}/datasource/${authStateCookie.datasourceId}`);
|
|
103
|
+
}));
|
|
91
104
|
}))(ctx, next);
|
|
92
105
|
});
|
|
93
106
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google.js","sourceRoot":"","sources":["../../../../../src/middleware/passport/datasource/google.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAuC;AACvC,kDAA2C;AAC3C,
|
|
1
|
+
{"version":3,"file":"google.js","sourceRoot":"","sources":["../../../../../src/middleware/passport/datasource/google.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,11 +5,3 @@ export declare enum SecretOption {
|
|
|
5
5
|
export declare function getSecret(secretOption: SecretOption): string;
|
|
6
6
|
export declare function encrypt(input: string, secretOption?: SecretOption): string;
|
|
7
7
|
export declare function decrypt(input: string, secretOption?: SecretOption): string;
|
|
8
|
-
export declare function encryptFile({ dir, filename }: {
|
|
9
|
-
dir: string;
|
|
10
|
-
filename: string;
|
|
11
|
-
}, secret: string): Promise<{
|
|
12
|
-
filename: string;
|
|
13
|
-
dir: string;
|
|
14
|
-
}>;
|
|
15
|
-
export declare function decryptFile(inputPath: string, outputPath: string, secret: string): Promise<void>;
|
|
@@ -1,29 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
14
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.
|
|
6
|
+
exports.decrypt = exports.encrypt = exports.getSecret = exports.SecretOption = void 0;
|
|
16
7
|
const crypto_1 = __importDefault(require("crypto"));
|
|
17
|
-
const fs_1 = __importDefault(require("fs"));
|
|
18
|
-
const zlib_1 = __importDefault(require("zlib"));
|
|
19
8
|
const environment_1 = __importDefault(require("../environment"));
|
|
20
|
-
const path_1 = require("path");
|
|
21
9
|
const ALGO = "aes-256-ctr";
|
|
22
10
|
const SEPARATOR = "-";
|
|
23
11
|
const ITERATIONS = 10000;
|
|
12
|
+
const RANDOM_BYTES = 16;
|
|
24
13
|
const STRETCH_LENGTH = 32;
|
|
25
|
-
const SALT_LENGTH = 16;
|
|
26
|
-
const IV_LENGTH = 16;
|
|
27
14
|
var SecretOption;
|
|
28
15
|
(function (SecretOption) {
|
|
29
16
|
SecretOption["API"] = "api";
|
|
@@ -48,11 +35,11 @@ function getSecret(secretOption) {
|
|
|
48
35
|
return secret;
|
|
49
36
|
}
|
|
50
37
|
exports.getSecret = getSecret;
|
|
51
|
-
function stretchString(
|
|
52
|
-
return crypto_1.default.pbkdf2Sync(
|
|
38
|
+
function stretchString(string, salt) {
|
|
39
|
+
return crypto_1.default.pbkdf2Sync(string, salt, ITERATIONS, STRETCH_LENGTH, "sha512");
|
|
53
40
|
}
|
|
54
41
|
function encrypt(input, secretOption = SecretOption.API) {
|
|
55
|
-
const salt = crypto_1.default.randomBytes(
|
|
42
|
+
const salt = crypto_1.default.randomBytes(RANDOM_BYTES);
|
|
56
43
|
const stretched = stretchString(getSecret(secretOption), salt);
|
|
57
44
|
const cipher = crypto_1.default.createCipheriv(ALGO, stretched, salt);
|
|
58
45
|
const base = cipher.update(input);
|
|
@@ -71,93 +58,4 @@ function decrypt(input, secretOption = SecretOption.API) {
|
|
|
71
58
|
return Buffer.concat([base, final]).toString();
|
|
72
59
|
}
|
|
73
60
|
exports.decrypt = decrypt;
|
|
74
|
-
function encryptFile({ dir, filename }, secret) {
|
|
75
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
-
const outputFileName = `${filename}.enc`;
|
|
77
|
-
const filePath = (0, path_1.join)(dir, filename);
|
|
78
|
-
const inputFile = fs_1.default.createReadStream(filePath);
|
|
79
|
-
const outputFile = fs_1.default.createWriteStream((0, path_1.join)(dir, outputFileName));
|
|
80
|
-
const salt = crypto_1.default.randomBytes(SALT_LENGTH);
|
|
81
|
-
const iv = crypto_1.default.randomBytes(IV_LENGTH);
|
|
82
|
-
const stretched = stretchString(secret, salt);
|
|
83
|
-
const cipher = crypto_1.default.createCipheriv(ALGO, stretched, iv);
|
|
84
|
-
outputFile.write(salt);
|
|
85
|
-
outputFile.write(iv);
|
|
86
|
-
inputFile.pipe(zlib_1.default.createGzip()).pipe(cipher).pipe(outputFile);
|
|
87
|
-
return new Promise(r => {
|
|
88
|
-
outputFile.on("finish", () => {
|
|
89
|
-
r({
|
|
90
|
-
filename: outputFileName,
|
|
91
|
-
dir,
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
exports.encryptFile = encryptFile;
|
|
98
|
-
function getSaltAndIV(path) {
|
|
99
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
100
|
-
const fileStream = fs_1.default.createReadStream(path);
|
|
101
|
-
const salt = yield readBytes(fileStream, SALT_LENGTH);
|
|
102
|
-
const iv = yield readBytes(fileStream, IV_LENGTH);
|
|
103
|
-
fileStream.close();
|
|
104
|
-
return { salt, iv };
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
function decryptFile(inputPath, outputPath, secret) {
|
|
108
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
109
|
-
const { salt, iv } = yield getSaltAndIV(inputPath);
|
|
110
|
-
const inputFile = fs_1.default.createReadStream(inputPath, {
|
|
111
|
-
start: SALT_LENGTH + IV_LENGTH,
|
|
112
|
-
});
|
|
113
|
-
const outputFile = fs_1.default.createWriteStream(outputPath);
|
|
114
|
-
const stretched = stretchString(secret, salt);
|
|
115
|
-
const decipher = crypto_1.default.createDecipheriv(ALGO, stretched, iv);
|
|
116
|
-
const unzip = zlib_1.default.createGunzip();
|
|
117
|
-
inputFile.pipe(decipher).pipe(unzip).pipe(outputFile);
|
|
118
|
-
return new Promise((res, rej) => {
|
|
119
|
-
outputFile.on("finish", () => {
|
|
120
|
-
outputFile.close();
|
|
121
|
-
res();
|
|
122
|
-
});
|
|
123
|
-
inputFile.on("error", e => {
|
|
124
|
-
outputFile.close();
|
|
125
|
-
rej(e);
|
|
126
|
-
});
|
|
127
|
-
decipher.on("error", e => {
|
|
128
|
-
outputFile.close();
|
|
129
|
-
rej(e);
|
|
130
|
-
});
|
|
131
|
-
unzip.on("error", e => {
|
|
132
|
-
outputFile.close();
|
|
133
|
-
rej(e);
|
|
134
|
-
});
|
|
135
|
-
outputFile.on("error", e => {
|
|
136
|
-
outputFile.close();
|
|
137
|
-
rej(e);
|
|
138
|
-
});
|
|
139
|
-
});
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
exports.decryptFile = decryptFile;
|
|
143
|
-
function readBytes(stream, length) {
|
|
144
|
-
return new Promise((resolve, reject) => {
|
|
145
|
-
let bytesRead = 0;
|
|
146
|
-
const data = [];
|
|
147
|
-
stream.on("readable", () => {
|
|
148
|
-
let chunk;
|
|
149
|
-
while ((chunk = stream.read(length - bytesRead)) !== null) {
|
|
150
|
-
data.push(chunk);
|
|
151
|
-
bytesRead += chunk.length;
|
|
152
|
-
}
|
|
153
|
-
resolve(Buffer.concat(data));
|
|
154
|
-
});
|
|
155
|
-
stream.on("end", () => {
|
|
156
|
-
reject(new Error("Insufficient data in the stream."));
|
|
157
|
-
});
|
|
158
|
-
stream.on("error", error => {
|
|
159
|
-
reject(error);
|
|
160
|
-
});
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
61
|
//# sourceMappingURL=encryption.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../../src/security/encryption.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../../src/security/encryption.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,12 +37,9 @@ export declare function lowerBuiltinRoleID(roleId1?: string, roleId2?: string):
|
|
|
37
37
|
* Gets the role object, this is mainly useful for two purposes, to check if the level exists and
|
|
38
38
|
* to check if the role inherits any others.
|
|
39
39
|
* @param {string|null} roleId The level ID to lookup.
|
|
40
|
-
* @param {object|null} opts options for the function, like whether to halt errors, instead return public.
|
|
41
40
|
* @returns {Promise<Role|object|null>} The role object, which may contain an "inherits" property.
|
|
42
41
|
*/
|
|
43
|
-
export declare function getRole(roleId?: string
|
|
44
|
-
defaultPublic?: boolean;
|
|
45
|
-
}): Promise<RoleDoc | undefined>;
|
|
42
|
+
export declare function getRole(roleId?: string): Promise<RoleDoc | undefined>;
|
|
46
43
|
/**
|
|
47
44
|
* Returns an ordered array of the user's inherited role IDs, this can be used
|
|
48
45
|
* to determine if a user can access something that requires a specific role.
|
|
@@ -119,10 +119,9 @@ exports.lowerBuiltinRoleID = lowerBuiltinRoleID;
|
|
|
119
119
|
* Gets the role object, this is mainly useful for two purposes, to check if the level exists and
|
|
120
120
|
* to check if the role inherits any others.
|
|
121
121
|
* @param {string|null} roleId The level ID to lookup.
|
|
122
|
-
* @param {object|null} opts options for the function, like whether to halt errors, instead return public.
|
|
123
122
|
* @returns {Promise<Role|object|null>} The role object, which may contain an "inherits" property.
|
|
124
123
|
*/
|
|
125
|
-
function getRole(roleId
|
|
124
|
+
function getRole(roleId) {
|
|
126
125
|
return __awaiter(this, void 0, void 0, function* () {
|
|
127
126
|
if (!roleId) {
|
|
128
127
|
return undefined;
|
|
@@ -141,9 +140,6 @@ function getRole(roleId, opts) {
|
|
|
141
140
|
role._id = getExternalRoleID(role._id);
|
|
142
141
|
}
|
|
143
142
|
catch (err) {
|
|
144
|
-
if (!isBuiltin(roleId) && (opts === null || opts === void 0 ? void 0 : opts.defaultPublic)) {
|
|
145
|
-
return cloneDeep(BUILTIN_ROLES.PUBLIC);
|
|
146
|
-
}
|
|
147
143
|
// only throw an error if there is no role at all
|
|
148
144
|
if (Object.keys(role).length === 0) {
|
|
149
145
|
throw err;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../src/security/roles.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAoE;AACpE,8BAA8E;AAC9E,wCAAqC;AACrC,8BAAgC;AAEhC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;AAE7B,QAAA,gBAAgB,GAAG;IAC9B,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACjB,CAAA;AAED,MAAM,WAAW,mCACZ,wBAAgB,KACnB,OAAO,EAAE,SAAS,GACnB,CAAA;AAED,sCAAsC;AACtC,MAAM,yBAAyB,GAAG;IAChC,WAAW,CAAC,KAAK;IACjB,WAAW,CAAC,KAAK;IACjB,WAAW,CAAC,KAAK;IACjB,WAAW,CAAC,MAAM;CACnB,CAAA;AAED,MAAa,IAAI;IAQf,YAAY,EAAU,EAAE,IAAY,EAAE,YAAoB;QAF1D,gBAAW,GAAG,EAAE,CAAA;QAGd,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAED,cAAc,CAAC,QAAgB;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAlBD,oBAkBC;AAED,MAAM,aAAa,GAAG;IACpB,KAAK,EAAE,IAAI,IAAI,CACb,WAAW,CAAC,KAAK,EACjB,OAAO,EACP,iCAAmB,CAAC,KAAK,CAC1B,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC;IACnC,KAAK,EAAE,IAAI,IAAI,CACb,WAAW,CAAC,KAAK,EACjB,OAAO,EACP,iCAAmB,CAAC,KAAK,CAC1B,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC;IACnC,KAAK,EAAE,IAAI,IAAI,CACb,WAAW,CAAC,KAAK,EACjB,OAAO,EACP,iCAAmB,CAAC,KAAK,CAC1B,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC;IACpC,MAAM,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,iCAAmB,CAAC,MAAM,CAAC;IAC1E,OAAO,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,iCAAmB,CAAC,KAAK,CAAC;CAC7E,CAAA;AAED,SAAgB,eAAe;IAC7B,OAAO,SAAS,CAAC,aAAa,CAAC,CAAA;AACjC,CAAC;AAFD,0CAEC;AAEY,QAAA,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CACnE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CACjB,CAAA;AAEY,QAAA,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CACrE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAClB,CAAA;AAED,SAAgB,SAAS,CAAC,IAAa;IACrC,OAAO,6BAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;AACvE,CAAC;AAFD,8BAEC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,EAAW;IAC7C,IAAI,CAAC,EAAE,EAAE;QACP,OAAO,CAAC,CAAA;KACT;IACD,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAA;IAClC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IAC9C,IAAI,EAAE,KAAK,WAAW,CAAC,KAAK,IAAI,EAAE,KAAK,WAAW,CAAC,OAAO,EAAE;QAC1D,OAAO,GAAG,CAAA;KACX;IACD,IAAI,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC,EACrB,KAAK,GAAG,CAAC,CAAA;IACX,GAAG;QACD,IAAI,CAAC,IAAI,EAAE;YACT,MAAK;SACN;QACD,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAS,CAAC,CAAA;QAC/B,KAAK,EAAE,CAAA;KACR,QAAQ,IAAI,KAAK,IAAI,EAAC;IACvB,OAAO,KAAK,CAAA;AACd,CAAC;AAnBD,kDAmBC;AAED;;GAEG;AACH,SAAsB,YAAY,CAAC,EAAW;;QAC5C,IAAI,SAAS,CAAC,EAAE,CAAC,EAAE;YACjB,OAAO,mBAAmB,CAAC,EAAE,CAAC,CAAA;SAC/B;QACD,MAAM,SAAS,GAAG,CAAC,MAAM,oBAAoB,CAAC,EAAE,CAAC,CAAc,CAAA;QAC/D,KAAK,IAAI,IAAI,IAAI,SAAS,EAAE;YAC1B,IAAI,SAAS,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,EAAE;gBAC7B,OAAO,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;aAC9C;SACF;QACD,OAAO,CAAC,CAAA;IACV,CAAC;CAAA;AAXD,oCAWC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,OAAgB,EAAE,OAAgB;IACnE,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,OAAiB,CAAA;KACzB;IACD,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,OAAiB,CAAA;KACzB;IACD,OAAO,mBAAmB,CAAC,OAAO,CAAC,GAAG,mBAAmB,CAAC,OAAO,CAAC;QAChE,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,OAAO,CAAA;AACb,CAAC;AAVD,gDAUC;AAED
|
|
1
|
+
{"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../src/security/roles.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAoE;AACpE,8BAA8E;AAC9E,wCAAqC;AACrC,8BAAgC;AAEhC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;AAE7B,QAAA,gBAAgB,GAAG;IAC9B,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACjB,CAAA;AAED,MAAM,WAAW,mCACZ,wBAAgB,KACnB,OAAO,EAAE,SAAS,GACnB,CAAA;AAED,sCAAsC;AACtC,MAAM,yBAAyB,GAAG;IAChC,WAAW,CAAC,KAAK;IACjB,WAAW,CAAC,KAAK;IACjB,WAAW,CAAC,KAAK;IACjB,WAAW,CAAC,MAAM;CACnB,CAAA;AAED,MAAa,IAAI;IAQf,YAAY,EAAU,EAAE,IAAY,EAAE,YAAoB;QAF1D,gBAAW,GAAG,EAAE,CAAA;QAGd,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAED,cAAc,CAAC,QAAgB;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAlBD,oBAkBC;AAED,MAAM,aAAa,GAAG;IACpB,KAAK,EAAE,IAAI,IAAI,CACb,WAAW,CAAC,KAAK,EACjB,OAAO,EACP,iCAAmB,CAAC,KAAK,CAC1B,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC;IACnC,KAAK,EAAE,IAAI,IAAI,CACb,WAAW,CAAC,KAAK,EACjB,OAAO,EACP,iCAAmB,CAAC,KAAK,CAC1B,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC;IACnC,KAAK,EAAE,IAAI,IAAI,CACb,WAAW,CAAC,KAAK,EACjB,OAAO,EACP,iCAAmB,CAAC,KAAK,CAC1B,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC;IACpC,MAAM,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,iCAAmB,CAAC,MAAM,CAAC;IAC1E,OAAO,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,iCAAmB,CAAC,KAAK,CAAC;CAC7E,CAAA;AAED,SAAgB,eAAe;IAC7B,OAAO,SAAS,CAAC,aAAa,CAAC,CAAA;AACjC,CAAC;AAFD,0CAEC;AAEY,QAAA,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CACnE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CACjB,CAAA;AAEY,QAAA,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CACrE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAClB,CAAA;AAED,SAAgB,SAAS,CAAC,IAAa;IACrC,OAAO,6BAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;AACvE,CAAC;AAFD,8BAEC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,EAAW;IAC7C,IAAI,CAAC,EAAE,EAAE;QACP,OAAO,CAAC,CAAA;KACT;IACD,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAA;IAClC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IAC9C,IAAI,EAAE,KAAK,WAAW,CAAC,KAAK,IAAI,EAAE,KAAK,WAAW,CAAC,OAAO,EAAE;QAC1D,OAAO,GAAG,CAAA;KACX;IACD,IAAI,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC,EACrB,KAAK,GAAG,CAAC,CAAA;IACX,GAAG;QACD,IAAI,CAAC,IAAI,EAAE;YACT,MAAK;SACN;QACD,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAS,CAAC,CAAA;QAC/B,KAAK,EAAE,CAAA;KACR,QAAQ,IAAI,KAAK,IAAI,EAAC;IACvB,OAAO,KAAK,CAAA;AACd,CAAC;AAnBD,kDAmBC;AAED;;GAEG;AACH,SAAsB,YAAY,CAAC,EAAW;;QAC5C,IAAI,SAAS,CAAC,EAAE,CAAC,EAAE;YACjB,OAAO,mBAAmB,CAAC,EAAE,CAAC,CAAA;SAC/B;QACD,MAAM,SAAS,GAAG,CAAC,MAAM,oBAAoB,CAAC,EAAE,CAAC,CAAc,CAAA;QAC/D,KAAK,IAAI,IAAI,IAAI,SAAS,EAAE;YAC1B,IAAI,SAAS,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,EAAE;gBAC7B,OAAO,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;aAC9C;SACF;QACD,OAAO,CAAC,CAAA;IACV,CAAC;CAAA;AAXD,oCAWC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,OAAgB,EAAE,OAAgB;IACnE,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,OAAiB,CAAA;KACzB;IACD,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,OAAiB,CAAA;KACzB;IACD,OAAO,mBAAmB,CAAC,OAAO,CAAC,GAAG,mBAAmB,CAAC,OAAO,CAAC;QAChE,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,OAAO,CAAA;AACb,CAAC;AAVD,gDAUC;AAED;;;;;GAKG;AACH,SAAsB,OAAO,CAAC,MAAe;;QAC3C,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,SAAS,CAAA;SACjB;QACD,IAAI,IAAI,GAAQ,EAAE,CAAA;QAClB,8DAA8D;QAC9D,oEAAoE;QACpE,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE;YACrB,IAAI,GAAG,SAAS,CACd,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC,CAC/D,CAAA;SACF;QACD,IAAI;YACF,MAAM,EAAE,GAAG,IAAA,kBAAQ,GAAE,CAAA;YACrB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAA;YAChD,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAClC,kBAAkB;YAClB,IAAI,CAAC,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SACvC;QAAC,OAAO,GAAG,EAAE;YACZ,iDAAiD;YACjD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClC,MAAM,GAAG,CAAA;aACV;SACF;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CAAA;AAzBD,0BAyBC;AAED;;GAEG;AACH,SAAe,eAAe,CAAC,UAAmB;;QAChD,kCAAkC;QAClC,IAAI,UAAU,KAAK,WAAW,CAAC,KAAK,EAAE;YACpC,OAAO,WAAW,EAAE,CAAA;SACrB;QACD,IAAI,WAAW,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAA;QAC3C,IAAI,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAC5C,IAAI,OAAO,GAAG,CAAC,UAAU,CAAC,CAAA;QAC1B,8BAA8B;QAC9B,OACE,WAAW;YACX,WAAW,CAAC,QAAQ;YACpB,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAC5C;YACA,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;YAClC,WAAW,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;YACjD,IAAI,WAAW,EAAE;gBACf,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;aACxB;SACF;QACD,OAAO,KAAK,CAAA;IACd,CAAC;CAAA;AAED;;;;;;;GAOG;AACH,SAAsB,oBAAoB,CACxC,UAAmB,EACnB,IAAI,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;;QAEvB,sEAAsE;QACtE,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAA;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAC1D,CAAC;CAAA;AAPD,oDAOC;AAED,4EAA4E;AAC5E,gFAAgF;AAChF,iFAAiF;AACjF,SAAgB,yBAAyB,CACvC,SAAsC,EACtC,UAAkB;IAElB,IAAI,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE;QACtD,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAQ,CAAA;QAC9C,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACnC,IAAI,SAAS,KAAK,6BAAe,CAAC,KAAK,EAAE;YACvC,SAAS,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,6BAAe,CAAC,IAAI,CAAC,CAAA;SACjD;KACF;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAZD,8DAYC;AAED;;;GAGG;AACH,SAAsB,WAAW,CAAC,KAAc;;QAC9C,IAAI,KAAK,EAAE;YACT,OAAO,IAAA,aAAQ,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;SACjC;aAAM;YACL,IAAI,KAAK,CAAA;YACT,IAAI;gBACF,KAAK,GAAG,IAAA,kBAAQ,GAAE,CAAA;aACnB;YAAC,OAAO,KAAK,EAAE;gBACd,+DAA+D;aAChE;YACD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAA;SACvB;QACD,SAAe,QAAQ,CAAC,EAAO;;gBAC7B,IAAI,KAAK,GAAc,EAAE,CAAA;gBACzB,IAAI,EAAE,EAAE;oBACN,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,OAAO,CAC3B,IAAA,kBAAa,EAAC,IAAI,EAAE;wBAClB,YAAY,EAAE,IAAI;qBACnB,CAAC,CACH,CAAA;oBACD,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;iBAC7C;gBACD,MAAM,YAAY,GAAG,eAAe,EAAE,CAAA;gBAEtC,+EAA+E;gBAC/E,KAAK,IAAI,aAAa,IAAI,yBAAyB,EAAE;oBACnD,MAAM,WAAW,GAAG,YAAY,CAAC,aAAa,CAAC,CAAA;oBAC/C,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAC5B,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,aAAa,CAC1D,CAAC,CAAC,CAAC,CAAA;oBACJ,IAAI,SAAS,IAAI,IAAI,EAAE;wBACrB,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,YAAY,CAAC,KAAK,CAAC,CAAA;qBAC9C;yBAAM;wBACL,4DAA4D;wBAC5D,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC,CAAA;wBACxD,SAAS,CAAC,GAAG,GAAG,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;wBAChD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAA;qBAClD;iBACF;gBACD,oBAAoB;gBACpB,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;oBACtB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;wBACrB,SAAQ;qBACT;oBACD,KAAK,IAAI,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;wBACpD,IAAI,CAAC,WAAW,GAAG,yBAAyB,CAC1C,IAAI,CAAC,WAAW,EAChB,UAAU,CACX,CAAA;qBACF;iBACF;gBACD,OAAO,KAAK,CAAA;YACd,CAAC;SAAA;IACH,CAAC;CAAA;AArDD,kCAqDC;AAED;;;;;;GAMG;AACH,SAAsB,uBAAuB,CAC3C,SAAiB,EACjB,EAAE,UAAU,EAAE,aAAa,EAAmD;;QAE9E,MAAM,KAAK,GAAG,MAAM,WAAW,EAAE,CAAA;QACjC,IAAI,IAAI,GAAG,EAAE,EACX,GAAG,GAAG,EAAE,CAAA;QACV,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;YACtB,4BAA4B;YAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,SAAQ;aACT;YACD,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YACrE,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YAC1E,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;gBAChD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;aACpB;iBAAM,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;gBACrD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;aACnB;SACF;QACD,8BAA8B;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACzB,CAAC;CAAA;AAtBD,0DAsBC;AAED,MAAa,gBAAgB;IAE3B;QACE,IAAI,CAAC,eAAe,GAAG,EAAE,CAAA;IAC3B,CAAC;IAEK,SAAS,CAAC,YAAqB,EAAE,UAAmB;;YACxD,4EAA4E;YAC5E,8BAA8B;YAC9B,IACE,YAAY,IAAI,IAAI;gBACpB,YAAY,KAAK,EAAE;gBACnB,YAAY,KAAK,UAAU;gBAC3B,YAAY,KAAK,WAAW,CAAC,OAAO;gBACpC,UAAU,KAAK,WAAW,CAAC,OAAO,EAClC;gBACA,OAAO,IAAI,CAAA;aACZ;YACD,IAAI,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YAClE,IAAI,CAAC,OAAO,IAAI,UAAU,EAAE;gBAC1B,OAAO,GAAG,CAAC,MAAM,oBAAoB,CAAC,UAAU,EAAE;oBAChD,MAAM,EAAE,IAAI;iBACb,CAAC,CAAa,CAAA;gBACf,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,OAAO,CAAA;aAC3C;YAED,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,YAAY,CAAC,MAAK,CAAC,CAAC,CAAA;QAC9C,CAAC;KAAA;IAEK,kBAAkB,CAAC,OAAiB,EAAE,UAAkB;;YAC5D,IAAI,iBAAiB,GAAG,EAAE,CAAA;YAC1B,0FAA0F;YAC1F,wFAAwF;YACxF,uCAAuC;YACvC,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE;gBAC1B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;gBACnE,IAAI,UAAU,EAAE;oBACd,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;iBACnC;aACF;YACD,OAAO,iBAAiB,CAAA;QAC1B,CAAC;KAAA;IAEK,iBAAiB,CAAC,MAAc,EAAE,UAAkB;;YACxD,MAAM,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;YAC3E,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE;gBAC5C,OAAO,MAAM,CAAA;aACd;YACD,OAAO,IAAI,CAAA;QACb,CAAC;KAAA;CACF;AAlDD,4CAkDC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,MAAe;IACzC,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,CAAC,iBAAY,CAAC,IAAI,CAAC,EAAE;QACzC,OAAO,MAAM,CAAA;KACd;IACD,OAAO,IAAA,mBAAc,EAAC,MAAM,CAAC,CAAA;AAC/B,CAAC;AALD,kCAKC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,MAAe;IAC/C,sEAAsE;IACtE,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,CAAC,iBAAY,CAAC,IAAI,CAAC,KAAI,SAAS,CAAC,MAAM,CAAC,EAAE;QAC9D,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,iBAAY,CAAC,IAAI,GAAG,cAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KAC3D;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAND,8CAMC"}
|