UNPKG

@mmhr/utils

Version:
89 lines (87 loc) 2.56 kB
// 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 };