diff --git a/packages/common-ts/CHANGELOG.md b/packages/common-ts/CHANGELOG.md index 4298013..eb6b964 100644 --- a/packages/common-ts/CHANGELOG.md +++ b/packages/common-ts/CHANGELOG.md @@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Added +- Add ability to enable SSL to database connection with `sslEnabled` (maintain default of `false`) ## [2.0.7] - 2023-09-25 ### Changed diff --git a/packages/common-ts/src/database/index.test.ts b/packages/common-ts/src/database/index.test.ts index 80ca284..820e133 100644 --- a/packages/common-ts/src/database/index.test.ts +++ b/packages/common-ts/src/database/index.test.ts @@ -10,4 +10,45 @@ describe('Database', () => { const sequelize = await connectDatabase(__DATABASE__) expect(sequelize).toBeDefined() }) + + test('Connect with options set', async () => { + const sequelize = await connectDatabase({ + host: 'localhost', + username: 'test', + password: 'test', + database: 'test', + sslEnabled: true, + logging: () => {}, + poolMin: 1, + poolMax: 5, + }) + + expect(sequelize).toBeDefined() + + const poolConfig = sequelize.config.pool + expect(poolConfig?.min).toBe(1) + expect(poolConfig?.max).toBe(5) + + const sslConfig = sequelize.config.ssl + expect(sslConfig).toBe(true) + }) + + test('Connect with default options', async () => { + const sequelize = await connectDatabase({ + host: 'localhost', + username: 'test', + password: 'test', + database: 'test', + logging: () => {}, + }) + + expect(sequelize).toBeDefined() + + const poolConfig = sequelize.config.pool + expect(poolConfig?.min).toBe(0) + expect(poolConfig?.max).toBe(10) + + const sslConfig = sequelize.config.ssl + expect(sslConfig).toBe(false) + }) }) diff --git a/packages/common-ts/src/database/index.ts b/packages/common-ts/src/database/index.ts index 75fe050..3145edc 100644 --- a/packages/common-ts/src/database/index.ts +++ b/packages/common-ts/src/database/index.ts @@ -6,6 +6,7 @@ interface ConnectOptions { username: string password: string database: string + sslEnabled?: boolean logging?: (sql: string, timing?: number) => void poolMin?: number poolMax?: number @@ -18,6 +19,7 @@ export const connectDatabase = async (options: ConnectOptions): Promise