@flxbl-io/sfp
Version:
sfp is a CLI tool to help you manage your Salesforce projects in an artifact centric model
115 lines • 8.59 kB
JavaScript
;
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 extractDomainFromUrl_1 = __importDefault(require("../utils/extractDomainFromUrl"));
const AliasList_1 = require("../utils/AliasList");
const sfp_logger_1 = __importStar(require("@flxbl-io/sfp-logger"));
const ScratchOrgInfoFetcher_1 = __importDefault(require("./ScratchOrgInfoFetcher"));
const OrganizationFetcher_1 = __importDefault(require("./OrganizationFetcher"));
const core_1 = require("@salesforce/core");
class OrgDetailsFetcher {
constructor(username) {
this.username = username;
}
async getOrgDetails() {
//Convert alias to username
this.username = await (0, AliasList_1.convertAliasToUsername)(this.username);
if (OrgDetailsFetcher.usernamesToOrgDetails[this.username])
return OrgDetailsFetcher.usernamesToOrgDetails[this.username];
const authInfo = await core_1.AuthInfo.create({ username: this.username });
let authInfoFields = authInfo.getFields();
let sfdxAuthUrl;
try {
sfdxAuthUrl = authInfo.getSfdxAuthUrl();
}
catch (error) {
sfp_logger_1.default.log(`Unable to get SFDX Auth URL: ${error.message}`, sfp_logger_1.LoggerLevel.TRACE, null);
}
const isScratchOrg = authInfoFields.devHubUsername;
let scratchOrgInfo = isScratchOrg
? await this.getScratchOrgDetails(authInfoFields.orgId, authInfo)
: {};
const organization = await this.getOrganization(authInfo);
OrgDetailsFetcher.usernamesToOrgDetails[this.username] = {
sfdxAuthUrl: sfdxAuthUrl,
instanceUrl: authInfoFields.instanceUrl,
...authInfoFields,
...scratchOrgInfo,
...organization,
};
return OrgDetailsFetcher.usernamesToOrgDetails[this.username];
}
async getOrgDomainUrl() {
await this.getOrgDetails();
if (OrgDetailsFetcher.usernamesToOrgDetails[this.username]) {
let domain = (0, extractDomainFromUrl_1.default)(OrgDetailsFetcher.usernamesToOrgDetails[this.username].instanceUrl);
if (domain)
return domain;
else
return '';
}
else {
return '';
}
}
async getScratchOrgDetails(orgId, authInfo) {
const hubOrg = await (await core_1.Org.create({
connection: await core_1.Connection.create({
authInfo: authInfo,
}),
})).getDevHubOrg();
let scratchOrgInfo = (await new ScratchOrgInfoFetcher_1.default(hubOrg).getScratchOrgInfoByOrgId([(0, core_1.trimTo15)(orgId)]))[0];
if (scratchOrgInfo) {
return {
isScratchOrg: true,
status: scratchOrgInfo.Status,
};
}
else {
throw new Error(`No information for scratch org with ID ${(0, core_1.trimTo15)(orgId)} found in Dev Hub ${hubOrg.getUsername()}`);
}
}
async getOrganization(authInfo) {
const connection = await core_1.Connection.create({
authInfo: authInfo,
});
const results = await new OrganizationFetcher_1.default(connection).fetch();
if (results[0]) {
return {
isSandbox: results[0].IsSandbox,
organizationType: results[0].OrganizationType,
};
}
else {
throw new Error(`No Organization records found for ${connection.getUsername()}`);
}
}
}
OrgDetailsFetcher.usernamesToOrgDetails = {};
exports.default = OrgDetailsFetcher;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3JnRGV0YWlsc0ZldGNoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZS9vcmcvT3JnRGV0YWlsc0ZldGNoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlGQUFpRTtBQUNqRSxrREFBNEQ7QUFDNUQsbUVBQThEO0FBQzlELG9GQUE0RDtBQUM1RCxnRkFBd0Q7QUFDeEQsMkNBQXVFO0FBRXZFLE1BQXFCLGlCQUFpQjtJQUdsQyxZQUFvQixRQUFnQjtRQUFoQixhQUFRLEdBQVIsUUFBUSxDQUFRO0lBQUcsQ0FBQztJQUVqQyxLQUFLLENBQUMsYUFBYTtRQUN0QiwyQkFBMkI7UUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLElBQUEsa0NBQXNCLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTVELElBQUksaUJBQWlCLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUN0RCxPQUFPLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVsRSxNQUFNLFFBQVEsR0FBRyxNQUFNLGVBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFcEUsSUFBSSxjQUFjLEdBQUcsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRzFDLElBQUksV0FBbUIsQ0FBQztRQUN4QixJQUFJLENBQUM7WUFDRCxXQUFXLEdBQUcsUUFBUSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzVDLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2Isb0JBQVMsQ0FBQyxHQUFHLENBQUMsZ0NBQWdDLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSx3QkFBVyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1RixDQUFDO1FBRUQs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