sfdx-browserforce-plugin 2.6.2 → 2.8.0
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/lib/{browserforceCommand.d.ts → browserforce-command.d.ts} +4 -4
- package/lib/{browserforceCommand.js → browserforce-command.js} +15 -5
- package/lib/browserforce-command.js.map +1 -0
- package/lib/browserforce.d.ts +17 -9
- package/lib/browserforce.js +7 -4
- package/lib/browserforce.js.map +1 -1
- package/lib/commands/browserforce/apply.d.ts +2 -2
- package/lib/commands/browserforce/apply.js +3 -3
- package/lib/commands/browserforce/apply.js.map +1 -1
- package/lib/commands/browserforce/plan.d.ts +2 -2
- package/lib/commands/browserforce/plan.js +3 -3
- package/lib/commands/browserforce/plan.js.map +1 -1
- package/lib/config-parser.d.ts +15 -2
- package/lib/config-parser.js +2 -1
- package/lib/config-parser.js.map +1 -1
- package/lib/index.d.ts +1 -2
- package/lib/index.js +0 -1
- package/lib/index.js.map +1 -1
- package/lib/jsforce-utils.d.ts +1 -1
- package/lib/jsforce-utils.js.map +1 -1
- package/lib/plugin.d.ts +4 -4
- package/lib/plugin.js.map +1 -1
- package/lib/plugins/activity-settings/index.d.ts +7 -5
- package/lib/plugins/activity-settings/index.js +2 -1
- package/lib/plugins/activity-settings/index.js.map +1 -1
- package/lib/plugins/communities/index.d.ts +8 -3
- package/lib/plugins/communities/index.js +6 -7
- package/lib/plugins/communities/index.js.map +1 -1
- package/lib/plugins/customer-portal/available-custom-objects/index.d.ts +14 -0
- package/lib/plugins/customer-portal/{availableCustomObjects → available-custom-objects}/index.js +9 -8
- package/lib/plugins/customer-portal/available-custom-objects/index.js.map +1 -0
- package/lib/plugins/customer-portal/enabled/index.d.ts +5 -4
- package/lib/plugins/customer-portal/enabled/index.js +3 -1
- package/lib/plugins/customer-portal/enabled/index.js.map +1 -1
- package/lib/plugins/customer-portal/index.d.ts +13 -8
- package/lib/plugins/customer-portal/index.js +12 -11
- package/lib/plugins/customer-portal/index.js.map +1 -1
- package/lib/plugins/customer-portal/portals/index.d.ts +23 -4
- package/lib/plugins/customer-portal/portals/index.js +29 -27
- package/lib/plugins/customer-portal/portals/index.js.map +1 -1
- package/lib/plugins/defer-sharing-calculation/index.d.ts +7 -5
- package/lib/plugins/defer-sharing-calculation/index.js +3 -1
- package/lib/plugins/defer-sharing-calculation/index.js.map +1 -1
- package/lib/plugins/density-settings/index.d.ts +15 -7
- package/lib/plugins/density-settings/index.js +3 -2
- package/lib/plugins/density-settings/index.js.map +1 -1
- package/lib/plugins/high-velocity-sales-settings/index.d.ts +9 -6
- package/lib/plugins/high-velocity-sales-settings/index.js +3 -2
- package/lib/plugins/high-velocity-sales-settings/index.js.map +1 -1
- package/lib/plugins/high-velocity-sales-settings/page.d.ts +2 -1
- package/lib/plugins/high-velocity-sales-settings/page.js.map +1 -1
- package/lib/plugins/home-page-layouts/index.d.ts +12 -6
- package/lib/plugins/home-page-layouts/index.js +3 -1
- package/lib/plugins/home-page-layouts/index.js.map +1 -1
- package/lib/plugins/index.d.ts +15 -14
- package/lib/plugins/index.js +29 -27
- package/lib/plugins/index.js.map +1 -1
- package/lib/plugins/lightning-experience-settings/index.d.ts +15 -7
- package/lib/plugins/lightning-experience-settings/index.js +3 -2
- package/lib/plugins/lightning-experience-settings/index.js.map +1 -1
- package/lib/plugins/picklists/field-dependencies/index.d.ts +9 -3
- package/lib/plugins/picklists/field-dependencies/index.js +2 -1
- package/lib/plugins/picklists/field-dependencies/index.js.map +1 -1
- package/lib/plugins/picklists/field-dependencies/pages.d.ts +4 -3
- package/lib/plugins/picklists/field-dependencies/pages.js.map +1 -1
- package/lib/plugins/picklists/index.d.ts +21 -7
- package/lib/plugins/picklists/index.js +11 -9
- package/lib/plugins/picklists/index.js.map +1 -1
- package/lib/plugins/picklists/pages.d.ts +13 -12
- package/lib/plugins/picklists/pages.js +4 -4
- package/lib/plugins/picklists/pages.js.map +1 -1
- package/lib/plugins/picklists/standard-value-set.js +1 -0
- package/lib/plugins/picklists/standard-value-set.js.map +1 -1
- package/lib/plugins/record-types/index.d.ts +11 -5
- package/lib/plugins/record-types/index.js +2 -1
- package/lib/plugins/record-types/index.js.map +1 -1
- package/lib/plugins/record-types/pages.d.ts +4 -3
- package/lib/plugins/record-types/pages.js.map +1 -1
- package/lib/plugins/relate-contact-to-multiple-accounts/index.d.ts +9 -0
- package/lib/plugins/relate-contact-to-multiple-accounts/index.js +40 -0
- package/lib/plugins/relate-contact-to-multiple-accounts/index.js.map +1 -0
- package/lib/plugins/reports-and-dashboards/folder-sharing/index.d.ts +8 -0
- package/lib/plugins/reports-and-dashboards/{folderSharing → folder-sharing}/index.js +3 -1
- package/lib/plugins/reports-and-dashboards/folder-sharing/index.js.map +1 -0
- package/lib/plugins/reports-and-dashboards/index.d.ts +9 -6
- package/lib/plugins/reports-and-dashboards/index.js +7 -8
- package/lib/plugins/reports-and-dashboards/index.js.map +1 -1
- package/lib/plugins/salesforce-to-salesforce/index.d.ts +7 -3
- package/lib/plugins/salesforce-to-salesforce/index.js +7 -8
- package/lib/plugins/salesforce-to-salesforce/index.js.map +1 -1
- package/lib/plugins/security/certificate-and-key-management/index.d.ts +21 -7
- package/lib/plugins/security/certificate-and-key-management/index.js +40 -19
- package/lib/plugins/security/certificate-and-key-management/index.js.map +1 -1
- package/lib/plugins/security/identity-provider/index.d.ts +8 -6
- package/lib/plugins/security/identity-provider/index.js +5 -3
- package/lib/plugins/security/identity-provider/index.js.map +1 -1
- package/lib/plugins/security/index.d.ts +15 -9
- package/lib/plugins/security/index.js +15 -19
- package/lib/plugins/security/index.js.map +1 -1
- package/lib/plugins/security/login-access-policies/index.d.ts +6 -5
- package/lib/plugins/security/login-access-policies/index.js +3 -1
- package/lib/plugins/security/login-access-policies/index.js.map +1 -1
- package/lib/plugins/security/sharing/index.d.ts +6 -5
- package/lib/plugins/security/sharing/index.js +3 -1
- package/lib/plugins/security/sharing/index.js.map +1 -1
- package/lib/plugins/utils.d.ts +1 -1
- package/lib/plugins/utils.js +2 -0
- package/lib/plugins/utils.js.map +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +8 -8
- package/yarn.lock +291 -210
- package/lib/browserforceCommand.js.map +0 -1
- package/lib/plugins/customer-portal/availableCustomObjects/index.d.ts +0 -6
- package/lib/plugins/customer-portal/availableCustomObjects/index.js.map +0 -1
- package/lib/plugins/reports-and-dashboards/folderSharing/index.d.ts +0 -7
- package/lib/plugins/reports-and-dashboards/folderSharing/index.js.map +0 -1
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RelateContactToMultipleAccounts = void 0;
|
|
4
|
+
const plugin_1 = require("../../plugin");
|
|
5
|
+
const PATHS = {
|
|
6
|
+
BASE: 'accounts/accountSetup.apexp'
|
|
7
|
+
};
|
|
8
|
+
const SELECTORS = {
|
|
9
|
+
ENABLED: 'input[id$=":sharedContactsCheckBox"]',
|
|
10
|
+
EDIT_BUTTON: 'input[id$=":edit"]',
|
|
11
|
+
SAVE_BUTTON: 'input[id$=":save"]'
|
|
12
|
+
};
|
|
13
|
+
class RelateContactToMultipleAccounts extends plugin_1.BrowserforcePlugin {
|
|
14
|
+
async retrieve(definition) {
|
|
15
|
+
const page = await this.browserforce.openPage(PATHS.BASE);
|
|
16
|
+
await page.waitForSelector(SELECTORS.ENABLED);
|
|
17
|
+
const response = {
|
|
18
|
+
enabled: await page.$eval(SELECTORS.ENABLED, (el) => el.checked)
|
|
19
|
+
};
|
|
20
|
+
return response;
|
|
21
|
+
}
|
|
22
|
+
async apply(config) {
|
|
23
|
+
const page = await this.browserforce.openPage(PATHS.BASE);
|
|
24
|
+
// First we have to click the 'Edit' button, to make the checkbox editable
|
|
25
|
+
await page.waitForSelector(SELECTORS.ENABLED);
|
|
26
|
+
await page.click(SELECTORS.EDIT_BUTTON);
|
|
27
|
+
await page.waitForNavigation();
|
|
28
|
+
// Change the value of the checkbox
|
|
29
|
+
await page.waitForSelector(SELECTORS.ENABLED);
|
|
30
|
+
await page.$eval(SELECTORS.ENABLED, (e, v) => {
|
|
31
|
+
e.checked = v;
|
|
32
|
+
}, config.enabled);
|
|
33
|
+
// Save
|
|
34
|
+
await Promise.all([
|
|
35
|
+
page.click(SELECTORS.SAVE_BUTTON)
|
|
36
|
+
]);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.RelateContactToMultipleAccounts = RelateContactToMultipleAccounts;
|
|
40
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/relate-contact-to-multiple-accounts/index.ts"],"names":[],"mappings":";;;AAAA,yCAAkD;AAElD,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,6BAA6B;CACpC,CAAC;AACF,MAAM,SAAS,GAAG;IAChB,OAAO,EAAE,sCAAsC;IAC/C,WAAW,EAAE,oBAAoB;IACjC,WAAW,EAAE,oBAAoB;CAClC,CAAC;AAMF,MAAa,+BAAgC,SAAQ,2BAAkB;IAC9D,KAAK,CAAC,QAAQ,CAAC,UAAmB;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG;YACf,OAAO,EAAE,MAAM,IAAI,CAAC,KAAK,CACvB,SAAS,CAAC,OAAO,EACjB,CAAC,EAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CACrC;SACF,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,MAAc;QAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,0EAA0E;QAC1E,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,mCAAmC;QACnC,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,IAAI,CAAC,KAAK,CACd,SAAS,CAAC,OAAO,EACjB,CAAC,CAAmB,EAAE,CAAU,EAAE,EAAE;YAClC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;QAChB,CAAC,EACD,MAAM,CAAC,OAAO,CACf,CAAC;QACF,OAAO;QACP,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;CACF;AAjCD,0EAiCC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BrowserforcePlugin } from '../../../plugin';
|
|
2
|
+
export declare type Config = {
|
|
3
|
+
enableEnhancedFolderSharing: boolean;
|
|
4
|
+
};
|
|
5
|
+
export declare class FolderSharing extends BrowserforcePlugin {
|
|
6
|
+
retrieve(definition?: Config): Promise<Config>;
|
|
7
|
+
apply(config: Config): Promise<void>;
|
|
8
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FolderSharing = void 0;
|
|
3
4
|
const plugin_1 = require("../../../plugin");
|
|
4
5
|
const PATHS = {
|
|
5
6
|
BASE: 'ui/rpt/AnalyticsSharingSettingsPage/e'
|
|
@@ -10,6 +11,7 @@ const SELECTORS = {
|
|
|
10
11
|
SAVE_BUTTON: 'input[id="saveButton"]'
|
|
11
12
|
};
|
|
12
13
|
class FolderSharing extends plugin_1.BrowserforcePlugin {
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
13
15
|
async retrieve(definition) {
|
|
14
16
|
const response = {
|
|
15
17
|
enableEnhancedFolderSharing: true
|
|
@@ -52,5 +54,5 @@ class FolderSharing extends plugin_1.BrowserforcePlugin {
|
|
|
52
54
|
]);
|
|
53
55
|
}
|
|
54
56
|
}
|
|
55
|
-
exports.
|
|
57
|
+
exports.FolderSharing = FolderSharing;
|
|
56
58
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/reports-and-dashboards/folder-sharing/index.ts"],"names":[],"mappings":";;;AAAA,4CAAqD;AAErD,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,uCAAuC;CAC9C,CAAC;AACF,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,YAAY;IAClB,eAAe,EAAE,eAAe;IAChC,WAAW,EAAE,wBAAwB;CACtC,CAAC;AAMF,MAAa,aAAc,SAAQ,2BAAkB;IACnD,6DAA6D;IACtD,KAAK,CAAC,QAAQ,CAAC,UAAmB;QACvC,MAAM,QAAQ,GAAG;YACf,2BAA2B,EAAE,IAAI;SAClC,CAAC;QACF,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE;gBACxD,SAAS,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,cAAc,CAAC;aACxD,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,4BAA4B,CACtE,IAAI,EACJ,SAAS,CAAC,IAAI,CACf,CAAC;YACF,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;YACnE,IAAI,WAAW,EAAE;gBACf,QAAQ,CAAC,2BAA2B,GAAG,MAAM,WAAW,CAAC,KAAK,CAC5D,SAAS,CAAC,eAAe,EACzB,CAAC,EAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CACrC,CAAC;aACH;iBAAM;gBACL,kBAAkB;gBAClB,QAAQ,CAAC,2BAA2B,GAAG,IAAI,CAAC;aAC7C;SACF;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE;gBAC9C,OAAO,QAAQ,CAAC;aACjB;YACD,MAAM,CAAC,CAAC;SACT;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,MAAc;QAC/B,IAAI,MAAM,CAAC,2BAA2B,KAAK,KAAK,EAAE;YAChD,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;SACH;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACtD,MAAM,IAAI,CAAC,KAAK,CACd,SAAS,CAAC,eAAe,EACzB,CAAC,CAAmB,EAAE,CAAU,EAAE,EAAE;YAClC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;QAChB,CAAC,EACD,MAAM,CAAC,2BAA2B,CACnC,CAAC;QACF,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;CACF;AAtDD,sCAsDC"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { BrowserforcePlugin } from '../../plugin';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
import { Config as FolderSharingConfig } from './folder-sharing';
|
|
3
|
+
declare type Config = {
|
|
4
|
+
folderSharing?: FolderSharingConfig;
|
|
5
|
+
};
|
|
6
|
+
export declare class ReportsAndDashboards extends BrowserforcePlugin {
|
|
7
|
+
retrieve(definition?: Config): Promise<Config>;
|
|
8
|
+
diff(state: Config, definition: Config): Config;
|
|
9
|
+
apply(plan: Config): Promise<void>;
|
|
8
10
|
}
|
|
11
|
+
export {};
|
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ReportsAndDashboards = void 0;
|
|
3
4
|
const plugin_1 = require("../../plugin");
|
|
4
5
|
const utils_1 = require("../utils");
|
|
5
|
-
const
|
|
6
|
+
const folder_sharing_1 = require("./folder-sharing");
|
|
6
7
|
class ReportsAndDashboards extends plugin_1.BrowserforcePlugin {
|
|
7
8
|
async retrieve(definition) {
|
|
8
|
-
const response = {
|
|
9
|
-
folderSharing: {}
|
|
10
|
-
};
|
|
9
|
+
const response = {};
|
|
11
10
|
if (definition) {
|
|
12
11
|
if (definition.folderSharing) {
|
|
13
|
-
const pluginFolderSharing = new
|
|
12
|
+
const pluginFolderSharing = new folder_sharing_1.FolderSharing(this.browserforce, this.org);
|
|
14
13
|
response.folderSharing = await pluginFolderSharing.retrieve(definition.folderSharing);
|
|
15
14
|
}
|
|
16
15
|
}
|
|
17
16
|
return response;
|
|
18
17
|
}
|
|
19
18
|
diff(state, definition) {
|
|
20
|
-
const pluginFolderSharing = new
|
|
19
|
+
const pluginFolderSharing = new folder_sharing_1.FolderSharing(null, null);
|
|
21
20
|
const response = {
|
|
22
21
|
folderSharing: pluginFolderSharing.diff(state.folderSharing, definition.folderSharing)
|
|
23
22
|
};
|
|
@@ -25,10 +24,10 @@ class ReportsAndDashboards extends plugin_1.BrowserforcePlugin {
|
|
|
25
24
|
}
|
|
26
25
|
async apply(plan) {
|
|
27
26
|
if (plan.folderSharing) {
|
|
28
|
-
const pluginFolderSharing = new
|
|
27
|
+
const pluginFolderSharing = new folder_sharing_1.FolderSharing(this.browserforce, this.org);
|
|
29
28
|
await pluginFolderSharing.apply(plan.folderSharing);
|
|
30
29
|
}
|
|
31
30
|
}
|
|
32
31
|
}
|
|
33
|
-
exports.
|
|
32
|
+
exports.ReportsAndDashboards = ReportsAndDashboards;
|
|
34
33
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/reports-and-dashboards/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/reports-and-dashboards/index.ts"],"names":[],"mappings":";;;AAAA,yCAAkD;AAClD,oCAA6C;AAC7C,qDAAgF;AAMhF,MAAa,oBAAqB,SAAQ,2BAAkB;IACnD,KAAK,CAAC,QAAQ,CAAC,UAAmB;QACvC,MAAM,QAAQ,GAAW,EAAE,CAAC;QAC5B,IAAI,UAAU,EAAE;YACd,IAAI,UAAU,CAAC,aAAa,EAAE;gBAC5B,MAAM,mBAAmB,GAAG,IAAI,8BAAa,CAC3C,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,GAAG,CACT,CAAC;gBACF,QAAQ,CAAC,aAAa,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CACzD,UAAU,CAAC,aAAa,CACzB,CAAC;aACH;SACF;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,IAAI,CAAC,KAAa,EAAE,UAAkB;QAC3C,MAAM,mBAAmB,GAAG,IAAI,8BAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG;YACf,aAAa,EAAE,mBAAmB,CAAC,IAAI,CACrC,KAAK,CAAC,aAAa,EACnB,UAAU,CAAC,aAAa,CACzB;SACF,CAAC;QACF,OAAO,yBAAiB,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,IAAY;QAC7B,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,MAAM,mBAAmB,GAAG,IAAI,8BAAa,CAC3C,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,GAAG,CACT,CAAC;YACF,MAAM,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACrD;IACH,CAAC;CACF;AArCD,oDAqCC"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { BrowserforcePlugin } from '../../plugin';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
declare type Config = {
|
|
3
|
+
enabled: boolean;
|
|
4
|
+
};
|
|
5
|
+
export declare class SalesforceToSalesforce extends BrowserforcePlugin {
|
|
6
|
+
retrieve(): Promise<Config>;
|
|
7
|
+
apply(config: Config): Promise<void>;
|
|
5
8
|
}
|
|
9
|
+
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SalesforceToSalesforce = void 0;
|
|
3
4
|
const p_retry_1 = require("p-retry");
|
|
4
5
|
const plugin_1 = require("../../plugin");
|
|
5
6
|
const PATHS = {
|
|
@@ -14,14 +15,12 @@ class SalesforceToSalesforce extends plugin_1.BrowserforcePlugin {
|
|
|
14
15
|
async retrieve() {
|
|
15
16
|
const page = await this.browserforce.openPage(PATHS.BASE);
|
|
16
17
|
await page.waitForSelector(SELECTORS.BASE);
|
|
17
|
-
const response = {
|
|
18
|
+
const response = {
|
|
19
|
+
enabled: true
|
|
20
|
+
};
|
|
18
21
|
const inputEnable = await page.$(SELECTORS.ENABLED);
|
|
19
22
|
if (inputEnable) {
|
|
20
|
-
response
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
// already enabled
|
|
24
|
-
response['enabled'] = true;
|
|
23
|
+
response.enabled = await page.$eval(SELECTORS.ENABLED, (el) => el.checked);
|
|
25
24
|
}
|
|
26
25
|
return response;
|
|
27
26
|
}
|
|
@@ -41,11 +40,11 @@ class SalesforceToSalesforce extends plugin_1.BrowserforcePlugin {
|
|
|
41
40
|
page.click(SELECTORS.SAVE_BUTTON)
|
|
42
41
|
]);
|
|
43
42
|
const result = await this.retrieve();
|
|
44
|
-
if (result
|
|
43
|
+
if (result.enabled !== config.enabled) {
|
|
45
44
|
throw new Error('setting was not applied as expected');
|
|
46
45
|
}
|
|
47
46
|
});
|
|
48
47
|
}
|
|
49
48
|
}
|
|
50
|
-
exports.
|
|
49
|
+
exports.SalesforceToSalesforce = SalesforceToSalesforce;
|
|
51
50
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/salesforce-to-salesforce/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/salesforce-to-salesforce/index.ts"],"names":[],"mappings":";;;AAAA,qCAA6B;AAC7B,yCAAkD;AAElD,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,mCAAmC;CAC1C,CAAC;AACF,MAAM,SAAS,GAAG;IAChB,OAAO,EAAE,WAAW;IACpB,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,oBAAoB;CAClC,CAAC;AAMF,MAAa,sBAAuB,SAAQ,2BAAkB;IACrD,KAAK,CAAC,QAAQ;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG;YACf,OAAO,EAAE,IAAI;SACd,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,WAAW,EAAE;YACf,QAAQ,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CACjC,SAAS,CAAC,OAAO,EACjB,CAAC,EAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CACrC,CAAC;SACH;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,MAAc;QAC/B,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;SAC9D;QACD,kFAAkF;QAClF,MAAM,iBAAM,CAAC,KAAK,IAAI,EAAE;YACtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,IAAI,CAAC,KAAK,CACd,SAAS,CAAC,OAAO,EACjB,CAAC,CAAmB,EAAE,CAAU,EAAE,EAAE;gBAClC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;YAChB,CAAC,EACD,MAAM,CAAC,OAAO,CACf,CAAC;YACF,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,IAAI,CAAC,iBAAiB,EAAE;gBACxB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC;aAClC,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrC,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE;gBACrC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aACxD;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA1CD,wDA0CC"}
|
|
@@ -1,9 +1,23 @@
|
|
|
1
1
|
import { BrowserforcePlugin } from '../../../plugin';
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
export declare type Config = {
|
|
3
|
+
certificates?: Certificate[];
|
|
4
|
+
importFromKeystore?: KeyStore[];
|
|
5
|
+
};
|
|
6
|
+
declare type Certificate = {
|
|
7
|
+
name: string;
|
|
8
|
+
label: string;
|
|
9
|
+
exportable?: boolean;
|
|
10
|
+
keySize?: number;
|
|
11
|
+
_id?: string;
|
|
12
|
+
};
|
|
13
|
+
declare type KeyStore = {
|
|
14
|
+
name: string;
|
|
15
|
+
filePath: string;
|
|
16
|
+
password?: string;
|
|
17
|
+
};
|
|
18
|
+
export declare class CertificateAndKeyManagement extends BrowserforcePlugin {
|
|
19
|
+
retrieve(definition?: Config): Promise<Config>;
|
|
20
|
+
diff(state: Config, definition: Config): Config;
|
|
21
|
+
apply(plan: Config): Promise<void>;
|
|
9
22
|
}
|
|
23
|
+
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CertificateAndKeyManagement = void 0;
|
|
3
4
|
const fs_1 = require("fs");
|
|
4
5
|
const jsonMergePatch = require("json-merge-patch");
|
|
5
6
|
const path = require("path");
|
|
@@ -17,23 +18,27 @@ const SELECTORS = {
|
|
|
17
18
|
};
|
|
18
19
|
class CertificateAndKeyManagement extends plugin_1.BrowserforcePlugin {
|
|
19
20
|
async retrieve(definition) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
var _a, _b, _c, _d;
|
|
22
|
+
const response = {
|
|
23
|
+
certificates: [],
|
|
24
|
+
importFromKeystore: []
|
|
25
|
+
};
|
|
26
|
+
let existingCertificates;
|
|
27
|
+
if (((_a = definition === null || definition === void 0 ? void 0 : definition.certificates) === null || _a === void 0 ? void 0 : _a.length) ||
|
|
28
|
+
((_b = definition === null || definition === void 0 ? void 0 : definition.importFromKeystore) === null || _b === void 0 ? void 0 : _b.length)) {
|
|
29
|
+
existingCertificates = await this.org
|
|
28
30
|
.getConnection()
|
|
29
|
-
.tooling.query(`SELECT Id, DeveloperName, MasterLabel, OptionsIsPrivateKeyExportable, KeySize FROM Certificate
|
|
31
|
+
.tooling.query(`SELECT Id, DeveloperName, MasterLabel, OptionsIsPrivateKeyExportable, KeySize FROM Certificate`, { scanAll: false }
|
|
30
32
|
// BUG in jsforce: query acts with scanAll:true and returns deleted CustomObjects.
|
|
31
33
|
// It cannot be disabled.
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
if ((_c = definition === null || definition === void 0 ? void 0 : definition.certificates) === null || _c === void 0 ? void 0 : _c.length) {
|
|
32
37
|
for (const cert of definition.certificates) {
|
|
33
|
-
const existingCert =
|
|
38
|
+
const existingCert = existingCertificates.records.find(co => co.DeveloperName === cert.name);
|
|
34
39
|
if (existingCert) {
|
|
35
40
|
response.certificates.push({
|
|
36
|
-
|
|
41
|
+
_id: existingCert.Id,
|
|
37
42
|
name: existingCert.DeveloperName,
|
|
38
43
|
label: existingCert.MasterLabel,
|
|
39
44
|
exportable: existingCert.OptionsIsPrivateKeyExportable,
|
|
@@ -42,33 +47,49 @@ class CertificateAndKeyManagement extends plugin_1.BrowserforcePlugin {
|
|
|
42
47
|
}
|
|
43
48
|
}
|
|
44
49
|
}
|
|
50
|
+
if ((_d = definition === null || definition === void 0 ? void 0 : definition.importFromKeystore) === null || _d === void 0 ? void 0 : _d.length) {
|
|
51
|
+
for (const cert of definition.importFromKeystore) {
|
|
52
|
+
const existingCert = existingCertificates.records.find(co => co.DeveloperName === cert.name);
|
|
53
|
+
if (existingCert) {
|
|
54
|
+
response.importFromKeystore.push({
|
|
55
|
+
name: existingCert.DeveloperName,
|
|
56
|
+
filePath: null
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
45
61
|
return response;
|
|
46
62
|
}
|
|
47
63
|
diff(state, definition) {
|
|
64
|
+
var _a, _b;
|
|
48
65
|
const response = {
|
|
49
66
|
certificates: [],
|
|
50
67
|
importFromKeystore: []
|
|
51
68
|
};
|
|
52
69
|
if (state && definition && state.certificates && definition.certificates) {
|
|
53
70
|
for (const cert of definition.certificates) {
|
|
54
|
-
const existingCert = state.certificates.find(c => c.name === cert.
|
|
71
|
+
const existingCert = state.certificates.find(c => c.name === cert.name);
|
|
55
72
|
if (existingCert) {
|
|
56
73
|
// move id from state to definition to be retained and used
|
|
57
|
-
cert.
|
|
58
|
-
delete existingCert.
|
|
74
|
+
cert._id = existingCert._id;
|
|
75
|
+
delete existingCert._id;
|
|
76
|
+
}
|
|
77
|
+
const certDiff = utils_1.semanticallyCleanObject(utils_1.removeNullValues(jsonMergePatch.generate(existingCert, cert)), '_id');
|
|
78
|
+
if (certDiff) {
|
|
79
|
+
response.certificates.push(certDiff);
|
|
59
80
|
}
|
|
60
|
-
response.certificates.push(jsonMergePatch.generate(existingCert, cert));
|
|
61
81
|
}
|
|
62
82
|
}
|
|
63
|
-
if (definition
|
|
64
|
-
response.importFromKeystore =
|
|
83
|
+
if ((_a = definition === null || definition === void 0 ? void 0 : definition.importFromKeystore) === null || _a === void 0 ? void 0 : _a.length) {
|
|
84
|
+
response.importFromKeystore =
|
|
85
|
+
((_b = definition === null || definition === void 0 ? void 0 : definition.importFromKeystore) === null || _b === void 0 ? void 0 : _b.filter(cert => !state.importFromKeystore.find(c => c.name === cert.name))) || [];
|
|
65
86
|
}
|
|
66
87
|
return utils_1.removeEmptyValues(response);
|
|
67
88
|
}
|
|
68
89
|
async apply(plan) {
|
|
69
90
|
if (plan.certificates) {
|
|
70
91
|
for (const certificate of plan.certificates) {
|
|
71
|
-
if (certificate.
|
|
92
|
+
if (certificate._id) {
|
|
72
93
|
// update
|
|
73
94
|
}
|
|
74
95
|
else {
|
|
@@ -130,5 +151,5 @@ class CertificateAndKeyManagement extends plugin_1.BrowserforcePlugin {
|
|
|
130
151
|
}
|
|
131
152
|
}
|
|
132
153
|
}
|
|
133
|
-
exports.
|
|
154
|
+
exports.CertificateAndKeyManagement = CertificateAndKeyManagement;
|
|
134
155
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/security/certificate-and-key-management/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/security/certificate-and-key-management/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { BrowserforcePlugin } from '../../../plugin';
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
export declare type Config = {
|
|
3
|
+
enabled?: boolean;
|
|
4
|
+
certificate?: string;
|
|
5
|
+
};
|
|
6
|
+
export declare class IdentityProvider extends BrowserforcePlugin {
|
|
7
|
+
retrieve(definition?: Config): Promise<Config>;
|
|
8
|
+
diff(state: Config, definition: Config): Config;
|
|
9
|
+
apply(plan: Config): Promise<void>;
|
|
8
10
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IdentityProvider = void 0;
|
|
3
4
|
const jsonMergePatch = require("json-merge-patch");
|
|
4
5
|
const p_retry_1 = require("p-retry");
|
|
5
6
|
const plugin_1 = require("../../../plugin");
|
|
@@ -15,6 +16,7 @@ const SELECTORS = {
|
|
|
15
16
|
SAVE_BUTTON: 'input[name$=":save"]'
|
|
16
17
|
};
|
|
17
18
|
class IdentityProvider extends plugin_1.BrowserforcePlugin {
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
18
20
|
async retrieve(definition) {
|
|
19
21
|
const page = await this.browserforce.openPage(PATHS.EDIT_VIEW);
|
|
20
22
|
await page.waitForSelector(SELECTORS.EDIT_BUTTON);
|
|
@@ -38,8 +40,8 @@ class IdentityProvider extends plugin_1.BrowserforcePlugin {
|
|
|
38
40
|
const certsResponse = await this.org
|
|
39
41
|
.getConnection()
|
|
40
42
|
.tooling.query(`SELECT Id, DeveloperName FROM Certificate WHERE DeveloperName = '${plan.certificate}'`);
|
|
41
|
-
if (!certsResponse.
|
|
42
|
-
throw new
|
|
43
|
+
if (!certsResponse.totalSize) {
|
|
44
|
+
throw new p_retry_1.AbortError(`Could not find Certificate '${plan.certificate}'`);
|
|
43
45
|
}
|
|
44
46
|
const page = await this.browserforce.openPage(PATHS.EDIT_VIEW);
|
|
45
47
|
await page.waitForSelector(SELECTORS.EDIT_BUTTON);
|
|
@@ -88,5 +90,5 @@ class IdentityProvider extends plugin_1.BrowserforcePlugin {
|
|
|
88
90
|
}
|
|
89
91
|
}
|
|
90
92
|
}
|
|
91
|
-
exports.
|
|
93
|
+
exports.IdentityProvider = IdentityProvider;
|
|
92
94
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/security/identity-provider/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/security/identity-provider/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import { BrowserforcePlugin } from '../../plugin';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
import { Config as CertificateAndKeyManagementConfig } from './certificate-and-key-management';
|
|
3
|
+
import { Config as IdentityProviderConfig } from './identity-provider';
|
|
4
|
+
import { Config as LoginAccessPoliciesConfig } from './login-access-policies';
|
|
5
|
+
import { Config as SharingConfig } from './sharing';
|
|
6
|
+
declare type Config = {
|
|
7
|
+
certificateAndKeyManagement?: CertificateAndKeyManagementConfig;
|
|
8
|
+
identityProvider?: IdentityProviderConfig;
|
|
9
|
+
loginAccessPolicies?: LoginAccessPoliciesConfig;
|
|
10
|
+
sharing?: SharingConfig;
|
|
11
|
+
};
|
|
12
|
+
export declare class Security extends BrowserforcePlugin {
|
|
13
|
+
retrieve(definition?: Config): Promise<Config>;
|
|
14
|
+
diff(state: Config, definition: Config): Config;
|
|
15
|
+
apply(plan: Config): Promise<void>;
|
|
11
16
|
}
|
|
17
|
+
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Security = void 0;
|
|
3
4
|
const plugin_1 = require("../../plugin");
|
|
4
5
|
const utils_1 = require("../utils");
|
|
5
6
|
const certificate_and_key_management_1 = require("./certificate-and-key-management");
|
|
@@ -8,37 +9,32 @@ const login_access_policies_1 = require("./login-access-policies");
|
|
|
8
9
|
const sharing_1 = require("./sharing");
|
|
9
10
|
class Security extends plugin_1.BrowserforcePlugin {
|
|
10
11
|
async retrieve(definition) {
|
|
11
|
-
const response = {
|
|
12
|
-
certificateAndKeyManagement: {},
|
|
13
|
-
identityProvider: {},
|
|
14
|
-
loginAccessPolicies: {},
|
|
15
|
-
sharing: {}
|
|
16
|
-
};
|
|
12
|
+
const response = {};
|
|
17
13
|
if (definition) {
|
|
18
14
|
if (definition.certificateAndKeyManagement) {
|
|
19
|
-
const pluginCKM = new certificate_and_key_management_1.
|
|
15
|
+
const pluginCKM = new certificate_and_key_management_1.CertificateAndKeyManagement(this.browserforce, this.org);
|
|
20
16
|
response.certificateAndKeyManagement = await pluginCKM.retrieve(definition.certificateAndKeyManagement);
|
|
21
17
|
}
|
|
22
18
|
if (definition.identityProvider) {
|
|
23
|
-
const pluginIdentityProvider = new identity_provider_1.
|
|
19
|
+
const pluginIdentityProvider = new identity_provider_1.IdentityProvider(this.browserforce, this.org);
|
|
24
20
|
response.identityProvider = await pluginIdentityProvider.retrieve(definition.identityProvider);
|
|
25
21
|
}
|
|
26
22
|
if (definition.loginAccessPolicies) {
|
|
27
|
-
const pluginLoginAccessPolicies = new login_access_policies_1.
|
|
23
|
+
const pluginLoginAccessPolicies = new login_access_policies_1.LoginAccessPolicies(this.browserforce, this.org);
|
|
28
24
|
response.loginAccessPolicies = await pluginLoginAccessPolicies.retrieve(definition.loginAccessPolicies);
|
|
29
25
|
}
|
|
30
26
|
if (definition.sharing) {
|
|
31
|
-
const pluginSharing = new sharing_1.
|
|
27
|
+
const pluginSharing = new sharing_1.Sharing(this.browserforce, this.org);
|
|
32
28
|
response.sharing = await pluginSharing.retrieve(definition.sharing);
|
|
33
29
|
}
|
|
34
30
|
}
|
|
35
31
|
return response;
|
|
36
32
|
}
|
|
37
33
|
diff(state, definition) {
|
|
38
|
-
const pluginCKM = new certificate_and_key_management_1.
|
|
39
|
-
const pluginIdentityProvider = new identity_provider_1.
|
|
40
|
-
const pluginLoginAccessPolicies = new login_access_policies_1.
|
|
41
|
-
const pluginSharing = new sharing_1.
|
|
34
|
+
const pluginCKM = new certificate_and_key_management_1.CertificateAndKeyManagement(null, null);
|
|
35
|
+
const pluginIdentityProvider = new identity_provider_1.IdentityProvider(null, null);
|
|
36
|
+
const pluginLoginAccessPolicies = new login_access_policies_1.LoginAccessPolicies(null, null);
|
|
37
|
+
const pluginSharing = new sharing_1.Sharing(null, null);
|
|
42
38
|
const response = {
|
|
43
39
|
certificateAndKeyManagement: pluginCKM.diff(state.certificateAndKeyManagement, definition.certificateAndKeyManagement),
|
|
44
40
|
identityProvider: pluginIdentityProvider.diff(state.identityProvider, definition.identityProvider),
|
|
@@ -49,22 +45,22 @@ class Security extends plugin_1.BrowserforcePlugin {
|
|
|
49
45
|
}
|
|
50
46
|
async apply(plan) {
|
|
51
47
|
if (plan.certificateAndKeyManagement) {
|
|
52
|
-
const pluginCKM = new certificate_and_key_management_1.
|
|
48
|
+
const pluginCKM = new certificate_and_key_management_1.CertificateAndKeyManagement(this.browserforce, this.org);
|
|
53
49
|
await pluginCKM.apply(plan.certificateAndKeyManagement);
|
|
54
50
|
}
|
|
55
51
|
if (plan.identityProvider) {
|
|
56
|
-
const pluginIdentityProvider = new identity_provider_1.
|
|
52
|
+
const pluginIdentityProvider = new identity_provider_1.IdentityProvider(this.browserforce, this.org);
|
|
57
53
|
await pluginIdentityProvider.apply(plan.identityProvider);
|
|
58
54
|
}
|
|
59
55
|
if (plan.loginAccessPolicies) {
|
|
60
|
-
const pluginLoginAccessPolicies = new login_access_policies_1.
|
|
56
|
+
const pluginLoginAccessPolicies = new login_access_policies_1.LoginAccessPolicies(this.browserforce, this.org);
|
|
61
57
|
await pluginLoginAccessPolicies.apply(plan.loginAccessPolicies);
|
|
62
58
|
}
|
|
63
59
|
if (plan.sharing) {
|
|
64
|
-
const pluginSharing = new sharing_1.
|
|
60
|
+
const pluginSharing = new sharing_1.Sharing(this.browserforce, this.org);
|
|
65
61
|
await pluginSharing.apply(plan.sharing);
|
|
66
62
|
}
|
|
67
63
|
}
|
|
68
64
|
}
|
|
69
|
-
exports.
|
|
65
|
+
exports.Security = Security;
|
|
70
66
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/security/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/security/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { BrowserforcePlugin } from '../../../plugin';
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
export declare type Config = {
|
|
3
|
+
administratorsCanLogInAsAnyUser: boolean;
|
|
4
|
+
};
|
|
5
|
+
export declare class LoginAccessPolicies extends BrowserforcePlugin {
|
|
6
|
+
retrieve(definition?: Config): Promise<Config>;
|
|
7
|
+
apply(config: Config): Promise<void>;
|
|
7
8
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LoginAccessPolicies = void 0;
|
|
3
4
|
const plugin_1 = require("../../../plugin");
|
|
4
5
|
const PATHS = {
|
|
5
6
|
BASE: 'partnerbt/loginAccessPolicies.apexp'
|
|
@@ -10,6 +11,7 @@ const SELECTORS = {
|
|
|
10
11
|
SAVE_BUTTON: 'input[id$=":save"]'
|
|
11
12
|
};
|
|
12
13
|
class LoginAccessPolicies extends plugin_1.BrowserforcePlugin {
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
13
15
|
async retrieve(definition) {
|
|
14
16
|
const page = await this.browserforce.openPage(PATHS.BASE);
|
|
15
17
|
await page.waitForSelector(SELECTORS.ENABLED);
|
|
@@ -30,5 +32,5 @@ class LoginAccessPolicies extends plugin_1.BrowserforcePlugin {
|
|
|
30
32
|
]);
|
|
31
33
|
}
|
|
32
34
|
}
|
|
33
|
-
exports.
|
|
35
|
+
exports.LoginAccessPolicies = LoginAccessPolicies;
|
|
34
36
|
//# sourceMappingURL=index.js.map
|