sfdx-browserforce-plugin 5.2.0-next.4 → 6.0.0-next.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/lib/browserforce.js +88 -22
- package/lib/browserforce.js.map +1 -1
- package/lib/plugins/activity-settings/index.js +93 -20
- package/lib/plugins/activity-settings/index.js.map +1 -1
- package/lib/plugins/company-information/index.js +104 -31
- package/lib/plugins/company-information/index.js.map +1 -1
- package/lib/plugins/customer-portal/available-custom-objects/index.js +166 -71
- package/lib/plugins/customer-portal/available-custom-objects/index.js.map +1 -1
- package/lib/plugins/customer-portal/enabled/index.js +73 -10
- package/lib/plugins/customer-portal/enabled/index.js.map +1 -1
- package/lib/plugins/customer-portal/portals/index.js +196 -101
- package/lib/plugins/customer-portal/portals/index.js.map +1 -1
- package/lib/plugins/density-settings/index.js +95 -21
- package/lib/plugins/density-settings/index.js.map +1 -1
- package/lib/plugins/email-deliverability/index.js +94 -21
- package/lib/plugins/email-deliverability/index.js.map +1 -1
- package/lib/plugins/high-velocity-sales-settings/index.js +67 -2
- package/lib/plugins/high-velocity-sales-settings/index.js.map +1 -1
- package/lib/plugins/high-velocity-sales-settings/page.js +0 -1
- package/lib/plugins/high-velocity-sales-settings/page.js.map +1 -1
- package/lib/plugins/history-tracking/index.js +162 -83
- package/lib/plugins/history-tracking/index.js.map +1 -1
- package/lib/plugins/home-page-layouts/index.js +129 -57
- package/lib/plugins/home-page-layouts/index.js.map +1 -1
- package/lib/plugins/lightning-experience-settings/index.js +85 -12
- package/lib/plugins/lightning-experience-settings/index.js.map +1 -1
- package/lib/plugins/linkedin-sales-navigator-settings/index.js +84 -6
- package/lib/plugins/linkedin-sales-navigator-settings/index.js.map +1 -1
- package/lib/plugins/linkedin-sales-navigator-settings/page.js +0 -2
- package/lib/plugins/linkedin-sales-navigator-settings/page.js.map +1 -1
- package/lib/plugins/omni-channel-settings/index.js +88 -13
- package/lib/plugins/omni-channel-settings/index.js.map +1 -1
- package/lib/plugins/opportunity-splits/index.js +103 -18
- package/lib/plugins/opportunity-splits/index.js.map +1 -1
- package/lib/plugins/permission-sets/service-presence-status/index.js +124 -51
- package/lib/plugins/permission-sets/service-presence-status/index.js.map +1 -1
- package/lib/plugins/picklists/field-dependencies/index.js +86 -4
- package/lib/plugins/picklists/field-dependencies/index.js.map +1 -1
- package/lib/plugins/picklists/field-dependencies/pages.js +0 -1
- package/lib/plugins/picklists/field-dependencies/pages.js.map +1 -1
- package/lib/plugins/picklists/index.js +128 -55
- package/lib/plugins/picklists/index.js.map +1 -1
- package/lib/plugins/picklists/pages.js +9 -10
- package/lib/plugins/picklists/pages.js.map +1 -1
- package/lib/plugins/record-types/index.js +73 -10
- package/lib/plugins/record-types/index.js.map +1 -1
- package/lib/plugins/record-types/pages.js +0 -1
- package/lib/plugins/record-types/pages.js.map +1 -1
- package/lib/plugins/relate-contact-to-multiple-accounts/index.js +102 -28
- package/lib/plugins/relate-contact-to-multiple-accounts/index.js.map +1 -1
- package/lib/plugins/reports-and-dashboards/folder-sharing/index.js +107 -35
- package/lib/plugins/reports-and-dashboards/folder-sharing/index.js.map +1 -1
- package/lib/plugins/salesforce-cpq-config/index.js +249 -165
- package/lib/plugins/salesforce-cpq-config/index.js.map +1 -1
- package/lib/plugins/salesforce-to-salesforce/index.js +93 -20
- package/lib/plugins/salesforce-to-salesforce/index.js.map +1 -1
- package/lib/plugins/security/authentication-configuration/index.js +121 -49
- package/lib/plugins/security/authentication-configuration/index.js.map +1 -1
- package/lib/plugins/security/certificate-and-key-management/index.js +142 -57
- package/lib/plugins/security/certificate-and-key-management/index.js.map +1 -1
- package/lib/plugins/service-channels/capacity/index.js +173 -102
- package/lib/plugins/service-channels/capacity/index.js.map +1 -1
- package/lib/plugins/slack/index.js +101 -27
- package/lib/plugins/slack/index.js.map +1 -1
- package/lib/plugins/user-access-policies/index.js +96 -24
- package/lib/plugins/user-access-policies/index.js.map +1 -1
- package/lib/plugins/user-access-policies/page.js +0 -6
- package/lib/plugins/user-access-policies/page.js.map +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/salesforce-cpq-config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,SAAS,GACb,6EAA6E,CAAC;AAChF,MAAM,SAAS,GAAG,iDAAiD,CAAC;AAEpE,MAAM,kBAAkB,GACtB,0DAA0D,CAAC;AAC7D,MAAM,8CAA8C,GAClD,4EAA4E,CAAC;AAC/E,MAAM,aAAa,GAAG,4CAA4C,CAAC;AACnE,MAAM,0CAA0C,GAC9C,iEAAiE,CAAC;AACpE,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAI5C,MAAM,OAAO,mBAAoB,SAAQ,kBAAkB;IACjD,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IACnC,KAAK,CAAC,QAAQ,CAAC,UAAmB
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/salesforce-cpq-config/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,83 @@
|
|
|
1
|
+
var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
|
|
2
|
+
if (value !== null && value !== void 0) {
|
|
3
|
+
if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
|
|
4
|
+
var dispose, inner;
|
|
5
|
+
if (async) {
|
|
6
|
+
if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
|
|
7
|
+
dispose = value[Symbol.asyncDispose];
|
|
8
|
+
}
|
|
9
|
+
if (dispose === void 0) {
|
|
10
|
+
if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
|
|
11
|
+
dispose = value[Symbol.dispose];
|
|
12
|
+
if (async) inner = dispose;
|
|
13
|
+
}
|
|
14
|
+
if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
|
|
15
|
+
if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
|
|
16
|
+
env.stack.push({ value: value, dispose: dispose, async: async });
|
|
17
|
+
}
|
|
18
|
+
else if (async) {
|
|
19
|
+
env.stack.push({ async: true });
|
|
20
|
+
}
|
|
21
|
+
return value;
|
|
22
|
+
};
|
|
23
|
+
var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
|
|
24
|
+
return function (env) {
|
|
25
|
+
function fail(e) {
|
|
26
|
+
env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
|
|
27
|
+
env.hasError = true;
|
|
28
|
+
}
|
|
29
|
+
var r, s = 0;
|
|
30
|
+
function next() {
|
|
31
|
+
while (r = env.stack.pop()) {
|
|
32
|
+
try {
|
|
33
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
34
|
+
if (r.dispose) {
|
|
35
|
+
var result = r.dispose.call(r.value);
|
|
36
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
|
|
37
|
+
}
|
|
38
|
+
else s |= 1;
|
|
39
|
+
}
|
|
40
|
+
catch (e) {
|
|
41
|
+
fail(e);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
45
|
+
if (env.hasError) throw env.error;
|
|
46
|
+
}
|
|
47
|
+
return next();
|
|
48
|
+
};
|
|
49
|
+
})(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
50
|
+
var e = new Error(message);
|
|
51
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
52
|
+
});
|
|
1
53
|
import pRetry from 'p-retry';
|
|
2
54
|
import { BrowserforcePlugin } from '../../plugin.js';
|
|
3
55
|
const BASE_PATH = '_ui/s2s/ui/PartnerNetworkEnable/e';
|
|
4
56
|
export class SalesforceToSalesforce extends BrowserforcePlugin {
|
|
5
57
|
async retrieve() {
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
58
|
+
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
59
|
+
try {
|
|
60
|
+
const page = __addDisposableResource(env_1, await this.browserforce.openPage(BASE_PATH), true);
|
|
61
|
+
const response = {
|
|
62
|
+
enabled: true,
|
|
63
|
+
};
|
|
64
|
+
const checkedImageCount = await page
|
|
65
|
+
.getByRole('img', { name: 'Checked' })
|
|
66
|
+
.count();
|
|
67
|
+
if (checkedImageCount === 0) {
|
|
68
|
+
response.enabled = false;
|
|
69
|
+
}
|
|
70
|
+
return response;
|
|
71
|
+
}
|
|
72
|
+
catch (e_1) {
|
|
73
|
+
env_1.error = e_1;
|
|
74
|
+
env_1.hasError = true;
|
|
75
|
+
}
|
|
76
|
+
finally {
|
|
77
|
+
const result_1 = __disposeResources(env_1);
|
|
78
|
+
if (result_1)
|
|
79
|
+
await result_1;
|
|
80
|
+
}
|
|
18
81
|
}
|
|
19
82
|
async apply(config) {
|
|
20
83
|
if (config.enabled === false) {
|
|
@@ -22,14 +85,24 @@ export class SalesforceToSalesforce extends BrowserforcePlugin {
|
|
|
22
85
|
}
|
|
23
86
|
// sometimes the setting is not being applied although no error is being displayed
|
|
24
87
|
await pRetry(async () => {
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
88
|
+
const env_2 = { stack: [], error: void 0, hasError: false };
|
|
89
|
+
try {
|
|
90
|
+
const page = __addDisposableResource(env_2, await this.browserforce.openPage(BASE_PATH), true);
|
|
91
|
+
await page.locator('#penabled').check();
|
|
92
|
+
await page.getByRole('button', { name: 'save' }).first().click();
|
|
93
|
+
const result = await this.retrieve();
|
|
94
|
+
if (result.enabled !== config.enabled) {
|
|
95
|
+
throw new Error('setting was not applied as expected');
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
catch (e_2) {
|
|
99
|
+
env_2.error = e_2;
|
|
100
|
+
env_2.hasError = true;
|
|
101
|
+
}
|
|
102
|
+
finally {
|
|
103
|
+
const result_2 = __disposeResources(env_2);
|
|
104
|
+
if (result_2)
|
|
105
|
+
await result_2;
|
|
33
106
|
}
|
|
34
107
|
});
|
|
35
108
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/salesforce-to-salesforce/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,SAAS,GAAG,mCAAmC,CAAC;AAMtD,MAAM,OAAO,sBAAuB,SAAQ,kBAAkB;IACrD,KAAK,CAAC,QAAQ
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/salesforce-to-salesforce/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,SAAS,GAAG,mCAAmC,CAAC;AAMtD,MAAM,OAAO,sBAAuB,SAAQ,kBAAkB;IACrD,KAAK,CAAC,QAAQ;;;YACnB,MAAY,IAAI,kCAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAA,CAAC;YAC/D,MAAM,QAAQ,GAAG;gBACf,OAAO,EAAE,IAAI;aACd,CAAC;YAEF,MAAM,iBAAiB,GAAG,MAAM,IAAI;iBACjC,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;iBACrC,KAAK,EAAE,CAAC;YACX,IAAI,iBAAiB,KAAK,CAAC,EAAE,CAAC;gBAC5B,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;YAC3B,CAAC;YAED,OAAO,QAAQ,CAAC;;;;;;;;;;;KACjB;IAEM,KAAK,CAAC,KAAK,CAAC,MAAc;QAC/B,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QAED,kFAAkF;QAClF,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE;;;gBACtB,MAAY,IAAI,kCAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAA,CAAC;gBAE/D,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;gBACxC,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;gBAEjE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACrC,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;oBACtC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;gBACzD,CAAC;;;;;;;;;;;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,3 +1,55 @@
|
|
|
1
|
+
var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
|
|
2
|
+
if (value !== null && value !== void 0) {
|
|
3
|
+
if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
|
|
4
|
+
var dispose, inner;
|
|
5
|
+
if (async) {
|
|
6
|
+
if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
|
|
7
|
+
dispose = value[Symbol.asyncDispose];
|
|
8
|
+
}
|
|
9
|
+
if (dispose === void 0) {
|
|
10
|
+
if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
|
|
11
|
+
dispose = value[Symbol.dispose];
|
|
12
|
+
if (async) inner = dispose;
|
|
13
|
+
}
|
|
14
|
+
if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
|
|
15
|
+
if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
|
|
16
|
+
env.stack.push({ value: value, dispose: dispose, async: async });
|
|
17
|
+
}
|
|
18
|
+
else if (async) {
|
|
19
|
+
env.stack.push({ async: true });
|
|
20
|
+
}
|
|
21
|
+
return value;
|
|
22
|
+
};
|
|
23
|
+
var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
|
|
24
|
+
return function (env) {
|
|
25
|
+
function fail(e) {
|
|
26
|
+
env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
|
|
27
|
+
env.hasError = true;
|
|
28
|
+
}
|
|
29
|
+
var r, s = 0;
|
|
30
|
+
function next() {
|
|
31
|
+
while (r = env.stack.pop()) {
|
|
32
|
+
try {
|
|
33
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
34
|
+
if (r.dispose) {
|
|
35
|
+
var result = r.dispose.call(r.value);
|
|
36
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
|
|
37
|
+
}
|
|
38
|
+
else s |= 1;
|
|
39
|
+
}
|
|
40
|
+
catch (e) {
|
|
41
|
+
fail(e);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
45
|
+
if (env.hasError) throw env.error;
|
|
46
|
+
}
|
|
47
|
+
return next();
|
|
48
|
+
};
|
|
49
|
+
})(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
50
|
+
var e = new Error(message);
|
|
51
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
52
|
+
});
|
|
1
53
|
import { BrowserforcePlugin } from '../../../plugin.js';
|
|
2
54
|
const EDIT_VIEW_PATH = 'lightning/setup/OrgDomain/page?address=%2Fdomainname%2FEditLogin.apexp';
|
|
3
55
|
const SETUP_FORM_SELECTOR = 'form[id="BrandSetup:brandSetupForm"]';
|
|
@@ -5,63 +57,83 @@ const SERVICE_CHECKBOX_SELECTOR = 'input.authOption[type="checkbox"]';
|
|
|
5
57
|
const SAVE_BUTTON_SELECTOR = 'input[id$=":Save"]';
|
|
6
58
|
export class AuthenticationConfiguration extends BrowserforcePlugin {
|
|
7
59
|
async retrieve(definition) {
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
.
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
60
|
+
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
61
|
+
try {
|
|
62
|
+
const page = __addDisposableResource(env_1, await this.browserforce.openPage(EDIT_VIEW_PATH), true);
|
|
63
|
+
const frameOrPage = await this.browserforce.waitForSelectorInFrameOrPage(page, SETUP_FORM_SELECTOR);
|
|
64
|
+
const services = await frameOrPage
|
|
65
|
+
.locator(SERVICE_CHECKBOX_SELECTOR)
|
|
66
|
+
.evaluateAll((inputs, definedServices) => inputs
|
|
67
|
+
.map((cb) => {
|
|
68
|
+
const labelElement = document.querySelector(`label[for="${cb.id}"]`);
|
|
69
|
+
const label = labelElement
|
|
70
|
+
? labelElement.textContent.trim()
|
|
71
|
+
: cb.id;
|
|
72
|
+
return {
|
|
73
|
+
label,
|
|
74
|
+
enabled: cb.checked,
|
|
75
|
+
};
|
|
76
|
+
})
|
|
77
|
+
.filter((service) => definedServices.some((definedService) => definedService.label === service.label)), definition.services);
|
|
78
|
+
return { services };
|
|
79
|
+
}
|
|
80
|
+
catch (e_1) {
|
|
81
|
+
env_1.error = e_1;
|
|
82
|
+
env_1.hasError = true;
|
|
83
|
+
}
|
|
84
|
+
finally {
|
|
85
|
+
const result_1 = __disposeResources(env_1);
|
|
86
|
+
if (result_1)
|
|
87
|
+
await result_1;
|
|
88
|
+
}
|
|
26
89
|
}
|
|
27
90
|
async apply(plan) {
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
labelElement.
|
|
38
|
-
|
|
91
|
+
const env_2 = { stack: [], error: void 0, hasError: false };
|
|
92
|
+
try {
|
|
93
|
+
const page = __addDisposableResource(env_2, await this.browserforce.openPage(EDIT_VIEW_PATH), true);
|
|
94
|
+
const frameOrPage = await this.browserforce.waitForSelectorInFrameOrPage(page, SETUP_FORM_SELECTOR);
|
|
95
|
+
for (const svc of plan.services) {
|
|
96
|
+
const checkboxId = (await frameOrPage
|
|
97
|
+
.locator(SERVICE_CHECKBOX_SELECTOR)
|
|
98
|
+
.evaluateAll((inputs, serviceName) => {
|
|
99
|
+
for (const inp of inputs) {
|
|
100
|
+
const labelElement = document.querySelector(`label[for="${inp.id}"]`);
|
|
101
|
+
if (labelElement &&
|
|
102
|
+
labelElement.textContent.trim() === serviceName) {
|
|
103
|
+
return inp.id;
|
|
104
|
+
}
|
|
39
105
|
}
|
|
106
|
+
return null;
|
|
107
|
+
}, svc.label));
|
|
108
|
+
if (!checkboxId) {
|
|
109
|
+
throw new Error(`Authentication service "${svc.label}" not found`);
|
|
110
|
+
}
|
|
111
|
+
const selector = `[id="${checkboxId}"]`;
|
|
112
|
+
const isChecked = await frameOrPage.locator(selector).isChecked();
|
|
113
|
+
if (svc.enabled !== isChecked) {
|
|
114
|
+
await frameOrPage.locator(selector).click();
|
|
40
115
|
}
|
|
41
|
-
return null;
|
|
42
|
-
}, svc.label));
|
|
43
|
-
if (!checkboxId) {
|
|
44
|
-
await page.close();
|
|
45
|
-
throw new Error(`Authentication service "${svc.label}" not found`);
|
|
46
116
|
}
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
117
|
+
const anyChecked = await frameOrPage
|
|
118
|
+
.locator(SERVICE_CHECKBOX_SELECTOR)
|
|
119
|
+
.evaluateAll((inputs) => inputs.some((cb) => cb.checked));
|
|
120
|
+
if (!anyChecked) {
|
|
121
|
+
throw new Error('Change failed: "You must select at least one authentication service."');
|
|
51
122
|
}
|
|
123
|
+
await Promise.all([
|
|
124
|
+
page.waitForResponse((resp) => new URL(resp.url()).pathname === '/domainname/DomainName.apexp'),
|
|
125
|
+
frameOrPage.locator(SAVE_BUTTON_SELECTOR).first().click(),
|
|
126
|
+
]);
|
|
127
|
+
}
|
|
128
|
+
catch (e_2) {
|
|
129
|
+
env_2.error = e_2;
|
|
130
|
+
env_2.hasError = true;
|
|
52
131
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
await page.close();
|
|
58
|
-
throw new Error('Change failed: "You must select at least one authentication service."');
|
|
132
|
+
finally {
|
|
133
|
+
const result_2 = __disposeResources(env_2);
|
|
134
|
+
if (result_2)
|
|
135
|
+
await result_2;
|
|
59
136
|
}
|
|
60
|
-
await Promise.all([
|
|
61
|
-
page.waitForResponse((resp) => new URL(resp.url()).pathname === '/domainname/DomainName.apexp'),
|
|
62
|
-
frameOrPage.locator(SAVE_BUTTON_SELECTOR).first().click(),
|
|
63
|
-
]);
|
|
64
|
-
await page.close();
|
|
65
137
|
}
|
|
66
138
|
}
|
|
67
139
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/security/authentication-configuration/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AASxD,MAAM,cAAc,GAClB,wEAAwE,CAAC;AAE3E,MAAM,mBAAmB,GAAG,sCAAsC,CAAC;AACnE,MAAM,yBAAyB,GAAG,mCAAmC,CAAC;AACtE,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAElD,MAAM,OAAO,2BAA4B,SAAQ,kBAAkB;IAC1D,KAAK,CAAC,QAAQ,CAAC,UAAkB
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/security/authentication-configuration/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,62 @@
|
|
|
1
|
+
var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
|
|
2
|
+
if (value !== null && value !== void 0) {
|
|
3
|
+
if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
|
|
4
|
+
var dispose, inner;
|
|
5
|
+
if (async) {
|
|
6
|
+
if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
|
|
7
|
+
dispose = value[Symbol.asyncDispose];
|
|
8
|
+
}
|
|
9
|
+
if (dispose === void 0) {
|
|
10
|
+
if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
|
|
11
|
+
dispose = value[Symbol.dispose];
|
|
12
|
+
if (async) inner = dispose;
|
|
13
|
+
}
|
|
14
|
+
if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
|
|
15
|
+
if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
|
|
16
|
+
env.stack.push({ value: value, dispose: dispose, async: async });
|
|
17
|
+
}
|
|
18
|
+
else if (async) {
|
|
19
|
+
env.stack.push({ async: true });
|
|
20
|
+
}
|
|
21
|
+
return value;
|
|
22
|
+
};
|
|
23
|
+
var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
|
|
24
|
+
return function (env) {
|
|
25
|
+
function fail(e) {
|
|
26
|
+
env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
|
|
27
|
+
env.hasError = true;
|
|
28
|
+
}
|
|
29
|
+
var r, s = 0;
|
|
30
|
+
function next() {
|
|
31
|
+
while (r = env.stack.pop()) {
|
|
32
|
+
try {
|
|
33
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
34
|
+
if (r.dispose) {
|
|
35
|
+
var result = r.dispose.call(r.value);
|
|
36
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
|
|
37
|
+
}
|
|
38
|
+
else s |= 1;
|
|
39
|
+
}
|
|
40
|
+
catch (e) {
|
|
41
|
+
fail(e);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
45
|
+
if (env.hasError) throw env.error;
|
|
46
|
+
}
|
|
47
|
+
return next();
|
|
48
|
+
};
|
|
49
|
+
})(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
50
|
+
var e = new Error(message);
|
|
51
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
52
|
+
});
|
|
1
53
|
import { existsSync } from 'fs';
|
|
2
54
|
import * as path from 'path';
|
|
3
55
|
import * as queryString from 'querystring';
|
|
4
56
|
import { waitForPageErrors } from '../../../browserforce.js';
|
|
5
57
|
import { BrowserforcePlugin } from '../../../plugin.js';
|
|
6
58
|
const CERT_PREFIX_PATH = '0P1';
|
|
7
|
-
const KEYSTORE_IMPORT_PATH =
|
|
59
|
+
const KEYSTORE_IMPORT_PATH = `_ui/security/certificate/KeyStoreImportUi/e?retURL=${encodeURIComponent('/setup/forcecomHomepage.apexp')}`;
|
|
8
60
|
const FILE_UPLOAD_SELECTOR = 'input[type="file"]';
|
|
9
61
|
const KEYSTORE_PASSWORD_SELECTOR = 'input#Password';
|
|
10
62
|
const SAVE_BUTTON_SELECTOR = 'input[name="save"]';
|
|
@@ -83,73 +135,106 @@ export class CertificateAndKeyManagement extends BrowserforcePlugin {
|
|
|
83
135
|
// update
|
|
84
136
|
}
|
|
85
137
|
else {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
138
|
+
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
139
|
+
try {
|
|
140
|
+
// create new
|
|
141
|
+
const urlAttributes = {
|
|
142
|
+
DeveloperName: certificate.name,
|
|
143
|
+
MasterLabel: certificate.label,
|
|
144
|
+
};
|
|
145
|
+
if (certificate.keySize) {
|
|
146
|
+
urlAttributes['keySize'] = certificate.keySize;
|
|
147
|
+
}
|
|
148
|
+
if (certificate.exportable !== undefined) {
|
|
149
|
+
urlAttributes['exp'] = certificate.exportable ? 1 : 0;
|
|
150
|
+
}
|
|
151
|
+
const page = __addDisposableResource(env_1, await this.browserforce.openPage(`${CERT_PREFIX_PATH}/e?${queryString.stringify(urlAttributes)}`), true);
|
|
152
|
+
await page.locator(SAVE_BUTTON_SELECTOR).first().click();
|
|
153
|
+
// -> id (15 character Salesforce ID starting with 0P1)
|
|
154
|
+
await page.waitForURL((url) => /\/0P1\w{12}/.test(url.pathname));
|
|
93
155
|
}
|
|
94
|
-
|
|
95
|
-
|
|
156
|
+
catch (e_1) {
|
|
157
|
+
env_1.error = e_1;
|
|
158
|
+
env_1.hasError = true;
|
|
159
|
+
}
|
|
160
|
+
finally {
|
|
161
|
+
const result_1 = __disposeResources(env_1);
|
|
162
|
+
if (result_1)
|
|
163
|
+
await result_1;
|
|
96
164
|
}
|
|
97
|
-
const page = await this.browserforce.openPage(`${CERT_PREFIX_PATH}/e?${queryString.stringify(urlAttributes)}`);
|
|
98
|
-
await page.locator(SAVE_BUTTON_SELECTOR).first().click();
|
|
99
|
-
// -> id (15 character Salesforce ID starting with 0P1)
|
|
100
|
-
await page.waitForURL((url) => /\/0P1\w{12}/.test(url.pathname));
|
|
101
|
-
await page.close();
|
|
102
165
|
}
|
|
103
166
|
}
|
|
104
167
|
}
|
|
105
168
|
if (plan.importFromKeystore) {
|
|
106
169
|
for (const certificate of plan.importFromKeystore) {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
await page
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
page.
|
|
125
|
-
|
|
170
|
+
const env_2 = { stack: [], error: void 0, hasError: false };
|
|
171
|
+
try {
|
|
172
|
+
// TODO: make relative to this.command.flags.definitionfile
|
|
173
|
+
if (!certificate.filePath) {
|
|
174
|
+
throw new Error(`To import a certificate, the filePath is mandatory.`);
|
|
175
|
+
}
|
|
176
|
+
const filePath = path.resolve(certificate.filePath);
|
|
177
|
+
if (!existsSync(filePath)) {
|
|
178
|
+
throw new Error(`file does not exist: ${filePath}`);
|
|
179
|
+
}
|
|
180
|
+
const page = __addDisposableResource(env_2, await this.browserforce.openPage(`${KEYSTORE_IMPORT_PATH}`), true);
|
|
181
|
+
await page.locator(FILE_UPLOAD_SELECTOR).setInputFiles(filePath);
|
|
182
|
+
if (certificate.password) {
|
|
183
|
+
await page
|
|
184
|
+
.locator(KEYSTORE_PASSWORD_SELECTOR)
|
|
185
|
+
.fill(certificate.password);
|
|
186
|
+
}
|
|
187
|
+
await page.locator(SAVE_BUTTON_SELECTOR).first().click();
|
|
188
|
+
await Promise.race([
|
|
189
|
+
page.waitForURL((url) => url.pathname === '/setup/forcecomHomepage.apexp'),
|
|
190
|
+
(async () => {
|
|
191
|
+
try {
|
|
192
|
+
await waitForPageErrors(page);
|
|
193
|
+
}
|
|
194
|
+
catch (e) {
|
|
195
|
+
if (e instanceof Error && e.message === 'Data Not Available') {
|
|
196
|
+
throw new Error('Failed to import certificate from Keystore. Please enable Identity Provider first. https://salesforce.stackexchange.com/questions/61618/import-keystore-in-certificate-and-key-management');
|
|
197
|
+
}
|
|
198
|
+
throw e;
|
|
199
|
+
}
|
|
200
|
+
})(),
|
|
201
|
+
]);
|
|
202
|
+
if (certificate.name) {
|
|
203
|
+
const env_3 = { stack: [], error: void 0, hasError: false };
|
|
126
204
|
try {
|
|
127
|
-
|
|
205
|
+
// rename cert as it has the wrong name
|
|
206
|
+
// JKS aliases are case-insensitive (and so lowercase)
|
|
207
|
+
const certsResponse = await this.org
|
|
208
|
+
.getConnection()
|
|
209
|
+
.tooling.query(`SELECT Id FROM Certificate WHERE DeveloperName = '${certificate.name.toLowerCase()}'`);
|
|
210
|
+
const importedCert = certsResponse.records[0];
|
|
211
|
+
const certPage = __addDisposableResource(env_3, await this.browserforce.openPage(`${importedCert.Id}/e?MasterLabel=${certificate.name}&DeveloperName=${certificate.name}&retURL=${encodeURIComponent('/setup/forcecomHomepage.apexp')}`), true);
|
|
212
|
+
await certPage.locator(SAVE_BUTTON_SELECTOR).first().click();
|
|
213
|
+
await Promise.race([
|
|
214
|
+
await page.waitForURL((url) => url.pathname === '/setup/forcecomHomepage.apexp'),
|
|
215
|
+
waitForPageErrors(certPage),
|
|
216
|
+
]);
|
|
128
217
|
}
|
|
129
|
-
catch (
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
}
|
|
133
|
-
throw e;
|
|
218
|
+
catch (e_2) {
|
|
219
|
+
env_3.error = e_2;
|
|
220
|
+
env_3.hasError = true;
|
|
134
221
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
await certPage.close();
|
|
222
|
+
finally {
|
|
223
|
+
const result_2 = __disposeResources(env_3);
|
|
224
|
+
if (result_2)
|
|
225
|
+
await result_2;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
catch (e_3) {
|
|
230
|
+
env_2.error = e_3;
|
|
231
|
+
env_2.hasError = true;
|
|
232
|
+
}
|
|
233
|
+
finally {
|
|
234
|
+
const result_3 = __disposeResources(env_2);
|
|
235
|
+
if (result_3)
|
|
236
|
+
await result_3;
|
|
151
237
|
}
|
|
152
|
-
await page.close();
|
|
153
238
|
}
|
|
154
239
|
}
|
|
155
240
|
}
|