chore: centralize configuration management using a new Config class
- Replaced all direct `process.env` references with `Config` class constants. - Added `dotenv` package to manage environment variables. - Updated affected files, including schema loader, Zabbix API, resolvers, logging system, and integration points. - Improved maintainability and consistency in environment variable handling.
This commit is contained in:
parent
6312c3a2f7
commit
2a8ff989f3
10 changed files with 95 additions and 72 deletions
|
|
@ -1,8 +1,17 @@
|
|||
export function sleep(ms: number): { promise: Promise<void>, cancel: () => void } {
|
||||
let timeoutId: NodeJS.Timeout;
|
||||
const promise = new Promise<void>((resolve) => {
|
||||
timeoutId = setTimeout(resolve, ms);
|
||||
});
|
||||
const cancel = () => clearTimeout(timeoutId);
|
||||
return { promise, cancel };
|
||||
import {configDotenv} from "dotenv";
|
||||
configDotenv();
|
||||
|
||||
export class Config {
|
||||
static readonly ZABBIX_BASE_URL = process.env.ZABBIX_BASE_URL || ""
|
||||
static readonly DRY_RUN = process.env.DRY_RUN
|
||||
static readonly API_VERSION = process.env.API_VERSION
|
||||
static readonly SCHEMA_PATH = process.env.SCHEMA_PATH || './schema/'
|
||||
static readonly ADDITIONAL_SCHEMAS = process.env.ADDITIONAL_SCHEMAS
|
||||
static readonly ADDITIONAL_RESOLVERS = process.env.ADDITIONAL_RESOLVERS
|
||||
static readonly ZABBIX_AUTH_TOKEN_FOR_REQUESTS = process.env.ZABBIX_AUTH_TOKEN_FOR_REQUESTS
|
||||
static readonly ZABBIX_AUTH_TOKEN = process.env.ZABBIX_AUTH_TOKEN
|
||||
static readonly ZABBIX_EDGE_DEVICE_BASE_GROUP = process.env.ZABBIX_EDGE_DEVICE_BASE_GROUP
|
||||
static readonly ZABBIX_ROADWORK_BASE_GROUP = process.env.ZABBIX_ROADWORK_BASE_GROUP
|
||||
static readonly ZABBIX_PERMISSION_TEMPLATE_GROUP_NAME_PREFIX = process.env.ZABBIX_PERMISSION_TEMPLATE_GROUP_NAME_PREFIX || "Permissions"
|
||||
static readonly LOG_LEVELS = process.env.LOG_LEVELS
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue