@salesforce/core 4.0.0 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +1 -1
- package/README.md +93 -44
- package/lib/config/aliasesConfig.d.ts +12 -0
- package/lib/config/aliasesConfig.js +28 -0
- package/lib/config/authInfoConfig.d.ts +19 -0
- package/lib/config/authInfoConfig.js +35 -0
- package/lib/config/config.d.ts +87 -22
- package/lib/config/config.js +117 -65
- package/lib/config/configAggregator.d.ts +41 -35
- package/lib/config/configAggregator.js +102 -73
- package/lib/config/configFile.d.ts +2 -2
- package/lib/config/configFile.js +38 -29
- package/lib/config/configGroup.d.ts +141 -0
- package/lib/config/configGroup.js +225 -0
- package/lib/config/configStore.d.ts +9 -9
- package/lib/config/configStore.js +17 -15
- package/lib/config/envVars.d.ts +15 -9
- package/lib/config/envVars.js +71 -47
- package/lib/config/orgUsersConfig.js +2 -0
- package/lib/config/sandboxOrgConfig.js +2 -0
- package/lib/config/sandboxProcessCache.d.ts +16 -0
- package/lib/config/sandboxProcessCache.js +38 -0
- package/lib/config/tokensConfig.d.ts +10 -0
- package/lib/config/tokensConfig.js +29 -0
- package/lib/config/ttlConfig.d.ts +34 -0
- package/lib/config/ttlConfig.js +50 -0
- package/lib/crypto/crypto.js +15 -22
- package/lib/crypto/keyChain.js +2 -3
- package/lib/crypto/keyChainImpl.d.ts +5 -3
- package/lib/crypto/keyChainImpl.js +58 -61
- package/lib/crypto/secureBuffer.d.ts +1 -1
- package/lib/deviceOauthService.d.ts +3 -3
- package/lib/deviceOauthService.js +27 -25
- package/lib/exported.d.ts +15 -12
- package/lib/exported.js +28 -16
- package/lib/global.d.ts +11 -3
- package/lib/global.js +39 -12
- package/lib/lifecycleEvents.d.ts +1 -1
- package/lib/lifecycleEvents.js +3 -0
- package/lib/logger.d.ts +19 -9
- package/lib/logger.js +112 -86
- package/lib/messages.d.ts +53 -36
- package/lib/messages.js +81 -91
- package/lib/org/authInfo.d.ts +56 -20
- package/lib/org/authInfo.js +232 -131
- package/lib/org/authRemover.d.ts +8 -7
- package/lib/org/authRemover.js +32 -28
- package/lib/org/connection.d.ts +13 -37
- package/lib/org/connection.js +78 -124
- package/lib/org/index.js +5 -1
- package/lib/org/org.d.ts +151 -48
- package/lib/org/org.js +466 -220
- package/lib/org/orgConfigProperties.d.ts +64 -3
- package/lib/org/orgConfigProperties.js +96 -4
- package/lib/org/permissionSetAssignment.js +4 -13
- package/lib/org/scratchOrgCache.d.ts +20 -0
- package/lib/org/scratchOrgCache.js +33 -0
- package/lib/org/scratchOrgCreate.d.ts +28 -17
- package/lib/org/scratchOrgCreate.js +125 -53
- package/lib/org/scratchOrgErrorCodes.d.ts +9 -3
- package/lib/org/scratchOrgErrorCodes.js +34 -17
- package/lib/org/scratchOrgFeatureDeprecation.js +1 -6
- package/lib/org/scratchOrgInfoApi.d.ts +21 -47
- package/lib/org/scratchOrgInfoApi.js +129 -63
- package/lib/org/scratchOrgInfoGenerator.d.ts +6 -5
- package/lib/org/scratchOrgInfoGenerator.js +76 -62
- package/lib/org/scratchOrgLifecycleEvents.d.ts +10 -0
- package/lib/org/scratchOrgLifecycleEvents.js +41 -0
- package/lib/org/scratchOrgSettingsGenerator.d.ts +44 -21
- package/lib/org/scratchOrgSettingsGenerator.js +165 -98
- package/lib/org/scratchOrgTypes.d.ts +43 -0
- package/lib/org/scratchOrgTypes.js +9 -0
- package/lib/org/user.d.ts +1 -1
- package/lib/org/user.js +25 -34
- package/lib/schema/printer.d.ts +6 -0
- package/lib/schema/printer.js +34 -31
- package/lib/schema/validator.d.ts +12 -10
- package/lib/schema/validator.js +56 -76
- package/lib/{sfdxError.d.ts → sfError.d.ts} +12 -20
- package/lib/{sfdxError.js → sfError.js} +40 -30
- package/lib/{sfdxProject.d.ts → sfProject.d.ts} +75 -35
- package/lib/sfProject.js +651 -0
- package/lib/{globalInfo → stateAggregator}/accessors/aliasAccessor.d.ts +27 -12
- package/lib/{globalInfo → stateAggregator}/accessors/aliasAccessor.js +47 -31
- package/lib/stateAggregator/accessors/orgAccessor.d.ts +101 -0
- package/lib/stateAggregator/accessors/orgAccessor.js +240 -0
- package/lib/stateAggregator/accessors/sandboxAccessor.d.ts +8 -0
- package/lib/stateAggregator/accessors/sandboxAccessor.js +28 -0
- package/lib/stateAggregator/accessors/tokenAccessor.d.ts +63 -0
- package/lib/stateAggregator/accessors/tokenAccessor.js +80 -0
- package/lib/stateAggregator/index.d.ts +4 -0
- package/lib/stateAggregator/index.js +27 -0
- package/lib/stateAggregator/stateAggregator.d.ts +25 -0
- package/lib/stateAggregator/stateAggregator.js +46 -0
- package/lib/status/myDomainResolver.d.ts +1 -1
- package/lib/status/myDomainResolver.js +4 -4
- package/lib/status/pollingClient.js +4 -4
- package/lib/status/streamingClient.d.ts +2 -2
- package/lib/status/streamingClient.js +58 -63
- package/lib/status/types.d.ts +2 -2
- package/lib/testSetup.d.ts +206 -75
- package/lib/testSetup.js +463 -165
- package/lib/util/cache.d.ts +2 -2
- package/lib/util/cache.js +6 -6
- package/lib/util/checkLightningDomain.js +3 -4
- package/lib/util/directoryWriter.d.ts +12 -0
- package/lib/util/directoryWriter.js +54 -0
- package/lib/util/getJwtAudienceUrl.js +1 -1
- package/lib/util/internal.d.ts +28 -2
- package/lib/util/internal.js +65 -8
- package/lib/util/jsonXmlTools.js +2 -4
- package/lib/util/mapKeys.d.ts +9 -9
- package/lib/util/mapKeys.js +13 -9
- package/lib/util/sfdc.d.ts +51 -51
- package/lib/util/sfdc.js +74 -79
- package/lib/util/sfdcUrl.d.ts +5 -19
- package/lib/util/sfdcUrl.js +40 -49
- package/lib/util/structuredWriter.d.ts +9 -0
- package/lib/util/structuredWriter.js +3 -0
- package/lib/util/zipWriter.d.ts +8 -6
- package/lib/util/zipWriter.js +13 -13
- package/lib/webOAuthServer.d.ts +20 -6
- package/lib/webOAuthServer.js +102 -56
- package/messageTransformer/messageTransformer.ts +93 -0
- package/messages/auth.md +9 -1
- package/messages/config.md +42 -6
- package/messages/connection.md +8 -0
- package/messages/core.md +10 -0
- package/messages/envVars.md +37 -3
- package/messages/org.md +21 -1
- package/messages/scratchOrgCreate.md +2 -6
- package/messages/scratchOrgErrorCodes.md +17 -1
- package/messages/scratchOrgInfoApi.md +9 -0
- package/messages/scratchOrgInfoGenerator.md +9 -1
- package/package.json +121 -46
- package/CHANGELOG.md +0 -1244
- package/lib/config/keychainConfig.d.ts +0 -19
- package/lib/config/keychainConfig.js +0 -43
- package/lib/globalInfo/accessors/orgAccessor.d.ts +0 -13
- package/lib/globalInfo/accessors/orgAccessor.js +0 -45
- package/lib/globalInfo/accessors/tokenAccessor.d.ts +0 -13
- package/lib/globalInfo/accessors/tokenAccessor.js +0 -35
- package/lib/globalInfo/globalInfoConfig.d.ts +0 -36
- package/lib/globalInfo/globalInfoConfig.js +0 -105
- package/lib/globalInfo/index.d.ts +0 -6
- package/lib/globalInfo/index.js +0 -29
- package/lib/globalInfo/sfdxDataHandler.d.ts +0 -43
- package/lib/globalInfo/sfdxDataHandler.js +0 -217
- package/lib/globalInfo/types.d.ts +0 -39
- package/lib/globalInfo/types.js +0 -10
- package/lib/sfdxProject.js +0 -557
- package/lib/util/fs.d.ts +0 -201
- package/lib/util/fs.js +0 -378
package/lib/org/authRemover.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AsyncOptionalCreatable } from '@salesforce/kit';
|
|
2
|
-
import {
|
|
2
|
+
import { JsonMap } from '@salesforce/ts-types';
|
|
3
|
+
import { AuthFields } from '.';
|
|
3
4
|
/**
|
|
4
5
|
* Handles the removing of authorizations, which includes deleting the auth file
|
|
5
6
|
* in the global .sfdx folder, deleting any configs that are associated with the username/alias,
|
|
@@ -25,7 +26,7 @@ import { SfOrg, SfOrgs } from '../globalInfo';
|
|
|
25
26
|
*/
|
|
26
27
|
export declare class AuthRemover extends AsyncOptionalCreatable {
|
|
27
28
|
private config;
|
|
28
|
-
private
|
|
29
|
+
private stateAggregator;
|
|
29
30
|
private logger;
|
|
30
31
|
/**
|
|
31
32
|
* Removes the authentication and any configs or aliases associated with it
|
|
@@ -39,19 +40,19 @@ export declare class AuthRemover extends AsyncOptionalCreatable {
|
|
|
39
40
|
removeAllAuths(): Promise<void>;
|
|
40
41
|
/**
|
|
41
42
|
* Finds authorization files for username/alias in the global .sfdx folder
|
|
42
|
-
* **Throws** *{@link
|
|
43
|
-
* **Throws** *{@link
|
|
43
|
+
* **Throws** *{@link SfError}{ name: 'TargetOrgNotSetError' }* if no target-org
|
|
44
|
+
* **Throws** *{@link SfError}{ name: 'NamedOrgNotFoundError' }* if specified user is not found
|
|
44
45
|
*
|
|
45
46
|
* @param usernameOrAlias username or alias of the auth you want to find, defaults to the configured target-org
|
|
46
47
|
* @returns {Promise<SfOrg>}
|
|
47
48
|
*/
|
|
48
|
-
findAuth(usernameOrAlias?: string): Promise<
|
|
49
|
+
findAuth(usernameOrAlias?: string): Promise<AuthFields>;
|
|
49
50
|
/**
|
|
50
51
|
* Finds all org authorizations in the global info file (.sf/sf.json)
|
|
51
52
|
*
|
|
52
|
-
* @returns {
|
|
53
|
+
* @returns {Record<string, AuthFields>}
|
|
53
54
|
*/
|
|
54
|
-
findAllAuths():
|
|
55
|
+
findAllAuths(): Record<string, AuthFields & JsonMap>;
|
|
55
56
|
protected init(): Promise<void>;
|
|
56
57
|
/**
|
|
57
58
|
* Returns the username for a given alias if the alias exists.
|
package/lib/org/authRemover.js
CHANGED
|
@@ -11,11 +11,9 @@ const kit_1 = require("@salesforce/kit");
|
|
|
11
11
|
const configAggregator_1 = require("../config/configAggregator");
|
|
12
12
|
const logger_1 = require("../logger");
|
|
13
13
|
const messages_1 = require("../messages");
|
|
14
|
-
const
|
|
14
|
+
const stateAggregator_1 = require("../stateAggregator");
|
|
15
15
|
const orgConfigProperties_1 = require("./orgConfigProperties");
|
|
16
|
-
messages_1.Messages.importMessagesDirectory(__dirname);
|
|
17
|
-
const coreMessages = messages_1.Messages.load('@salesforce/core', 'core', ['namedOrgNotFound']);
|
|
18
|
-
const messages = messages_1.Messages.load('@salesforce/core', 'auth', ['targetOrgNotSet']);
|
|
16
|
+
const messages = new messages_1.Messages('@salesforce/core', 'auth', new Map([["targetOrgNotSet", "A default user is not set."], ["targetOrgNotSet.actions", ["Run the \"sfdx auth\" commands with --setdefaultusername to connect to an org and set it as your default org.", "Run \"force:org:create\" with --setdefaultusername to create a scratch org and set it as your default org.", "Run \"sfdx config:set defaultusername=<username>\" to set your default username."]], ["portInUse", "Cannot start the OAuth redirect server on port %s."], ["portInUse.actions", ["Kill the process running on port %s or use a custom connected app and update OauthLocalPort in the sfdx-project.json file."]], ["invalidRequestMethod", "Invalid request method: %s"], ["invalidRequestUri", "Invalid request uri: %s"], ["pollingTimeout", "The device authorization request timed out. After executing force:auth:device:login, you must approve access to the device within 10 minutes. This can happen if the URL wasn\u2019t copied into the browser, login was not attempted, or the 2FA process was not completed within 10 minutes. Request authorization again."], ["serverErrorHTMLResponse", "<html><head><style>body {background-color:#F4F6F9; font-family: Arial, sans-serif; font-size: 0.8125rem; line-height: 1.5rem; color: #16325c;} #center {margin: auto; width: 370px; padding: 100px 0px 20px;} #logo-container {margin-left: auto; margin-right: auto; text-align: center;} #logo {max-width: 180px; max-height: 113px; margin-bottom: 2rem; border: 0;} #header {font-size: 1.5rem; text-align: center; margin-bottom: 1rem;} #message {background-color: #FFFFFF; margin: 0px auto; padding: 1.25rem; border-radius: 0.25rem; border: 1px solid #D8DDE6;} #footer {height: 24px; width: 370px; text-align: center; font-size: .75rem; position: absolute; bottom: 10;}</style></head><body><div id=\"center\"><div id=\"logo-container\"><img id=\"logo\" aria-hidden=\"true\" name=\"logo\" alt=\"Salesforce\" src=\"data:image/svg+xml;base64,%s\"></div><div id=\"header\">%s</div><div id=\"message\">%s<br/><br/>This is most likely <b>not</b> an error with the Salesforce CLI. Please ensure all information is accurate and try again.</div><div id=\"footer\">© %s Salesforce, Inc. All rights reserved.</div></div></body></html>"], ["missingAuthCode", "No authentication code found on login response."], ["serverSuccessHTMLResponse", "<html><head><style>body {background-color:#F4F6F9; font-family: Arial, sans-serif; font-size: 0.8125rem; line-height: 1.5rem; color: #16325c;} #center {margin: auto; width: 300px; padding: 100px 0px 20px;} #logo-container {margin-left: auto; margin-right: auto; text-align: center;} #logo {max-width: 180px; max-height: 113px; margin-bottom: 2rem; border: 0;} #header {font-size: 1.5rem; text-align: center; margin-bottom: 1rem;} #message {background-color: #FFFFFF; margin: 0px auto; padding: 1.25rem; border-radius: 0.25rem; border: 1px solid #D8DDE6;} #footer {height: 24px; width: 300px; text-align: center; font-size: .75rem; position: absolute; bottom: 10;}</style></head><body><div id=\"center\"><div id=\"logo-container\"><img id=\"logo\" aria-hidden=\"true\" name=\"logo\" alt=\"Salesforce\" src=\"data:image/svg+xml;base64,%s\"></div><div id=\"header\">Authentication Successful</div><div id=\"message\">You've successfully logged in. You can now close this browser tab or window.</div><div id=\"footer\">© %s Salesforce, Inc. All rights reserved.</div></div></body></html>"], ["serverSfdcImage", "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIxLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAyNjIgMTg0IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAyNjIgMTg0OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6IzAwQTFFMDt9Cgkuc3Qxe2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU+Cjx0aXRsZT5sb2dvLXNhbGVzZm9yY2U8L3RpdGxlPgo8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KPGcgaWQ9IlRlc3QtQiI+Cgk8ZyBpZD0iTW9iaWxlLU5hdi0tLVRlc3QtQi1feDI4XzBfeDI5XyI+CgkJPGcgaWQ9Ikdyb3VwIj4KCQkJPGcgaWQ9ImxvZ28tc2FsZXNmb3JjZSI+CgkJCQk8cGF0aCBpZD0iRmlsbC0xIiBjbGFzcz0ic3QwIiBkPSJNMTA5LjIsMjAuOWM4LjQtOC43LDIwLjEtMTQuMiwzMy0xNC4yYzE3LjIsMCwzMi4xLDkuNiw0MC4xLDIzLjhjNi45LTMuMSwxNC42LTQuOCwyMi43LTQuOAoJCQkJCWMzMSwwLDU2LDI1LjMsNTYsNTYuNXMtMjUuMSw1Ni41LTU2LDU2LjVjLTMuOCwwLTcuNS0wLjQtMTEtMS4xYy03LDEyLjUtMjAuNCwyMS0zNS44LDIxYy02LjQsMC0xMi41LTEuNS0xNy45LTQuMQoJCQkJCWMtNy4xLDE2LjctMjMuNywyOC41LTQzLDI4LjVjLTIwLjEsMC0zNy4zLTEyLjctNDMuOS0zMC42Yy0yLjksMC42LTUuOSwwLjktOC45LDAuOWMtMjQsMC00My40LTE5LjYtNDMuNC00My45CgkJCQkJYzAtMTYuMiw4LjctMzAuNCwyMS43LTM4Yy0yLjctNi4xLTQuMi0xMi45LTQuMi0yMC4xQzE4LjUsMjMuNiw0MS4yLDEsNjksMUM4NS40LDEsMTAwLDguOCwxMDkuMiwyMC45Ii8+CgkJCQk8cGF0aCBpZD0iQ29tYmluZWQtU2hhcGUiIGNsYXNzPSJzdDEiIGQ9Ik0zOC43LDk1LjRsMS4xLTIuOWMwLjItMC41LDAuNS0wLjMsMC43LTAuMmMwLjMsMC4yLDAuNSwwLjMsMC45LDAuNmMzLjEsMiw2LDIsNi45LDIKCQkJCQljMi4zLDAsMy44LTEuMiwzLjgtMi45di0wLjFjMC0xLjgtMi4yLTIuNS00LjgtMy4zbC0wLjYtMC4yYy0zLjUtMS03LjMtMi41LTcuMy02Ljl2LTAuMWMwLTQuMiwzLjQtNy4yLDguMy03LjJsMC41LDAKCQkJCQljMi45LDAsNS42LDAuOCw3LjYsMi4xYzAuMiwwLjEsMC40LDAuMywwLjMsMC42Yy0wLjEsMC4zLTEsMi42LTEuMSwyLjljLTAuMiwwLjUtMC43LDAuMi0wLjcsMC4yYy0xLjgtMS00LjUtMS43LTYuOC0xLjcKCQkJCQljLTIuMSwwLTMuNCwxLjEtMy40LDIuNnYwLjFjMCwxLjcsMi4zLDIuNSw0LjksMy4zbDAuNSwwLjFjMy41LDEuMSw3LjIsMi42LDcuMiw2Ljl2MC4xYzAsNC42LTMuMyw3LjQtOC42LDcuNAoJCQkJCWMtMi42LDAtNS4xLTAuNC03LjgtMS44Yy0wLjUtMC4zLTEtMC41LTEuNS0wLjlDMzguNyw5NS45LDM4LjUsOTUuOCwzOC43LDk1LjR6IE0xMTYuNyw5NS40bDEuMS0yLjljMC4yLTAuNSwwLjYtMC4zLDAuNy0wLjIKCQkJCQljMC4zLDAuMiwwLjUsMC4zLDAuOSwwLjZjMy4xLDIsNiwyLDYuOSwyYzIuMywwLDMuOC0xLjIsMy44LTIuOXYtMC4xYzAtMS44LTIuMi0yLjUtNC44LTMuM2wtMC42LTAuMmMtMy41LTEtNy4zLTIuNS03LjMtNi45CgkJCQkJdi0wLjFjMC00LjIsMy40LTcuMiw4LjMtNy4ybDAuNSwwYzIuOSwwLDUuNiwwLjgsNy42LDIuMWMwLjIsMC4xLDAuNCwwLjMsMC4zLDAuNmMtMC4xLDAuMy0xLDIuNi0xLjEsMi45CgkJCQkJYy0wLjIsMC41LTAuNywwLjItMC43LDAuMmMtMS44LTEtNC41LTEuNy02LjgtMS43Yy0yLjEsMC0zLjQsMS4xLTMuNCwyLjZ2MC4xYzAsMS43LDIuMywyLjUsNC45LDMuM2wwLjUsMC4xCgkJCQkJYzMuNSwxLjEsNy4yLDIuNiw3LjIsNi45djAuMWMwLDQuNi0zLjMsNy40LTguNiw3LjRjLTIuNiwwLTUuMS0wLjQtNy44LTEuOGMtMC41LTAuMy0xLTAuNS0xLjUtMC45CgkJCQkJQzExNi44LDk1LjksMTE2LjYsOTUuOCwxMTYuNyw5NS40eiBNMTc0LjUsODEuN2MwLjQsMS41LDAuNywzLjEsMC43LDQuOHMtMC4yLDMuMy0wLjcsNC44Yy0wLjQsMS41LTEuMSwyLjgtMiwzLjkKCQkJCQljLTAuOSwxLjEtMi4xLDItMy40LDIuNmMtMS40LDAuNi0zLDAuOS00LjgsMC45Yy0xLjgsMC0zLjQtMC4zLTQuOC0wLjljLTEuNC0wLjYtMi41LTEuNS0zLjQtMi42Yy0wLjktMS4xLTEuNi0yLjQtMi0zLjkKCQkJCQljLTAuNC0xLjUtMC43LTMuMS0wLjctNC44YzAtMS43LDAuMi0zLjMsMC43LTQuOGMwLjQtMS41LDEuMS0yLjgsMi0zLjljMC45LTEuMSwyLjEtMiwzLjQtMi42YzEuNC0wLjYsMy0xLDQuOC0xCgkJCQkJYzEuOCwwLDMuNCwwLjMsNC44LDFjMS40LDAuNiwyLjUsMS41LDMuNCwyLjZDMTczLjQsNzguOSwxNzQuMSw4MC4yLDE3NC41LDgxLjd6IE0xNzAsODYuNGMwLTIuNi0wLjUtNC42LTEuNC02CgkJCQkJYy0wLjktMS40LTIuNC0yLjEtNC4zLTIuMWMtMiwwLTMuNCwwLjctNC4zLDIuMWMtMC45LDEuNC0xLjQsMy40LTEuNCw2YzAsMi42LDAuNSw0LjYsMS40LDYuMWMwLjksMS40LDIuMywyLjEsNC4zLDIuMQoJCQkJCWMyLDAsMy40LTAuNyw0LjMtMi4xQzE2OS42LDkxLjEsMTcwLDg5LDE3MCw4Ni40eiBNMjExLjEsOTMuOWwxLjEsM2MwLjEsMC40LTAuMiwwLjUtMC4yLDAuNWMtMS43LDAuNy00LDEuMS02LjMsMS4xCgkJCQkJYy0zLjksMC02LjgtMS4xLTguOC0zLjNjLTItMi4yLTMtNS4yLTMtOC45YzAtMS43LDAuMi0zLjMsMC43LTQuOGMwLjUtMS41LDEuMi0yLjgsMi4yLTMuOWMxLTEuMSwyLjItMiwzLjYtMi42CgkJCQkJYzEuNC0wLjYsMy4xLTEsNS0xYzEuMywwLDIuNCwwLjEsMy4zLDAuMmMxLDAuMiwyLjQsMC41LDMsMC44YzAuMSwwLDAuNCwwLjIsMC4zLDAuNWMtMC40LDEuMi0wLjcsMi0xLjEsMwoJCQkJCWMtMC4yLDAuNS0wLjUsMC4zLTAuNSwwLjNjLTEuNS0wLjUtMi45LTAuNy00LjctMC43Yy0yLjIsMC0zLjksMC43LTQuOSwyLjJjLTEuMSwxLjQtMS43LDMuMy0xLjcsNS45YzAsMi44LDAuNyw0LjgsMS45LDYuMQoJCQkJCWMxLjIsMS4zLDIuOSwxLjksNS4xLDEuOWMwLjksMCwxLjctMC4xLDIuNC0wLjJjMC43LTAuMSwxLjQtMC4zLDIuMS0wLjZDMjEwLjUsOTMuNiwyMTAuOSw5My41LDIxMS4xLDkzLjl6IE0yMzMuOCw4MC44CgkJCQkJYzEsMy40LDAuNSw2LjMsMC40LDYuNWMwLDAuNC0wLjQsMC40LTAuNCwwLjRsLTE1LjEsMGMwLjEsMi4zLDAuNiwzLjksMS44LDVjMS4xLDEuMSwyLjgsMS44LDUuMiwxLjhjMy42LDAsNS4xLTAuNyw2LjItMS4xCgkJCQkJYzAsMCwwLjQtMC4xLDAuNiwwLjNsMSwyLjhjMC4yLDAuNSwwLDAuNi0wLjEsMC43Yy0wLjksMC41LTMuMiwxLjUtNy42LDEuNWMtMi4xLDAtNC0wLjMtNS41LTAuOWMtMS41LTAuNi0yLjgtMS40LTMuOC0yLjUKCQkJCQljLTEtMS4xLTEuNy0yLjQtMi4yLTMuOGMtMC41LTEuNS0wLjctMy4xLTAuNy00LjhjMC0xLjcsMC4yLTMuMywwLjctNC44YzAuNC0xLjUsMS4xLTIuOCwyLTMuOWMwLjktMS4xLDIuMS0yLDMuNS0yLjYKCQkJCQljMS40LTAuNywzLjEtMSw1LTFjMS42LDAsMy4xLDAuMyw0LjMsMC45YzAuOSwwLjQsMS45LDEuMSwyLjksMi4yQzIzMi41LDc3LjksMjMzLjQsNzkuNCwyMzMuOCw4MC44eiBNMjE4LjgsODRoMTAuNwoJCQkJCWMtMC4xLTEuNC0wLjQtMi42LTEtMy42Yy0wLjktMS40LTIuMi0yLjItNC4yLTIuMmMtMiwwLTMuNCwwLjgtNC4zLDIuMkMyMTkuNCw4MS4zLDIxOS4xLDgyLjUsMjE4LjgsODR6IE0xMTMuMSw4MC44CgkJCQkJYzEsMy40LDAuNSw2LjMsMC41LDYuNWMwLDAuNC0wLjQsMC40LTAuNCwwLjRsLTE1LjEsMGMwLjEsMi4zLDAuNiwzLjksMS44LDVjMS4xLDEuMSwyLjgsMS44LDUuMiwxLjhjMy42LDAsNS4xLTAuNyw2LjItMS4xCgkJCQkJYzAsMCwwLjQtMC4xLDAuNiwwLjNsMSwyLjhjMC4yLDAuNSwwLDAuNi0wLjEsMC43Yy0wLjksMC41LTMuMiwxLjUtNy42LDEuNWMtMi4xLDAtNC0wLjMtNS41LTAuOWMtMS41LTAuNi0yLjgtMS40LTMuOC0yLjUKCQkJCQljLTEtMS4xLTEuNy0yLjQtMi4yLTMuOGMtMC41LTEuNS0wLjctMy4xLTAuNy00LjhjMC0xLjcsMC4yLTMuMywwLjctNC44YzAuNC0xLjUsMS4xLTIuOCwyLTMuOWMwLjktMS4xLDIuMS0yLDMuNS0yLjYKCQkJCQljMS40LTAuNywzLjEtMSw1LTFjMS42LDAsMy4xLDAuMyw0LjMsMC45YzAuOSwwLjQsMS45LDEuMSwyLjksMi4yQzExMS44LDc3LjksMTEyLjgsNzkuNCwxMTMuMSw4MC44eiBNOTguMSw4NGgxMC44CgkJCQkJYy0wLjEtMS40LTAuNC0yLjYtMS0zLjZjLTAuOS0xLjQtMi4yLTIuMi00LjItMi4yYy0yLDAtMy40LDAuOC00LjMsMi4yQzk4LjcsODEuMyw5OC40LDgyLjUsOTguMSw4NHogTTcxLjYsODMuMgoJCQkJCWMwLDAsMS4yLDAuMSwyLjUsMC4zdi0wLjZjMC0yLTAuNC0zLTEuMi0zLjZjLTAuOC0wLjYtMi4xLTEtMy43LTFjMCwwLTMuNywwLTYuNiwxLjVjLTAuMSwwLjEtMC4yLDAuMS0wLjIsMC4xCgkJCQkJcy0wLjQsMC4xLTAuNS0wLjJsLTEuMS0yLjljLTAuMi0wLjQsMC4xLTAuNiwwLjEtMC42YzEuNC0xLjEsNC42LTEuNyw0LjYtMS43YzEuMS0wLjIsMi45LTAuNCw0LTAuNGMzLDAsNS4zLDAuNyw2LjksMi4xCgkJCQkJYzEuNiwxLjQsMi40LDMuNiwyLjQsNi43bDAsMTMuOGMwLDAsMCwwLjQtMC4zLDAuNWMwLDAtMC42LDAuMi0xLjEsMC4zYy0wLjUsMC4xLTIuMywwLjUtMy44LDAuN2MtMS41LDAuMy0zLDAuNC00LjYsMC40CgkJCQkJYy0xLjUsMC0yLjgtMC4xLTQtMC40Yy0xLjItMC4zLTIuMi0wLjctMy4xLTEuM2MtMC44LTAuNi0xLjUtMS40LTItMi40Yy0wLjUtMC45LTAuNy0yLjEtMC43LTMuNGMwLTEuMywwLjMtMi41LDAuOC0zLjUKCQkJCQljMC41LTEsMS4zLTEuOCwyLjItMi41YzAuOS0wLjcsMi0xLjEsMy4xLTEuNWMxLjItMC4zLDIuNC0wLjUsMy43LTAuNUM3MC4yLDgzLjIsNzEsODMuMiw3MS42LDgzLjJ6IE02NS42LDkzLjgKCQkJCQljMCwwLDEuNCwxLjEsNC40LDAuOWMyLjItMC4xLDQuMS0wLjUsNC4xLTAuNXYtNi45YzAsMC0xLjktMC4zLTQuMS0wLjNjLTMuMSwwLTQuNCwxLjEtNC40LDEuMWMtMC45LDAuNi0xLjMsMS42LTEuMywyLjkKCQkJCQljMCwwLjgsMC4yLDEuNSwwLjUsMkM2NC45LDkzLjIsNjUsOTMuNCw2NS42LDkzLjh6IE0xOTMuMSw3NS41Yy0wLjEsMC40LTAuOSwyLjUtMS4xLDMuMmMtMC4xLDAuMy0wLjMsMC40LTAuNiwwLjQKCQkJCQljMCwwLTAuOS0wLjItMS43LTAuMmMtMC41LDAtMS4zLDAuMS0yLDAuM2MtMC43LDAuMi0xLjMsMC42LTEuOSwxLjFjLTAuNiwwLjUtMSwxLjMtMS4zLDIuMmMtMC4zLDAuOS0wLjUsMi40LTAuNSw0djExLjIKCQkJCQljMCwwLjMtMC4yLDAuNS0wLjUsMC41aC00Yy0wLjMsMC0wLjUtMC4yLTAuNS0wLjVWNzUuMmMwLTAuMywwLjItMC41LDAuNC0wLjVoMy45YzAuMywwLDAuNCwwLjIsMC40LDAuNVY3NwoJCQkJCWMwLjYtMC44LDEuNi0xLjUsMi41LTEuOWMwLjktMC40LDItMC43LDMuOS0wLjZjMSwwLjEsMi4zLDAuMywyLjUsMC40QzE5Myw3NSwxOTMuMiw3NS4xLDE5My4xLDc1LjV6IE0xNTYsNjUuMQoJCQkJCWMwLjEsMCwwLjQsMC4yLDAuMywwLjVsLTEuMiwzLjJjLTAuMSwwLjItMC4yLDAuNC0wLjcsMC4yYy0wLjEsMC0wLjMtMC4xLTAuOC0wLjJjLTAuMy0wLjEtMC44LTAuMS0xLjItMC4xCgkJCQkJYy0wLjYsMC0xLjEsMC4xLTEuNiwwLjJjLTAuNSwwLjEtMC45LDAuNC0xLjMsMC44Yy0wLjQsMC40LTAuOCwwLjktMS4xLDEuNmMtMC42LDEuNi0wLjgsMy4zLTAuOCwzLjRoNC44CgkJCQkJYzAuNCwwLDAuNSwwLjIsMC41LDAuNWwtMC42LDMuMWMtMC4xLDAuNS0wLjUsMC40LTAuNSwwLjRoLTVMMTQzLjYsOThjLTAuNCwyLTAuOCwzLjctMS4zLDUuMWMtMC41LDEuNC0xLjEsMi40LTIsMy40CgkJCQkJYy0wLjgsMC45LTEuNywxLjYtMi44LDEuOWMtMSwwLjQtMi4zLDAuNi0zLjcsMC42Yy0wLjcsMC0xLjQsMC0yLjItMC4yYy0wLjYtMC4xLTAuOS0wLjItMS40LTAuNGMtMC4yLTAuMS0wLjMtMC4zLTAuMi0wLjYKCQkJCQljMC4xLTAuMywxLTIuNywxLjEtMy4xYzAuMi0wLjQsMC41LTAuMiwwLjUtMC4yYzAuMywwLjEsMC41LDAuMiwwLjgsMC4zYzAuNCwwLjEsMC44LDAuMSwxLjIsMC4xYzAuNywwLDEuMy0wLjEsMS44LTAuMwoJCQkJCWMwLjYtMC4yLDEtMC42LDEuNC0xLjFjMC40LTAuNSwwLjctMS4yLDEuMS0yLjFjMC4zLTAuOSwwLjYtMi4yLDAuOS0zLjdsMy40LTE4LjloLTMuM2MtMC40LDAtMC41LTAuMi0wLjUtMC41bDAuNi0zLjEKCQkJCQljMC4xLTAuNSwwLjUtMC40LDAuNS0wLjRoMy40bDAuMi0xYzAuNS0zLDEuNS01LjMsMy02LjhjMS41LTEuNSwzLjctMi4zLDYuNC0yLjNjMC44LDAsMS41LDAuMSwyLjEsMC4yCgkJCQkJQzE1NSw2NC44LDE1NS41LDY0LjksMTU2LDY1LjF6IE04OC42LDk3LjZjMCwwLjMtMC4yLDAuNS0wLjQsMC41aC00Yy0wLjMsMC0wLjQtMC4yLTAuNC0wLjVWNjUuNWMwLTAuMiwwLjItMC41LDAuNC0wLjVoNAoJCQkJCWMwLjMsMCwwLjQsMC4yLDAuNCwwLjVWOTcuNnoiLz4KCQkJPC9nPgoJCTwvZz4KCTwvZz4KPC9nPgo8L3N2Zz4K"]]));
|
|
19
17
|
/**
|
|
20
18
|
* Handles the removing of authorizations, which includes deleting the auth file
|
|
21
19
|
* in the global .sfdx folder, deleting any configs that are associated with the username/alias,
|
|
@@ -50,9 +48,8 @@ class AuthRemover extends kit_1.AsyncOptionalCreatable {
|
|
|
50
48
|
this.logger.debug(`Removing authorization for user ${username}`);
|
|
51
49
|
await this.unsetConfigValues(username);
|
|
52
50
|
await this.unsetAliases(username);
|
|
53
|
-
this.unsetTokens(username);
|
|
54
|
-
this.
|
|
55
|
-
await this.globalInfo.write();
|
|
51
|
+
await this.unsetTokens(username);
|
|
52
|
+
await this.stateAggregator.orgs.remove(username);
|
|
56
53
|
}
|
|
57
54
|
/**
|
|
58
55
|
* Removes all authentication files and any configs or aliases associated with them
|
|
@@ -61,37 +58,39 @@ class AuthRemover extends kit_1.AsyncOptionalCreatable {
|
|
|
61
58
|
const auths = this.findAllAuths();
|
|
62
59
|
const usernames = Object.keys(auths);
|
|
63
60
|
for (const username of usernames) {
|
|
61
|
+
// prevent ConfigFile collision bug
|
|
62
|
+
// eslint-disable-next-line no-await-in-loop
|
|
64
63
|
await this.removeAuth(username);
|
|
65
64
|
}
|
|
66
65
|
}
|
|
67
66
|
/**
|
|
68
67
|
* Finds authorization files for username/alias in the global .sfdx folder
|
|
69
|
-
* **Throws** *{@link
|
|
70
|
-
* **Throws** *{@link
|
|
68
|
+
* **Throws** *{@link SfError}{ name: 'TargetOrgNotSetError' }* if no target-org
|
|
69
|
+
* **Throws** *{@link SfError}{ name: 'NamedOrgNotFoundError' }* if specified user is not found
|
|
71
70
|
*
|
|
72
71
|
* @param usernameOrAlias username or alias of the auth you want to find, defaults to the configured target-org
|
|
73
72
|
* @returns {Promise<SfOrg>}
|
|
74
73
|
*/
|
|
75
74
|
async findAuth(usernameOrAlias) {
|
|
76
|
-
const username =
|
|
77
|
-
|
|
78
|
-
if (!auth) {
|
|
79
|
-
throw coreMessages.createError('namedOrgNotFound');
|
|
80
|
-
}
|
|
81
|
-
return auth;
|
|
75
|
+
const username = await this.resolveUsername(usernameOrAlias ?? this.getTargetOrg());
|
|
76
|
+
return this.stateAggregator.orgs.get(username, false, true);
|
|
82
77
|
}
|
|
83
78
|
/**
|
|
84
79
|
* Finds all org authorizations in the global info file (.sf/sf.json)
|
|
85
80
|
*
|
|
86
|
-
* @returns {
|
|
81
|
+
* @returns {Record<string, AuthFields>}
|
|
87
82
|
*/
|
|
88
83
|
findAllAuths() {
|
|
89
|
-
|
|
84
|
+
const orgs = this.stateAggregator.orgs.getAll();
|
|
85
|
+
return orgs.reduce((x, y) =>
|
|
86
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
87
|
+
({ ...x, [y.username]: y }), {});
|
|
90
88
|
}
|
|
91
89
|
async init() {
|
|
92
90
|
this.logger = await logger_1.Logger.child(this.constructor.name);
|
|
93
91
|
this.config = await configAggregator_1.ConfigAggregator.create();
|
|
94
|
-
this.
|
|
92
|
+
this.stateAggregator = await stateAggregator_1.StateAggregator.getInstance();
|
|
93
|
+
await this.stateAggregator.orgs.readAll();
|
|
95
94
|
}
|
|
96
95
|
/**
|
|
97
96
|
* Returns the username for a given alias if the alias exists.
|
|
@@ -99,8 +98,9 @@ class AuthRemover extends kit_1.AsyncOptionalCreatable {
|
|
|
99
98
|
* @param usernameOrAlias username or alias
|
|
100
99
|
* @returns {Promise<string>}
|
|
101
100
|
*/
|
|
101
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
102
102
|
async resolveUsername(usernameOrAlias) {
|
|
103
|
-
return this.
|
|
103
|
+
return this.stateAggregator.aliases.resolveUsername(usernameOrAlias);
|
|
104
104
|
}
|
|
105
105
|
/**
|
|
106
106
|
* @returns {string}
|
|
@@ -119,7 +119,7 @@ class AuthRemover extends kit_1.AsyncOptionalCreatable {
|
|
|
119
119
|
* @returns {Promise<string[]>}
|
|
120
120
|
*/
|
|
121
121
|
getAliases(username) {
|
|
122
|
-
return this.
|
|
122
|
+
return this.stateAggregator.aliases.getAll(username);
|
|
123
123
|
}
|
|
124
124
|
/**
|
|
125
125
|
* Unsets any configured values (both global and local) for provided username
|
|
@@ -128,7 +128,7 @@ class AuthRemover extends kit_1.AsyncOptionalCreatable {
|
|
|
128
128
|
*/
|
|
129
129
|
async unsetConfigValues(username) {
|
|
130
130
|
const aliases = this.getAliases(username);
|
|
131
|
-
this.logger.debug(`Clearing config keys for username ${username} and aliases: ${aliases}`);
|
|
131
|
+
this.logger.debug(`Clearing config keys for username ${username} and aliases: ${aliases.join(',')}`);
|
|
132
132
|
const configs = [this.config.getGlobalConfig(), this.config.getLocalConfig()];
|
|
133
133
|
for (const config of configs) {
|
|
134
134
|
if (config) {
|
|
@@ -138,7 +138,7 @@ class AuthRemover extends kit_1.AsyncOptionalCreatable {
|
|
|
138
138
|
.filter((k) => !!k)
|
|
139
139
|
.reduce((x, y) => x.concat(y), []);
|
|
140
140
|
const allKeys = keysWithUsername.concat(keysWithAlias);
|
|
141
|
-
this.logger.debug(`Found these config keys to remove: ${allKeys}`);
|
|
141
|
+
this.logger.debug(`Found these config keys to remove: ${allKeys.join(',')}`);
|
|
142
142
|
allKeys.forEach((key) => {
|
|
143
143
|
try {
|
|
144
144
|
config.unset(key);
|
|
@@ -147,6 +147,8 @@ class AuthRemover extends kit_1.AsyncOptionalCreatable {
|
|
|
147
147
|
this.logger.debug(`Failed to remove ${key}`);
|
|
148
148
|
}
|
|
149
149
|
});
|
|
150
|
+
// prevent ConfigFile collision bug
|
|
151
|
+
// eslint-disable-next-line no-await-in-loop
|
|
150
152
|
await config.write();
|
|
151
153
|
}
|
|
152
154
|
}
|
|
@@ -158,20 +160,22 @@ class AuthRemover extends kit_1.AsyncOptionalCreatable {
|
|
|
158
160
|
*/
|
|
159
161
|
async unsetAliases(username) {
|
|
160
162
|
this.logger.debug(`Clearing aliases for username: ${username}`);
|
|
161
|
-
const existingAliases = this.
|
|
163
|
+
const existingAliases = this.stateAggregator.aliases.getAll(username);
|
|
162
164
|
if (existingAliases.length === 0)
|
|
163
165
|
return;
|
|
164
|
-
this.logger.debug(`Found these aliases to remove: ${existingAliases}`);
|
|
165
|
-
existingAliases.forEach((alias) => this.
|
|
166
|
+
this.logger.debug(`Found these aliases to remove: ${existingAliases.join(',')}`);
|
|
167
|
+
existingAliases.forEach((alias) => this.stateAggregator.aliases.unset(alias));
|
|
168
|
+
await this.stateAggregator.aliases.write();
|
|
166
169
|
}
|
|
167
|
-
unsetTokens(username) {
|
|
170
|
+
async unsetTokens(username) {
|
|
168
171
|
this.logger.debug(`Clearing tokens for username: ${username}`);
|
|
169
|
-
const tokens = this.
|
|
172
|
+
const tokens = this.stateAggregator.tokens.getAll();
|
|
170
173
|
for (const [key, token] of Object.entries(tokens)) {
|
|
171
174
|
if (token.user === username) {
|
|
172
|
-
this.
|
|
175
|
+
this.stateAggregator.tokens.unset(key);
|
|
173
176
|
}
|
|
174
177
|
}
|
|
178
|
+
await this.stateAggregator.tokens.write();
|
|
175
179
|
}
|
|
176
180
|
}
|
|
177
181
|
exports.AuthRemover = AuthRemover;
|
package/lib/org/connection.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { AsyncResult, DeployOptions, DeployResultLocator } from 'jsforce/api/metadata';
|
|
3
|
-
import {
|
|
3
|
+
import { JsonMap, Optional } from '@salesforce/ts-types';
|
|
4
4
|
import { Connection as JSForceConnection, ConnectionConfig, HttpRequest, QueryOptions, QueryResult, Record, Schema } from 'jsforce';
|
|
5
5
|
import { Tooling as JSForceTooling } from 'jsforce/lib/api/tooling';
|
|
6
6
|
import { StreamPromise } from 'jsforce/lib/util/promise';
|
|
@@ -11,24 +11,11 @@ export declare const SFDX_HTTP_HEADERS: {
|
|
|
11
11
|
'user-agent': string;
|
|
12
12
|
};
|
|
13
13
|
export declare const DNS_ERROR_NAME = "DomainNotFoundError";
|
|
14
|
-
|
|
15
|
-
id: string;
|
|
16
|
-
rest?: boolean;
|
|
17
|
-
};
|
|
18
|
-
export declare type DeployOptionsWithRest = Partial<DeployOptions> & {
|
|
14
|
+
export type DeployOptionsWithRest = Partial<DeployOptions> & {
|
|
19
15
|
rest?: boolean;
|
|
20
16
|
};
|
|
21
17
|
export interface Tooling<S extends Schema = Schema> extends JSForceTooling<S> {
|
|
22
18
|
_logger: any;
|
|
23
|
-
/**
|
|
24
|
-
* Executes a query and auto-fetches (i.e., "queryMore") all results. This is especially
|
|
25
|
-
* useful with large query result sizes, such as over 2000 records. The default maximum
|
|
26
|
-
* fetch size is 10,000 records. Modify this via the options argument.
|
|
27
|
-
*
|
|
28
|
-
* @param soql The SOQL string.
|
|
29
|
-
* @param options The query options. NOTE: the autoFetch option will always be true.
|
|
30
|
-
*/
|
|
31
|
-
autoFetchQuery<T extends Schema = S>(soql: string, options?: QueryOptions): Promise<QueryResult<T>>;
|
|
32
19
|
}
|
|
33
20
|
/**
|
|
34
21
|
* Handles connections and requests to Salesforce Orgs.
|
|
@@ -46,13 +33,11 @@ export interface Tooling<S extends Schema = Schema> extends JSForceTooling<S> {
|
|
|
46
33
|
* ```
|
|
47
34
|
*/
|
|
48
35
|
export declare class Connection<S extends Schema = Schema> extends JSForceConnection<S> {
|
|
49
|
-
/**
|
|
50
|
-
* Tooling api reference.
|
|
51
|
-
*/
|
|
52
|
-
get tooling(): Tooling<S>;
|
|
53
36
|
private logger;
|
|
54
37
|
private options;
|
|
55
38
|
private username;
|
|
39
|
+
private hasResolved;
|
|
40
|
+
private maxApiVersion;
|
|
56
41
|
/**
|
|
57
42
|
* Constructor
|
|
58
43
|
* **Do not directly construct instances of this class -- use {@link Connection.create} instead.**
|
|
@@ -61,6 +46,10 @@ export declare class Connection<S extends Schema = Schema> extends JSForceConnec
|
|
|
61
46
|
* @ignore
|
|
62
47
|
*/
|
|
63
48
|
constructor(options: Connection.Options<S>);
|
|
49
|
+
/**
|
|
50
|
+
* Tooling api reference.
|
|
51
|
+
*/
|
|
52
|
+
get tooling(): Tooling<S>;
|
|
64
53
|
/**
|
|
65
54
|
* Creates an instance of a Connection. Performs additional async initializations.
|
|
66
55
|
*
|
|
@@ -72,14 +61,10 @@ export declare class Connection<S extends Schema = Schema> extends JSForceConnec
|
|
|
72
61
|
*/
|
|
73
62
|
init(): Promise<void>;
|
|
74
63
|
/**
|
|
75
|
-
* TODO: This should be moved into JSForce V2 once ready
|
|
76
|
-
* this is only a temporary solution to support both REST and SOAP APIs
|
|
77
|
-
*
|
|
78
64
|
* deploy a zipped buffer from the SDRL with REST or SOAP
|
|
79
65
|
*
|
|
80
66
|
* @param zipInput data to deploy
|
|
81
67
|
* @param options JSForce deploy options + a boolean for rest
|
|
82
|
-
* @param callback
|
|
83
68
|
*/
|
|
84
69
|
deploy(zipInput: Buffer, options: DeployOptionsWithRest): Promise<DeployResultLocator<AsyncResult & Schema>>;
|
|
85
70
|
/**
|
|
@@ -94,16 +79,6 @@ export declare class Connection<S extends Schema = Schema> extends JSForceConnec
|
|
|
94
79
|
* The Force API base url for the instance.
|
|
95
80
|
*/
|
|
96
81
|
baseUrl(): string;
|
|
97
|
-
/**
|
|
98
|
-
* TODO: This should be moved into JSForce V2 once ready
|
|
99
|
-
* this is only a temporary solution to support both REST and SOAP APIs
|
|
100
|
-
*
|
|
101
|
-
* Will deploy a recently validated deploy request
|
|
102
|
-
*
|
|
103
|
-
* @param options.id = the deploy ID that's been validated already from a previous checkOnly deploy request
|
|
104
|
-
* @param options.rest = a boolean whether or not to use the REST API
|
|
105
|
-
*/
|
|
106
|
-
deployRecentValidation(options: recentValidationOptions): Promise<JsonCollection>;
|
|
107
82
|
/**
|
|
108
83
|
* Retrieves the highest api version that is supported by the target server instance.
|
|
109
84
|
*/
|
|
@@ -123,7 +98,7 @@ export declare class Connection<S extends Schema = Schema> extends JSForceConnec
|
|
|
123
98
|
/**
|
|
124
99
|
* Set the API version for all connection requests.
|
|
125
100
|
*
|
|
126
|
-
* **Throws** *{@link
|
|
101
|
+
* **Throws** *{@link SfError}{ name: 'IncorrectAPIVersionError' }* Incorrect API version.
|
|
127
102
|
*
|
|
128
103
|
* @param version The API version.
|
|
129
104
|
*/
|
|
@@ -162,7 +137,9 @@ export declare class Connection<S extends Schema = Schema> extends JSForceConnec
|
|
|
162
137
|
* @param soql The SOQL string.
|
|
163
138
|
* @param queryOptions The query options. NOTE: the autoFetch option will always be true.
|
|
164
139
|
*/
|
|
165
|
-
autoFetchQuery<T extends Schema = S>(soql: string, queryOptions?: Partial<QueryOptions
|
|
140
|
+
autoFetchQuery<T extends Schema = S>(soql: string, queryOptions?: Partial<QueryOptions & {
|
|
141
|
+
tooling: boolean;
|
|
142
|
+
}>): Promise<QueryResult<T>>;
|
|
166
143
|
/**
|
|
167
144
|
* Executes a query using either standard REST or Tooling API, returning a single record.
|
|
168
145
|
* Will throw if either zero records are found OR multiple records are found.
|
|
@@ -176,7 +153,7 @@ export declare class Connection<S extends Schema = Schema> extends JSForceConnec
|
|
|
176
153
|
* Useful for the raw methods (request, requestRaw) that use the accessToken directly and don't handle refreshes
|
|
177
154
|
*/
|
|
178
155
|
refreshAuth(): Promise<void>;
|
|
179
|
-
private
|
|
156
|
+
private getCachedApiVersion;
|
|
180
157
|
}
|
|
181
158
|
export declare const SingleRecordQueryErrors: {
|
|
182
159
|
NoRecords: string;
|
|
@@ -206,4 +183,3 @@ export declare namespace Connection {
|
|
|
206
183
|
connectionOptions?: ConnectionConfig<S>;
|
|
207
184
|
}
|
|
208
185
|
}
|
|
209
|
-
export {};
|