2026-05-19 11:10:14 +07:00

62 lines
3.2 KiB
JavaScript

// src/constants/env.js
/**
* Helper to read environment variables from Vite (import.meta.env).
* Try beberapa nama kunci agar kompatibel dengan variasi prefix (VITE_APP_* atau VITE_*).
*/
const getEnv = (...keys) => {
for (const k of keys) {
// import.meta.env is populated by Vite at build time
if (typeof import.meta !== 'undefined' && import.meta.env && import.meta.env[k] !== undefined) {
return import.meta.env[k];
}
}
return undefined;
};
export const BASE_URLS = {
OSLOG_HITA: getEnv('VITE_APP_BASE_URL_OSLOG_HITA', 'VITE_BASE_URL_OSLOG_HITA', 'VITE_BASE_URL_OSLOG_HITA') || '',
EMBED_MONITORING_VEHICLE: getEnv('VITE_APP_BASE_URL_EMBED_MONITORING_VEHICLE', 'VITE_BASE_URL_EMBED_MONITORING_VEHICLE') || '',
EMBED_MONITORING_DISPATCH: getEnv('VITE_APP_BASE_URL_EMBED_MONITORING_DISPATCH', 'VITE_BASE_URL_EMBED_MONITORING_DISPATCH') || '',
MAPS_MONITORING: getEnv('VITE_APP_BASE_URL_MAPS_MONITORING', 'VITE_BASE_URL_MAPS_MONITORING') || '',
API2: getEnv('VITE_APP_BASE_URL_API2', 'VITE_BASE_URL_API2') || '',
OSMAP: getEnv('VITE_APP_BASE_URL_OSMAP', 'VITE_BASE_URL_OSMAP') || ''
};
export const API_BASES = {
OSLOG_API: getEnv('VITE_APP_BASE_URL_OSLOG_API', 'VITE_BASE_URL_OSLOG_API') || '',
API_GO: getEnv('VITE_APP_BASE_URL_API_GO', 'VITE_BASE_URL_API_GO') || '',
APIV4: getEnv('VITE_APP_BASE_URL_APIV4', 'VITE_BASE_URL_APIV4') || '',
ADDRESS: getEnv('VITE_APP_BASE_URL_ADDRESS', 'VITE_BASE_URL_ADDRESS') || '',
API_AMARIS: getEnv('VITE_APP_BASE_URL_API_AMARIS', 'VITE_BASE_URL_API_AMARIS') || '',
API_NOMINATIM: getEnv('VITE_APP_BASE_URL_API_NOMINATIM', 'VITE_BASE_URL_API_NOMINATIM') || '',
API_NOMINATIM_CUSTOM_MAP: getEnv('VITE_APP_BASE_URL_API_NOMINATIM_CUSTOM_MAP', 'VITE_BASE_URL_API_NOMINATIM_CUSTOM_MAP') || '',
API_PHP: getEnv('VITE_APP_BASE_URL_API_PHP', 'VITE_BASE_URL_API_PHP') || '',
DASHBOARD_API_OSLOG_PRO: getEnv('VITE_APP_BASE_URL_DASHBOARD_API_OSLOG_PRO', 'VITE_BASE_URL_DASHBOARD_API_OSLOG_PRO') || '',
VSS: getEnv('VITE_APP_BASE_URL_VSS', 'VITE_BASE_URL_VSS') || '',
HOWEN_API: getEnv('VITE_APP_BASE_URL_HOWEN_API', 'VITE_BASE_URL_HOWEN_API') || ''
};
export const SPACES = {
OSLOG_SPACES: getEnv('VITE_APP_BASE_URL_OSLOG_SPACES', 'VITE_BASE_URL_OSLOG_SPACES') || '',
OSLOG_TEMPLATES: getEnv('VITE_APP_BASE_URL_OSLOG_TEMPLATES', 'VITE_BASE_URL_OSLOG_TEMPLATES') || '',
OSLOG_ROUTING_SHIPMENT: getEnv('VITE_APP_BASE_URL_OSLOG_ROUTING_SHIPMENT', 'VITE_BASE_URL_OSLOG_ROUTING_SHIPMENT') || ''
};
// COMPANY_ID: parse ke number jika memungkinkan, otherwise undefined
const _companyId = getEnv('VITE_APP_COMPANY_ID', 'VITE_COMPANY_ID') ?? undefined;
export const COMPANY_ID =
_companyId !== undefined && _companyId !== '' ? (Number.isNaN(Number(_companyId)) ? undefined : Number(_companyId)) : undefined;
// API token (client-side). CAUTION: tokens here are public in the browser.
export const API_TOKEN = getEnv('VITE_APP_API_TOKEN', 'VITE_API_TOKEN') || '';
// Debug mode (boolean)
const _debugRaw = getEnv('VITE_APP_DEBUG_MODE', 'VITE_DEBUG_MODE', 'VITE_DEBUG_MODE') ?? '';
export const DEBUG_MODE = String(_debugRaw).toLowerCase() === 'true';
// API keys (here map etc.)
export const API_KEYS = {
HERE_MAP: getEnv('VITE_APP_APIKEY_HERE_MAP', 'VITE_APIKEY_HERE_MAP', 'VITE_APP_APIKEY_HERE_MAP') || ''
};