diff --git a/packages/utils/src/config.ts b/packages/utils/src/config.ts index c79458f..1c8333c 100644 --- a/packages/utils/src/config.ts +++ b/packages/utils/src/config.ts @@ -8,7 +8,7 @@ export interface AppConfig { appName: string; appVersion: string; environment: 'development' | 'staging' | 'production'; - port: number; + port?: number; // Institution institutionBIC: string; @@ -58,39 +58,39 @@ export function loadConfig(): AppConfig { return { appName: process.env.APP_NAME || 'Brazil SWIFT Operations', appVersion: process.env.APP_VERSION || '1.0.0', - environment: (process.env.NODE_ENV as any) || 'development', - port: parseInt(process.env.PORT || '3000', 10), + environment: ((typeof process !== 'undefined' ? process.env?.NODE_ENV : undefined) as any) || 'development', + port: typeof process !== 'undefined' ? parseInt(process.env?.PORT || '3000', 10) : 3000, - institutionBIC: process.env.INSTITUTION_BIC || 'ESTRBRRJ', - institutionName: process.env.INSTITUTION_NAME || 'Strategy Investimentos S/A CVC', - institutionCountry: process.env.INSTITUTION_COUNTRY || 'BR', + institutionBIC: (typeof process !== 'undefined' ? process.env?.INSTITUTION_BIC : undefined) || 'ESTRBRRJ', + institutionName: (typeof process !== 'undefined' ? process.env?.INSTITUTION_NAME : undefined) || 'Strategy Investimentos S/A CVC', + institutionCountry: (typeof process !== 'undefined' ? process.env?.INSTITUTION_COUNTRY : undefined) || 'BR', - reportingThresholdUSD: parseFloat(process.env.REPORTING_THRESHOLD_USD || '10000'), - amlStructuringThresholdUSD: parseFloat(process.env.AML_STRUCTURING_THRESHOLD_USD || '10000'), - amlStructuringWindowDays: parseInt(process.env.AML_STRUCTURING_WINDOW_DAYS || '30', 10), + reportingThresholdUSD: parseFloat((typeof process !== 'undefined' ? process.env?.REPORTING_THRESHOLD_USD : undefined) || '10000'), + amlStructuringThresholdUSD: parseFloat((typeof process !== 'undefined' ? process.env?.AML_STRUCTURING_THRESHOLD_USD : undefined) || '10000'), + amlStructuringWindowDays: parseInt((typeof process !== 'undefined' ? process.env?.AML_STRUCTURING_WINDOW_DAYS : undefined) || '30', 10), - iofRateInbound: parseFloat(process.env.IOF_RATE_INBOUND || '0.0038'), - iofRateOutbound: parseFloat(process.env.IOF_RATE_OUTBOUND || '0.035'), + iofRateInbound: parseFloat((typeof process !== 'undefined' ? process.env?.IOF_RATE_INBOUND : undefined) || '0.0038'), + iofRateOutbound: parseFloat((typeof process !== 'undefined' ? process.env?.IOF_RATE_OUTBOUND : undefined) || '0.035'), - fxRateProvider: (process.env.FX_RATE_PROVIDER as any) || 'hardcoded', - fxRateCacheTTL: parseInt(process.env.FX_RATE_CACHE_TTL || '3600', 10), + fxRateProvider: ((typeof process !== 'undefined' ? process.env?.FX_RATE_PROVIDER : undefined) as any) || 'hardcoded', + fxRateCacheTTL: parseInt((typeof process !== 'undefined' ? process.env?.FX_RATE_CACHE_TTL : undefined) || '3600', 10), - databaseUrl: process.env.DATABASE_URL, - databasePoolSize: parseInt(process.env.DATABASE_POOL_SIZE || '10', 10), + databaseUrl: typeof process !== 'undefined' ? process.env?.DATABASE_URL : undefined, + databasePoolSize: parseInt((typeof process !== 'undefined' ? process.env?.DATABASE_POOL_SIZE : undefined) || '10', 10), - logLevel: (process.env.LOG_LEVEL as any) || 'info', - logFormat: (process.env.LOG_FORMAT as any) || 'json', + logLevel: ((typeof process !== 'undefined' ? process.env?.LOG_LEVEL : undefined) as any) || 'info', + logFormat: ((typeof process !== 'undefined' ? process.env?.LOG_FORMAT : undefined) as any) || 'json', - enableAuth: process.env.ENABLE_AUTH === 'true', - sessionSecret: process.env.SESSION_SECRET, - jwtSecret: process.env.JWT_SECRET, + enableAuth: (typeof process !== 'undefined' ? process.env?.ENABLE_AUTH : undefined) === 'true', + sessionSecret: typeof process !== 'undefined' ? process.env?.SESSION_SECRET : undefined, + jwtSecret: typeof process !== 'undefined' ? process.env?.JWT_SECRET : undefined, - bcbReportingEnabled: process.env.BCB_REPORTING_ENABLED === 'true', - bcbReportingApiUrl: process.env.BCB_REPORTING_API_URL, - bcbReportingApiKey: process.env.BCB_REPORTING_API_KEY, + bcbReportingEnabled: (typeof process !== 'undefined' ? process.env?.BCB_REPORTING_ENABLED : undefined) === 'true', + bcbReportingApiUrl: typeof process !== 'undefined' ? process.env?.BCB_REPORTING_API_URL : undefined, + bcbReportingApiKey: typeof process !== 'undefined' ? process.env?.BCB_REPORTING_API_KEY : undefined, - auditRetentionDays: parseInt(process.env.AUDIT_RETENTION_DAYS || '2555', 10), // 7 years - auditAutoDelete: process.env.AUDIT_AUTO_DELETE === 'true', + auditRetentionDays: parseInt((typeof process !== 'undefined' ? process.env?.AUDIT_RETENTION_DAYS : undefined) || '2555', 10), // 7 years + auditAutoDelete: (typeof process !== 'undefined' ? process.env?.AUDIT_AUTO_DELETE : undefined) === 'true', }; }