UNPKG

self-serve-integration-service

Version:

Self-Serve Integration Service for managing multiple funder integrations including REST APIs, SOAP APIs, and UI automation

36 lines (29 loc) 1.18 kB
import dotenv from 'dotenv'; import { EnvironmentVariables } from '../types'; dotenv.config(); // Environment variables with type safety const config: EnvironmentVariables = { PORT: process.env['PORT'] || '3003', NODE_ENV: process.env['NODE_ENV'] || 'development', DATABASE_URL: process.env['DATABASE_URL'] || '', JWT_PUBLIC_KEY: process.env['JWT_PUBLIC_KEY'] || undefined, JWT_ISSUER: process.env['JWT_ISSUER'] || 'self-serve-platform', JWT_AUDIENCE: process.env['JWT_AUDIENCE'] || 'self-serve-users', LOG_LEVEL: process.env['LOG_LEVEL'] || 'info', API_GATEWAY_URL: process.env['API_GATEWAY_URL'] || undefined, AUTH_SERVICE_URL: process.env['AUTH_SERVICE_URL'] || undefined, }; // Validate required environment variables const requiredEnvVars = ['DATABASE_URL']; for (const envVar of requiredEnvVars) { if (!process.env[envVar]) { throw new Error(`Missing required environment variable: ${envVar}`); } } // Validate JWT configuration if (!process.env['JWT_SECRET'] && !process.env['JWT_PUBLIC_KEY']) { console.warn( 'Warning: Neither JWT_SECRET nor JWT_PUBLIC_KEY is configured. Authentication will fail.' ); } export default config;