110 lines
4.6 KiB
JavaScript
110 lines
4.6 KiB
JavaScript
const utils = require('./utils'),
|
|
fileHelper = require('./file_helper');
|
|
|
|
module.exports = {
|
|
AGM_PORT: process.env.AGM_PORT,
|
|
PRODUCTION: utils.stringToBoolean(process.env.PRODUCTION) || false,
|
|
DEBUG: process.env.DEBUG,
|
|
LOG_ALL_ERRORS: process.env.LOG_ALL_ERRORS || false,
|
|
MAX_REQ_BDY_MB: process.env.MAX_REQ_BDY_MB,
|
|
MAX_UPLOAD_SIZE_MB: process.env.MAX_UPLOAD_SIZE_MB,
|
|
MAX_UPLOAD_FILES: process.env.MAX_UPLOAD_FILES,
|
|
MAX_SESSION_SECS: process.env.MAX_SESSION_SECS || 3600 * 8,
|
|
|
|
NO_EMAIL_MODE: utils.stringToBoolean(process.env.NO_EMAIL_MODE) || false,
|
|
|
|
// Make sure and safe to force minimum 13 months to archive jobs
|
|
ARCHIVE_JOBS_DAYS: Math.max((+process.env.ARCHIVE_JOBS_DAYS || 365) + 31, 365 + 31),
|
|
|
|
TOKEN_SECRET: process.env.TOKEN_SECRET,
|
|
PWD_RESET_VALID_HRS: process.env.PWD_RESET_VALID_HRS || '3h',
|
|
|
|
APP_RATE_MINS: Number(process.env.APP_RATE_MINS) || 5,
|
|
APP_RATE_REQS: Number(process.env.APP_RATE_REQS) || 200,
|
|
APP_RATE_SKIPFAIL: utils.stringToBoolean(process.env.APP_RATE_SKIPFAIL),
|
|
// true: trust all proxies, ['ip address', 'other ip address'] or number: number of proxies between user and server
|
|
APP_RATE_TRUST_PROXIES: Number(process.env.APP_RATE_TRUST_PROXIES) || 1,
|
|
|
|
UPLOAD_DIR: fileHelper.getAppPath(process.env.UPLOAD_DIR),
|
|
UNZIP_DIR: fileHelper.getAppPath(process.env.UNZIP_DIR),
|
|
REPORT_DIR: fileHelper.getAppPath(process.env.REPORT_DIR),
|
|
TEMP_DIR: fileHelper.getAppPath(process.env.TEMP_DIR),
|
|
|
|
SSL_KEY: process.env.SSL_KEY,
|
|
SSL_CERT: process.env.SSL_CERT,
|
|
|
|
CAPTCHA_SITESEC: process.env.CAPTCHA_SITESEC,
|
|
|
|
ENABLE_SUBSCRIPTION: utils.stringToBoolean(process.env.ENABLE_SUBSCRIPTION) || false,
|
|
// Stripe
|
|
STRIPE_SEC_KEY: process.env.STRIPE_SEC_KEY,
|
|
STRIPE_PUB_KEY: process.env.STRIPE_PUB_KEY,
|
|
STRIPE_WH_SEC: process.env.STRIPE_WH_SEC,
|
|
STRIPE_API_VERSION: process.env.STRIPE_API_VERSION,
|
|
PRICES: {
|
|
// Essential packages
|
|
ess_1: process.env.ESS_1,
|
|
ess_2: process.env.ESS_2,
|
|
ess_3: process.env.ESS_3,
|
|
ess_4: process.env.ESS_4,
|
|
ess_5: process.env.ESS_5,
|
|
// Enterprise packages
|
|
ent_1: process.env.ENT_1,
|
|
ent_2: process.env.ENT_2,
|
|
ent_3: process.env.ENT_3,
|
|
ent_4: process.env.ENT_4,
|
|
addon_1: process.env.ADDON_1
|
|
},
|
|
AGN_BILL_MGT_EMAIL: process.env.AGN_BILL_MGT_EMAIL,
|
|
AGM_ADM_EMAIL: process.env.AGM_ADM_EMAIL,
|
|
NEW_ACC_TRIAL_DAYS: process.env.NEW_ACC_TRIAL_DAYS || 30,
|
|
NEW_ACC_VALID_TIME: process.env.NEW_ACC_VALID_TIME || '3d',
|
|
EMAIL_VER_VALID_TIME: process.env.EMAIL_VER_VALID_TIME || '4h',
|
|
|
|
// DB connection info
|
|
DB_HOSTS: process.env.DB_HOSTS,
|
|
DB_NAME: process.env.DB_NAME,
|
|
DB_USR: process.env.DB_USR,
|
|
DB_PWD: process.env.DB_PWD,
|
|
DB_AUTH_SOURCE: process.env.DB_AUTH_SOURCE,
|
|
DB_REPLSET: process.env.DB_REPLSET,
|
|
DB_MAX_POOLSIZE: process.env.DB_MAX_POOLSIZE,
|
|
DB_USE_TLS: utils.stringToBoolean(process.env.DB_USE_TLS),
|
|
DB_TLS_CA_FILE: process.env.DB_TLS_CA_FILE,
|
|
DB_TLS_CERT_FILE: process.env.DB_TLS_CERT_FILE,
|
|
DB_USE_X509: utils.stringToBoolean(process.env.DB_USE_X509),
|
|
DB_DISABLE_HOSTNAME_VERIFY: utils.stringToBoolean(process.env.DB_DISABLE_HOSTNAME_VERIFY),
|
|
// Allow disabling SSL validation - not recommended but sometimes needed for self-signed certs
|
|
DB_DISABLE_SSL_VALIDATE: utils.stringToBoolean(process.env.DB_DISABLE_SSL_VALIDATE),
|
|
// New parameter to identify ScaleGrid hosting
|
|
DB_USE_SCALEGRID: utils.stringToBoolean(process.env.DB_USE_SCALEGRID) || false,
|
|
|
|
// For RabbitMq queue client
|
|
QUEUE_PORT: process.env.QUEUE_PORT,
|
|
QUEUE_HOST: process.env.QUEUE_HOST,
|
|
QUEUE_USR: process.env.QUEUE_USR,
|
|
QUEUE_PWD: process.env.QUEUE_PWD,
|
|
QUEUE_VHOST: process.env.QUEUE_VHOST,
|
|
QUEUE_NAME_JOBS: process.env.QUEUE_NAME_JOBS,
|
|
QUEUE_HEARTBEAT: Number(process.env.QUEUE_HEARTBEAT),
|
|
|
|
REDIS_PWD: process.env.REDIS_PWD,
|
|
|
|
SMTP_HOST: process.env.SMTP_HOST,
|
|
SMTP_PORT: process.env.SMTP_PORT,
|
|
SMTP_SECURE: process.env.SMTP_SECURE,
|
|
SMTP_USR: process.env.SMTP_USR,
|
|
SMTP_PWD: process.env.SMTP_PWD,
|
|
|
|
INV_IMG_VIR_DIR: process.env.INV_IMG_VIR_DIR ?? '/uploads/invoice_settings',
|
|
INV_UPLOAD_DIR: fileHelper.getAppPath(process.env.INV_UPLOAD_DIR ?? './uploads/invoice_settings'),
|
|
|
|
INV_MAX_UPLOAD_SIZE_MB: process.env.INV_MAX_UPLOAD_SIZE_MB || 5,
|
|
INV_PROCESS_LIMIT: Number(process.env.INV_PROCESS_LIMIT || 100),
|
|
INV_OVERPAID_THRESHOLD: Math.max(1, Number(process.env.INV_OVERPAID_THRESHOLD || 5)),
|
|
INV_MAX_OVERDUE_DAYS: Number(process.env.INV_MAX_OVERDUE_DAYS || 30),
|
|
|
|
// For Obstacle worker
|
|
FAA_DOF_URL: process.env.FAA_DOF_URL || 'https://www.faa.gov/air_traffic/flight_info/aeronav/digital_products/dof/',
|
|
AREAS_UPLOAD_DIR: fileHelper.getAppPath(process.env.AREAS_UPLOAD_DIR ?? './uploads/areas'),
|
|
} |