UNPKG

@tricoteuses/senat

Version:

Handle French Sénat's open data

34 lines (33 loc) 1.25 kB
import { Kysely, PostgresDialect } from "kysely"; import * as pg from "pg"; import { types } from "pg"; import Cursor from "pg-cursor"; import config from "./config"; import { datasets } from "./datasets"; // Map int8 to number instead of string // https://github.com/brianc/node-pg-types#use pg.types.setTypeParser(types.builtins.INT8, (val) => { return parseInt(val, 10); }); export const dbAmeli = createDb(datasets.ameli.database, datasets.ameli.schema); export const dbDebats = createDb(datasets.debats.database, datasets.debats.schema); export const dbDosleg = createDb(datasets.dosleg.database, datasets.dosleg.schema); export const dbQuestions = createDb(datasets.questions.database, datasets.questions.schema); export const dbSens = createDb(datasets.sens.database, datasets.sens.schema); function createDb(database, schema) { const dialect = new PostgresDialect({ pool: new pg.Pool({ database: database, host: config.db.host, user: config.db.user, password: config.db.password, port: config.db.port, max: 10, }), cursor: Cursor, }); return new Kysely({ log: ["error"], dialect: dialect, }).withSchema(schema); }