refactor uninfy pg and mysql to use the same SSL config function

This commit is contained in:
niztal 2024-01-30 22:06:12 +02:00
parent 289b04fb12
commit 82e78d3e4d
1 changed files with 14 additions and 24 deletions

View File

@ -41,18 +41,7 @@ export const init = async (): Promise<void> => {
migrationsRun: false, migrationsRun: false,
entities: Object.values(entities), entities: Object.values(entities),
migrations: mysqlMigrations, migrations: mysqlMigrations,
...(process.env.DATABASE_SSL_KEY_BASE64 ssl: getDatabaseSSLFromEnv(),
? {
ssl: {
rejectUnauthorized: false,
ca: Buffer.from(process.env.DATABASE_SSL_KEY_BASE64, 'base64')
}
}
: process.env.DATABASE_SSL === 'true'
? {
ssl: true
}
: {})
}) })
break break
case 'postgres': case 'postgres':
@ -63,18 +52,7 @@ export const init = async (): Promise<void> => {
username: process.env.DATABASE_USER, username: process.env.DATABASE_USER,
password: process.env.DATABASE_PASSWORD, password: process.env.DATABASE_PASSWORD,
database: process.env.DATABASE_NAME, database: process.env.DATABASE_NAME,
...(process.env.DATABASE_SSL_KEY_BASE64 ssl: getDatabaseSSLFromEnv(),
? {
ssl: {
rejectUnauthorized: false,
cert: Buffer.from(process.env.DATABASE_SSL_KEY_BASE64, 'base64')
}
}
: process.env.DATABASE_SSL === 'true'
? {
ssl: true
}
: {}),
synchronize: false, synchronize: false,
migrationsRun: false, migrationsRun: false,
entities: Object.values(entities), entities: Object.values(entities),
@ -101,3 +79,15 @@ export function getDataSource(): DataSource {
} }
return appDataSource 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 {};
}