vtex
Version:
The platform for e-commerce apps
33 lines (32 loc) • 1.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.storeUrl = void 0;
const SessionManager_1 = require("./session/SessionManager");
const env_1 = require("./env");
/**
* Create the store URL for a specific account + workspace + path
* Examples:
* 1) storeUrl({ account: 'vtex', workspace: 'master', path: '/admin' })
* Will return 'https://master--vtex.myvtex.com/admin'
*
* 2) storeUrl({ account: 'vtex', addWorkspace: false })
* Will return 'https://vtex.myvtex.com
*/
function storeUrl(opts) {
var _a, _b, _c;
const session = SessionManager_1.SessionManager.getSingleton();
const { account, workspace } = {
account: (_a = opts.account) !== null && _a !== void 0 ? _a : session.account,
workspace: (_b = opts.workspace) !== null && _b !== void 0 ? _b : session.workspace,
};
let path = '/';
if (opts.path) {
path = opts.path.startsWith('/') ? opts.path : `/${opts.path}`;
}
const addWorkspace = (_c = opts.addWorkspace) !== null && _c !== void 0 ? _c : true;
if (addWorkspace) {
return `https://${workspace}--${account}.${env_1.publicEndpoint()}${path}`;
}
return `https://${account}.${env_1.publicEndpoint()}${path}`;
}
exports.storeUrl = storeUrl;