@flxbl-io/sfp
Version:
sfp is a CLI tool to help you manage your Salesforce projects in an artifact centric model
123 lines • 10.2 kB
JavaScript
;
/* Original Copyright belongs to
* Copyright (c) 2020, salesforce.com, inc.
* All rights reserved.
* Licensed under the BSD 3-Clause license.
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
*/
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const sfp_logger_1 = __importStar(require("@flxbl-io/sfp-logger"));
const core_1 = require("@salesforce/core");
const core_2 = require("@oclif/core");
const SfpCommand_1 = __importDefault(require("../../../SfpCommand"));
const sfdxflags_1 = require("../../../flags/sfdxflags");
const kit_1 = require("@salesforce/kit");
const fs = __importStar(require("fs-extra"));
core_1.Messages.importMessagesDirectory(__dirname);
const messages = core_1.Messages.loadMessages('@flxbl-io/sfp', 'org_login_url');
const AUTH_URL_FORMAT = 'force://<clientId>:<clientSecret>:<refreshToken>@<instanceUrl>';
class OrgLoginUrl extends SfpCommand_1.default {
async execute() {
sfp_logger_1.default.log((0, sfp_logger_1.COLOR_HEADER)('command: org login url'));
sfp_logger_1.default.printHeaderLine('', sfp_logger_1.COLOR_HEADER, sfp_logger_1.LoggerLevel.INFO);
const { flags } = await this.parse(OrgLoginUrl);
const authFile = flags['url-file'];
const authStdin = flags['url-stdin'];
let sfpAuthUrl;
if (authFile) {
sfpAuthUrl = authFile.endsWith('.json') ? await getUrlFromJson(authFile) : await fs.readFile(authFile, 'utf8');
if (!sfpAuthUrl) {
throw new Error(`Error getting the auth URL from file ${authFile}. Please ensure it meets the description shown in the documentation for this command.`);
}
}
else if (authStdin) {
sfpAuthUrl = authStdin;
}
else {
throw new Error('Salesforce Auth URL not found.');
}
const oauth2Options = core_1.AuthInfo.parseSfdxAuthUrl(sfpAuthUrl);
const authInfo = await core_1.AuthInfo.create({ oauth2Options });
await authInfo.save();
await authInfo.handleAliasAndDefaultSettings({
alias: flags.alias,
setDefault: flags['set-default'],
setDefaultDevHub: flags['set-default-dev-hub'],
});
// ensure the clientSecret field... even if it is empty
const result = { clientSecret: '', ...authInfo.getFields(true) };
await core_1.AuthInfo.identifyPossibleScratchOrgs(result, authInfo);
const successMsg = messages.getMessage('authorizeCommandSuccess', [result.username, result.orgId]);
sfp_logger_1.default.log((0, sfp_logger_1.COLOR_KEY_MESSAGE)(successMsg), sfp_logger_1.LoggerLevel.INFO);
}
}
OrgLoginUrl.description = messages.getMessage('commandDescription', [AUTH_URL_FORMAT]);
OrgLoginUrl.requiresDevhubUsername = false;
OrgLoginUrl.requiresProject = false;
OrgLoginUrl.examples = ['$ sfp org:login:url --url-file files/authFile.json'];
OrgLoginUrl.flags = {
'url-file': core_2.Flags.file({
char: 'f',
description: messages.getMessage('flags.url-file.description'),
exactlyOne: ['url-file', 'url-stdin'],
}),
'url-stdin': core_2.Flags.file({
char: 'u',
description: messages.getMessage('flags.url-stdin.description'),
exactlyOne: ['url-file', 'url-stdin'],
}),
'set-default-dev-hub': core_2.Flags.boolean({
char: 'd',
description: messages.getMessage('flags.set-default-dev-hub.description'),
}),
'set-default': core_2.Flags.boolean({
char: 's',
description: messages.getMessage('flags.set-default.description'),
}),
alias: core_2.Flags.string({
char: 'a',
description: messages.getMessage('flags.alias.description'),
}),
loglevel: sfdxflags_1.loglevel,
};
exports.default = OrgLoginUrl;
const getUrlFromJson = async (authFile) => {
const jsonContents = await fs.readFile(authFile, 'utf8');
const authFileJson = (0, kit_1.parseJson)(jsonContents);
if (typeof authFileJson === 'object' && authFileJson !== null && ('sfdxAuthUrl' in authFileJson)) {
return authFileJson.sfdxAuthUrl;
}
if (typeof authFileJson === 'object' && authFileJson !== null && ('result' in authFileJson)) {
if (typeof authFileJson.result === 'object' && authFileJson.result !== null && ('sfdxAuthUrl' in authFileJson.result)) {
return authFileJson.result.sfdxAuthUrl;
}
}
return '';
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1hbmRzL29yZy9sb2dpbi91cmwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7OztHQUtHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSUgsbUVBQThGO0FBQzlGLDJDQUFzRDtBQUN0RCxzQ0FBb0M7QUFDcEMscUVBQTZDO0FBQzdDLHdEQUFvRDtBQUNwRCx5Q0FBNEM7QUFDNUMsNkNBQStCO0FBRS9CLGVBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUc1QyxNQUFNLFFBQVEsR0FBRyxlQUFRLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxlQUFlLENBQUMsQ0FBQztBQUN6RSxNQUFNLGVBQWUsR0FBRyxnRUFBZ0UsQ0FBQztBQUV6RixNQUFxQixXQUFZLFNBQVEsb0JBQVU7SUFrQ3hDLEtBQUssQ0FBQyxPQUFPO1FBQ2hCLG9CQUFTLENBQUMsR0FBRyxDQUFDLElBQUEseUJBQVksRUFBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUM7UUFDdEQsb0JBQVMsQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFDLHlCQUFZLEVBQUMsd0JBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDckMsSUFBSSxVQUFVLENBQUM7UUFDZixJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ1gsVUFBVSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFN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