Fix browser compatibility: handle process.env safely for client-side code

This commit is contained in:
defiQUG
2026-01-23 16:41:08 -08:00
parent 696b9059f6
commit 217f423d17

View File

@@ -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',
};
}