@tricoteuses/senat
Version:
Handle French Sénat's open data
33 lines (28 loc) • 833 B
text/typescript
import PgPromise from "pg-promise"
import config from "./config"
export const pgPromise = PgPromise()
export const dbNames = ["ameli", "debats", "dosleg", "questions", "sens"]
export const dbByName: { [name: string]: any } = {}
for (const name of dbNames) {
dbByName[name] = pgPromise({
database: name,
host: config.db.host,
password: config.db.password,
port: config.db.port,
user: config.db.user,
})
}
export let dbSharedConnectionObjectByName: {
[name: string]: PgPromise.IConnected<unknown, any>
} = {}
export async function checkDatabase(name: string) {
// Check that database exists.
const db = dbByName[name]
dbSharedConnectionObjectByName[name] = await db.connect()
return db
}
export async function checkDatabases() {
for (const name of dbNames) {
await checkDatabase(name)
}
}