@mmhr/utils
Version:
MMH utility service.
89 lines (87 loc) • 2.56 kB
JavaScript
// src/constants/constants.ts
var TENANT = Object.freeze({
UNKNOWN: "unknown",
LOCALHOST: "localhost",
DEV: "dev",
STG: "stg",
UAT: "uat",
CT: "ct",
ATHELETE: "athlete",
SPINE_ALIGN: "apinealign",
PRODUCTION: "vatb"
});
var CONTROLLER = Object.freeze({
BASE_CONTROLLER: "base",
ROM_EXERCISE_API: "RomExerciseApi",
ROM_CONTROLLER: "rom",
WEB_RTC_CONTROLLER: "webrtc"
});
var VALID_DOMAINS = Object.freeze([
"mypainlog.ai",
"injurycloud.com"
]);
var MODULES_URL = Object.freeze({
productionApiPortalUrl: "https://api.injurycloud.com",
ctApiPortalUrl: "https://ctapi.injurycloud.com",
uatApiPortalUrl: "https://uatapi.injurycloud.com",
stgApiPortalUrl: "https://stgapi.injurycloud.com",
devApiPortalUrl: "https://devapi.injurycloud.com"
});
var EXERCISE_STATUS = Object.freeze({
COMPLETED: { name: "Completed", key: "completed" },
RETAKE_HUMAN_EXPERT: { name: "Human-expert", key: "human-expert" }
});
var CONSTANTS = {
TENANT,
CONTROLLER,
VALID_DOMAINS,
MODULES_URL,
EXERCISE_STATUS
};
var constants_default = CONSTANTS;
// src/index.ts
var { TENANT: TENANT2, MODULES_URL: MODULES_URL2, VALID_DOMAINS: VALID_DOMAINS2, CONTROLLER: CONTROLLER2 } = constants_default;
var baseUrlMap = {
[TENANT2.LOCALHOST]: MODULES_URL2?.devApiPortalUrl,
[TENANT2.DEV]: MODULES_URL2?.devApiPortalUrl,
[TENANT2.STG]: MODULES_URL2?.stgApiPortalUrl,
[TENANT2.UAT]: MODULES_URL2?.uatApiPortalUrl,
[TENANT2.CT]: MODULES_URL2?.ctApiPortalUrl,
[TENANT2.PRODUCTION]: MODULES_URL2?.productionApiPortalUrl
};
var getTenant = (url = "") => {
try {
if (!url) return "";
const { hostname } = new URL(url);
if (hostname === TENANT2.LOCALHOST) {
return TENANT2.DEV;
}
const matchesValidDomain = VALID_DOMAINS2.some(
(domain) => hostname.endsWith(domain)
);
if (matchesValidDomain) {
const parts = hostname.split(".");
if (parts.length >= 3) {
return parts[0];
}
}
return "";
} catch {
return "";
}
};
var getVerifyReAnnotationTokenApiUrl = (tenant) => {
const baseUrl = baseUrlMap[tenant] || baseUrlMap[TENANT2.PRODUCTION];
const controller = CONTROLLER2?.WEB_RTC_CONTROLLER;
return `${baseUrl}/api/${controller}/VerifyReannotationToken`;
};
var getTenantInfoApiUrl = (tenant) => {
const baseUrl = baseUrlMap[tenant] || baseUrlMap[TENANT2.PRODUCTION];
const controller = CONTROLLER2?.BASE_CONTROLLER;
return `${baseUrl}/api/${controller}/TenantInfo/`;
};
export {
getTenant,
getTenantInfoApiUrl,
getVerifyReAnnotationTokenApiUrl
};