import { config as configDotenv } from 'dotenv'; import { CountryCode } from 'libphonenumber-js'; import ValidatorJS from 'validator'; configDotenv(); export const config = { internal_port: parseInt(process.env.APP_PORT) || 4010, development: process.env.NODE_ENV === "production", jwt_secret: process.env.JWT_SECRET || "secretjwtsecret", phone_validation_countrycode: getPhoneCodeLocale(), postalcode_validation_countrycode: getPostalCodeLocale(), version: process.env.VERSION || require('../package.json').version, seedTestData: getDataSeeding(), app_url: process.env.APP_URL || "http://localhost:4010", mail_server: process.env.MAIL_SERVER, mail_port: Number(process.env.MAIL_PORT) || 25, mail_user: process.env.MAIL_USER, mail_password: process.env.MAIL_PASSWORD, mail_from: process.env.MAIL_FROM } let errors = 0 if (typeof config.internal_port !== "number") { errors++ } if (typeof config.development !== "boolean") { errors++ } function getPhoneCodeLocale(): CountryCode { return (process.env.PHONE_COUNTRYCODE as CountryCode); } function getPostalCodeLocale(): any { try { const stringArray: String[] = ValidatorJS.isPostalCodeLocales; let index = stringArray.indexOf(process.env.POSTALCODE_COUNTRYCODE); return ValidatorJS.isPostalCodeLocales[index]; } catch (error) { return null; } } function getDataSeeding(): Boolean { try { return JSON.parse(process.env.SEED_TEST_DATA); } catch (error) { return false; } } export let e = errors