import { loadEnvFile } from "node:process"; import path from "node:path"; import assert from "node:assert"; loadEnvFile(path.join("../../.env")) // Global loadEnvFile(path.join("./.env")) // base export const env = { ENVIRONMENT: process.env.ENVIORMENT, POSTGRES_USER: process.env.POSTGRES_USER, POSTGRES_PASSWORD: process.env.POSTGRES_PASSWORD, POSTGRES_PORT: process.env.POSTGRES_PORT, POSTGRES_HOST: process.env.POSTGRES_HOST, POSTGRES_DATABASE: process.env.POSTGRES_DATABASE, RABBITMQ_HOST: String(process.env.RABBITMQ_HOST ?? "localhost"), RABBITMQ_USER: String(process.env.RABBITMQ_USER), RABBITMQ_PASSWORD: String(process.env.RABBITMQ_PASSWORD), RABBITMQ_EXCHANGE: String(process.env.RABBITMQ_EXCHANGE), RABBITMQ_PORT: parseInt(process.env.RABBITMQ_PORT ?? "5672"), RABBITMQ_MODULENAME: process.env.MODULENAME, RABBITMQ_TTL: process.env.RABBITMQ_TTL, RABBITMQ_SECURE: process.env.RABBITMQ_SECURE, RABBITMQ_RETRY_INTERVAL: process.env.RABBITMQ_INTERVAL, RABBITMQ_VHOST: String(process.env.RABBITMQ_VHOST), // ESPECIFICO DE OBJENIOUS OBJ_PEM_PATH: String(process.env.OBJ_PEM_PATH), OBJ_AUTHOIZATION: String(process.env.OBJ_ATHORIZATION), OBJ_CLI_ASSERTION: String(process.env.OBJ_CLI_ASSERTION), OBJ_CLIENT_ID: String(process.env.OBJ_CLIENT_ID), OBJ_KID: String(process.env.OBJ_KID), OBJ_BASE_URL: String(process.env.OBJ_BASE_URL), NOTIFICATION_URL: String(process.env.NOTIFICATION_URL ?? ""), SIM_ACTIVATION_API_KEY: String(process.env.SIM_ACTIVATION_API_KEY ?? "") }; // assert las partes criticas assert(env.RABBITMQ_PASSWORD != undefined) assert(env.RABBITMQ_USER != undefined) assert(env.SIM_ACTIVATION_API_KEY != "") assert(env.NOTIFICATION_URL != "") if (env.ENVIRONMENT == "production") { assert(env.RABBITMQ_PASSWORD != "guest") assert(env.RABBITMQ_HOST != "localhost") } console.log("[i] verificado env")