"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.BaseAppConfig = void 0;
exports.isDevFeatureEnabled = isDevFeatureEnabled;
const const_1 = require("./const");
class BaseAppConfig {
    constructor() {
        this.AUTH_JWT_ENABLE_VERIFY = true;
        this.CRYPTO_IV_LENGTH = 12;
        this.BULL_QUEUE = 'default'; // todo: does a blank string still yield a default?
        this.MUTEX_MODE = 'local';
        this.SRPC_AUTH_CLOCK_DRIFT_MS = 30_000;
        this.HTTP_REQUEST_LOGGING_MODE = 'e2e';
        this.HEALTHZ_ENABLE_REQUEST_LOGGING = false;
        this.MAIL_PROVIDER = 'smtp';
        this.SMTP_HOST = '127.0.0.1';
        this.SMTP_PORT = 1025;
        this.SMTP_TLS = false;
    }
}
exports.BaseAppConfig = BaseAppConfig;
BaseAppConfig.__type = ['APP_ENV', 'DEVCONSOLE_ENABLED', 'PORT', 'MYSQL_HOST', 'MYSQL_PORT', 'MYSQL_USER', 'MYSQL_PASSWORD_SECRET', 'MYSQL_DATABASE', 'MYSQL_CONNECTION_LIMIT', 'MYSQL_MIN_IDLE_CONNECTIONS', 'MYSQL_IDLE_TIMEOUT_SECONDS', 'PG_HOST', 'PG_PORT', 'PG_USER', 'PG_PASSWORD_SECRET', 'PG_DATABASE', 'PG_SCHEMA', 'PG_SSL', 'PG_SSL_REJECT_UNAUTHORIZED', 'PG_CONNECTION_LIMIT', 'PG_IDLE_TIMEOUT_SECONDS', 'AUTH_JWT_ISSUER', 'AUTH_JWT_EXPIRATION_MINS', 'AUTH_JWT_COOKIE_NAME', 'AUTH_JWT_SECRET', 'AUTH_JWT_SECRET_B64', 'AUTH_JWT_ED_SECRET', 'AUTH_JWT_ENABLE_VERIFY', function () { return true; }, 'AUTH_BASIC_SECRET', 'CRYPTO_SECRET', 'CRYPTO_IV_LENGTH', function () { return 12; }, 'USE_REAL_IP_HEADER', 'MAIL_POSTMARK_SECRET', 'REDIS_SENTINEL_HOST', 'REDIS_SENTINEL_PORT', 'REDIS_SENTINEL_NAME', 'REDIS_HOST', 'REDIS_PORT', 'REDIS_PREFIX', 'CACHE_REDIS_SENTINEL_HOST', 'CACHE_REDIS_SENTINEL_PORT', 'CACHE_REDIS_SENTINEL_NAME', 'CACHE_REDIS_HOST', 'CACHE_REDIS_PORT', 'CACHE_REDIS_PREFIX', 'BROADCAST_REDIS_SENTINEL_HOST', 'BROADCAST_REDIS_SENTINEL_PORT', 'BROADCAST_REDIS_SENTINEL_NAME', 'BROADCAST_REDIS_HOST', 'BROADCAST_REDIS_PORT', 'BROADCAST_REDIS_PREFIX', 'BULL_REDIS_SENTINEL_HOST', 'BULL_REDIS_SENTINEL_PORT', 'BULL_REDIS_SENTINEL_NAME', 'BULL_REDIS_HOST', 'BULL_REDIS_PORT', 'BULL_REDIS_PREFIX', 'BULL_QUEUE', function () { return 'default'; }, 'MESH_REDIS_SENTINEL_HOST', 'MESH_REDIS_SENTINEL_PORT', 'MESH_REDIS_SENTINEL_NAME', 'MESH_REDIS_HOST', 'MESH_REDIS_PORT', 'MESH_REDIS_PREFIX', "local", "redis", 'MUTEX_MODE', function () { return 'local'; }, 'MUTEX_REDIS_SENTINEL_HOST', 'MUTEX_REDIS_SENTINEL_PORT', 'MUTEX_REDIS_SENTINEL_NAME', 'MUTEX_REDIS_HOST', 'MUTEX_REDIS_PORT', 'MUTEX_REDIS_PREFIX', 'ENABLE_OPENAPI_SCHEMA', 'ENABLE_JOB_RUNNER', 'SENTRY_DSN', 'OTEL_EXPORTER_OTLP_ENDPOINT', 'ALERTS_SLACK_WEBHOOK_URL', 'SRPC_AUTH_SECRET', 'SRPC_AUTH_CLOCK_DRIFT_MS', function () { return 30_000; }, "none", "e2e", "finish", "errors", 'HTTP_REQUEST_LOGGING_MODE', function () { return 'e2e'; }, 'HEALTHZ_ENABLE_REQUEST_LOGGING', function () { return false; }, 'MAIL_FROM', 'MAIL_FROM_NAME', "smtp", "postmark", 'MAIL_PROVIDER', function () { return 'smtp'; }, 'SMTP_HOST', function () { return '127.0.0.1'; }, 'SMTP_PORT', function () { return 1025; }, 'SMTP_USER', 'SMTP_PASSWORD_SECRET', 'SMTP_TLS', function () { return false; }, 'POSTMARK_SECRET', 'BaseAppConfig', '&3!)3"8\'3#8&3$8\'3%8&3&8&3\'8&3(8\'3)8\'3*8\'3+8&3,8\'3-8&3.8&3/8&308&318)328)338\'348\'358&368\'378&388&398&3:8&3;8)3<>=&3>8&3?8\'3@>A)3B8&3C8&3D8\'3E8&3F8&3G8\'3H8&3I8&3J8\'3K8&3L8&3M8\'3N8&3O8&3P8\'3Q8&3R8&3S8\'3T8&3U8&3V8\'3W8&3X8&3Y8\'3Z8&3[8&3\\>]&3^8\'3_8&3`8&3a8\'3b8&3c8P.d.eJ3f>g&3h8\'3i8&3j8&3k8\'3l8&3m8)3n8)3o8&3p8&3q8&3r8&3s8\'3t>uP.v.w.x.yJ3z>{)3|>}&3~8&38P.\u0080.\u0081J3\u0082>\u0083&3\u0084>\u0085\'3\u0086>\u0087&3\u00888&3\u00898)3\u008A>\u008B&3\u008C85w\u008D'];
function isDevFeatureEnabled(envVar, defaultInDev = true) {
    if (typeof envVar === 'boolean')
        return envVar;
    if (envVar === '0' || envVar === 'false')
        return false;
    if (envVar === '1' || envVar === 'true')
        return true;
    return const_1.isDevelopment || const_1.isTest ? defaultInDev : false;
}
isDevFeatureEnabled.__type = ['envVar', 'defaultInDev', () => true, 'isDevFeatureEnabled', 'PP)&-J2!)2">#)/$'];
//# sourceMappingURL=config.js.map