diff --git a/packages/server/src/DataSource.ts b/packages/server/src/DataSource.ts index 222dae5b..861bd83b 100644 --- a/packages/server/src/DataSource.ts +++ b/packages/server/src/DataSource.ts @@ -41,18 +41,7 @@ export const init = async (): Promise => { migrationsRun: false, entities: Object.values(entities), migrations: mysqlMigrations, - ...(process.env.DATABASE_SSL_KEY_BASE64 - ? { - ssl: { - rejectUnauthorized: false, - ca: Buffer.from(process.env.DATABASE_SSL_KEY_BASE64, 'base64') - } - } - : process.env.DATABASE_SSL === 'true' - ? { - ssl: true - } - : {}) + ssl: getDatabaseSSLFromEnv(), }) break case 'postgres': @@ -63,18 +52,7 @@ export const init = async (): Promise => { username: process.env.DATABASE_USER, password: process.env.DATABASE_PASSWORD, database: process.env.DATABASE_NAME, - ...(process.env.DATABASE_SSL_KEY_BASE64 - ? { - ssl: { - rejectUnauthorized: false, - cert: Buffer.from(process.env.DATABASE_SSL_KEY_BASE64, 'base64') - } - } - : process.env.DATABASE_SSL === 'true' - ? { - ssl: true - } - : {}), + ssl: getDatabaseSSLFromEnv(), synchronize: false, migrationsRun: false, entities: Object.values(entities), @@ -101,3 +79,15 @@ export function getDataSource(): DataSource { } return appDataSource } + +const getDatabaseSSLFromEnv = () => { + if (process.env.DATABASE_SSL_KEY_BASE64) { + return { + rejectUnauthorized: false, + ca: Buffer.from(process.env.DATABASE_SSL_KEY_BASE64, 'base64') + }; + } else if (process.env.DATABASE_SSL === 'true') { + return true; + } + return {}; +}