import dotenv from 'dotenv'; import path from 'path'; dotenv.config({ path: path.resolve(process.cwd(), '.env') }); export const config = { port: parseInt(process.env.PORT || '3001', 10), nodeEnv: process.env.NODE_ENV || 'development', jwtSecret: process.env.JWT_SECRET || 'vod-manager-dev-secret-change-me', jwtExpiresIn: process.env.JWT_EXPIRES_IN || '7d', encryptionKey: process.env.APP_ENCRYPTION_KEY || '', defaultAdminUsername: process.env.DEFAULT_ADMIN_USERNAME || 'admin', defaultAdminPassword: process.env.DEFAULT_ADMIN_PASSWORD || 'admin', dbPath: process.env.DB_PATH || path.resolve(process.cwd(), 'data', 'vod-manager.db'), vodEndpointTemplate: process.env.VOD_ENDPOINT_TEMPLATE || 'vod.{region}.aliyuncs.com', }; export function validateConfig(): void { if (config.nodeEnv === 'production' && config.jwtSecret === 'vod-manager-dev-secret-change-me') { throw new Error('JWT_SECRET must be set in production'); } }