UNPKG

@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
"use strict"; 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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