From 82e78d3e4de48f0bcfb5f883b36e9b32cc11545a Mon Sep 17 00:00:00 2001 From: niztal Date: Tue, 30 Jan 2024 22:06:12 +0200 Subject: [PATCH] refactor uninfy pg and mysql to use the same SSL config function --- packages/server/src/DataSource.ts | 38 ++++++++++++------------------- 1 file changed, 14 insertions(+), 24 deletions(-) diff --git a/packages/server/src/DataSource.ts b/packages/server/src/DataSource.ts index 222dae5b0..861bd83b6 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 {}; +}