62 lines
3.2 KiB
JavaScript
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') || ''
|
|
};
|