MCPcopy Create free account
hub / github.com/linuxfoundation/crowd.dev / getDbConnection

Function getDbConnection

services/libs/database/src/connection.ts:47–74  ·  view source on GitHub ↗
(
  config: IDatabaseConfig,
  maxPoolSize?: number,
  idleTimeoutMillis?: number,
)

Source from the content-addressed store, hash-verified

45const dbConnection: Record<string, DbConnection | undefined> = {}
46
47export const getDbConnection = async (
48 config: IDatabaseConfig,
49 maxPoolSize?: number,
50 idleTimeoutMillis?: number,
51): Promise<DbConnection> => {
52 if (dbConnection[config.host]) {
53 return dbConnection[config.host]
54 }
55
56 log.info(
57 { database: config.database, host: config.host, port: config.port },
58 'Connecting to database!',
59 )
60
61 const dbInstance = getDbInstance()
62
63 dbConnection[config.host] = dbInstance({
64 ...config,
65 max: maxPoolSize || 20,
66 idleTimeoutMillis: idleTimeoutMillis !== undefined ? idleTimeoutMillis : 10000,
67 // query_timeout: 30000,
68 application_name: process.env.SERVICE || 'unknown-app',
69 })
70
71 await dbConnection[config.host].connect()
72
73 return dbConnection[config.host]
74}

Calls 2

getDbInstanceFunction · 0.85
infoMethod · 0.80

Tested by

no test coverage detected