119 lines
2.7 KiB
TypeScript
119 lines
2.7 KiB
TypeScript
|
|
/**
|
||
|
|
* NUPST Constants
|
||
|
|
*
|
||
|
|
* Central location for all timeout, interval, and threshold values.
|
||
|
|
* This makes configuration easier and code more self-documenting.
|
||
|
|
*/
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Default timing values in milliseconds
|
||
|
|
*/
|
||
|
|
export const TIMING = {
|
||
|
|
/** Default interval between UPS status checks (30 seconds) */
|
||
|
|
CHECK_INTERVAL_MS: 30000,
|
||
|
|
|
||
|
|
/** Interval for idle monitoring mode (60 seconds) */
|
||
|
|
IDLE_CHECK_INTERVAL_MS: 60000,
|
||
|
|
|
||
|
|
/** Interval for checking config file changes (60 seconds) */
|
||
|
|
CONFIG_CHECK_INTERVAL_MS: 60000,
|
||
|
|
|
||
|
|
/** Interval for logging periodic status updates (5 minutes) */
|
||
|
|
LOG_INTERVAL_MS: 5 * 60 * 1000,
|
||
|
|
|
||
|
|
/** Maximum time to monitor during shutdown (5 minutes) */
|
||
|
|
MAX_SHUTDOWN_MONITORING_MS: 5 * 60 * 1000,
|
||
|
|
|
||
|
|
/** Interval for UPS checks during shutdown (30 seconds) */
|
||
|
|
SHUTDOWN_CHECK_INTERVAL_MS: 30000,
|
||
|
|
} as const;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* SNMP-related constants
|
||
|
|
*/
|
||
|
|
export const SNMP = {
|
||
|
|
/** Default SNMP port */
|
||
|
|
DEFAULT_PORT: 161,
|
||
|
|
|
||
|
|
/** Default SNMP timeout (5 seconds) */
|
||
|
|
DEFAULT_TIMEOUT_MS: 5000,
|
||
|
|
|
||
|
|
/** Number of SNMP retries */
|
||
|
|
RETRIES: 2,
|
||
|
|
|
||
|
|
/** Timeout for noAuthNoPriv security level (5 seconds) */
|
||
|
|
TIMEOUT_NO_AUTH_MS: 5000,
|
||
|
|
|
||
|
|
/** Timeout for authNoPriv security level (10 seconds) */
|
||
|
|
TIMEOUT_AUTH_MS: 10000,
|
||
|
|
|
||
|
|
/** Timeout for authPriv security level (15 seconds) */
|
||
|
|
TIMEOUT_AUTH_PRIV_MS: 15000,
|
||
|
|
|
||
|
|
/** Maximum timeout for connection tests (10 seconds) */
|
||
|
|
MAX_TEST_TIMEOUT_MS: 10000,
|
||
|
|
} as const;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Default threshold values
|
||
|
|
*/
|
||
|
|
export const THRESHOLDS = {
|
||
|
|
/** Default battery capacity threshold for shutdown (60%) */
|
||
|
|
DEFAULT_BATTERY_PERCENT: 60,
|
||
|
|
|
||
|
|
/** Default runtime threshold for shutdown (20 minutes) */
|
||
|
|
DEFAULT_RUNTIME_MINUTES: 20,
|
||
|
|
|
||
|
|
/** Emergency runtime threshold during shutdown (5 minutes) */
|
||
|
|
EMERGENCY_RUNTIME_MINUTES: 5,
|
||
|
|
} as const;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Webhook action constants
|
||
|
|
*/
|
||
|
|
export const WEBHOOK = {
|
||
|
|
/** Default webhook request timeout (10 seconds) */
|
||
|
|
DEFAULT_TIMEOUT_MS: 10000,
|
||
|
|
} as const;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Script action constants
|
||
|
|
*/
|
||
|
|
export const SCRIPT = {
|
||
|
|
/** Default script execution timeout (60 seconds) */
|
||
|
|
DEFAULT_TIMEOUT_MS: 60000,
|
||
|
|
} as const;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Shutdown action constants
|
||
|
|
*/
|
||
|
|
export const SHUTDOWN = {
|
||
|
|
/** Default shutdown delay (5 minutes) */
|
||
|
|
DEFAULT_DELAY_MINUTES: 5,
|
||
|
|
} as const;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* HTTP Server constants
|
||
|
|
*/
|
||
|
|
export const HTTP_SERVER = {
|
||
|
|
/** Default HTTP server port */
|
||
|
|
DEFAULT_PORT: 8080,
|
||
|
|
|
||
|
|
/** Default URL path for UPS status endpoint */
|
||
|
|
DEFAULT_PATH: '/ups-status',
|
||
|
|
} as const;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* UI/Display constants
|
||
|
|
*/
|
||
|
|
export const UI = {
|
||
|
|
/** Default width for log boxes */
|
||
|
|
DEFAULT_BOX_WIDTH: 45,
|
||
|
|
|
||
|
|
/** Wide box width for status displays */
|
||
|
|
WIDE_BOX_WIDTH: 60,
|
||
|
|
|
||
|
|
/** Extra wide box width for detailed info */
|
||
|
|
EXTRA_WIDE_BOX_WIDTH: 70,
|
||
|
|
} as const;
|