* chore: get bookings with kysely * fixup! chore: get bookings with kysely * replace left joins with inner joins * add missing filter and count with kysely * main query done * kysely use connection string * fix attendee emails operator * fix immutability and add attendee email filter * chore: everything working but date filters * limit offset * chore: bump platform libraries * fix bookingseat / attendee user email filter * refactor, clean, and subquery updatedAt/createdAt * fix import kysely types path * fix missing references and payments fields * create kysely module in apiv2 * fix before created at filter * fix types * update yarn.lock * update yarn.lock --------- Co-authored-by: Keith Williams <keithwillcode@gmail.com>
24 lines
689 B
TypeScript
24 lines
689 B
TypeScript
import { Kysely, ParseJSONResultsPlugin, PostgresDialect, DeduplicateJoinsPlugin } from "kysely";
|
|
import { Pool } from "pg";
|
|
|
|
import type { DB, Booking } from "./types";
|
|
|
|
export type { DB, Booking };
|
|
|
|
const connectionString = process.env.DATABASE_URL ?? "postgresql://postgres:@localhost:5450/calendso";
|
|
|
|
const pool = new Pool({ connectionString });
|
|
|
|
// 3. Create the Dialect, passing the configured pool instance
|
|
const dialect = new PostgresDialect({
|
|
pool: pool, // Use the pool instance created above
|
|
});
|
|
|
|
// 4. Create the Kysely instance as before
|
|
const db = new Kysely<DB>({
|
|
dialect,
|
|
plugins: [new ParseJSONResultsPlugin(), new DeduplicateJoinsPlugin()],
|
|
});
|
|
|
|
export default db;
|