48 lines
1.2 KiB
TypeScript
48 lines
1.2 KiB
TypeScript
import * as dotenv from 'dotenv'
|
|
import assert from 'assert'
|
|
const NODE_ENV = process.env.NODE_ENV || 'development'
|
|
|
|
dotenv.config()
|
|
let path
|
|
switch (process.env.NODE_ENV) {
|
|
case 'test':
|
|
path = `${__dirname}/../../.env.development`
|
|
break
|
|
case 'production':
|
|
path = `${__dirname}/../../.env.production`
|
|
break
|
|
default:
|
|
path = `${__dirname}/../../.env.development`
|
|
}
|
|
dotenv.config({ path: path, debug: NODE_ENV === 'development' })
|
|
|
|
assert(process.env.API_TOKEN_SECRET_PRIVATE, 'API_TOKEN_SECRET_PRIVATE not set')
|
|
assert(process.env.API_TOKEN_SECRET_PUBLIC, 'API_TOKEN_SECRET_PUBLIC not set')
|
|
assert(process.env.API_TOKEN_EXPIRESIN, 'API_TOKEN_EXPIRESIN not set')
|
|
|
|
const privateKey = `
|
|
-----BEGIN PRIVATE KEY-----
|
|
${process.env.API_TOKEN_SECRET_PRIVATE}
|
|
-----END PRIVATE KEY-----
|
|
`
|
|
const publicKey = `
|
|
-----BEGIN PUBLIC KEY-----
|
|
${process.env.API_TOKEN_SECRET_PUBLIC}
|
|
-----END PUBLIC KEY-----
|
|
`
|
|
|
|
let baseConfig = {
|
|
api: {
|
|
port: parseInt(process.env.API_PORT),
|
|
host: process.env.API_HOST,
|
|
token_secret_private: privateKey,
|
|
token_secret_public: publicKey,
|
|
token_expiresIn: process.env.API_TOKEN_EXPIRESIN,
|
|
},
|
|
|
|
db_main: process.env.DB_MAIN,
|
|
db_second: process.env.DB_SECOND,
|
|
}
|
|
|
|
export default baseConfig
|