SPB Git forge

spb/toveli

Public
14commits 1branches 0releases
1.1 MBsize
maindefault branch
2 h agolast push
TypeScript 50.6% JavaScript 46.1% SQL 2.1% Shell 0.6% CSS 0.5%
864 B · 17 lines typescript
Raw Blame History
1import { drizzle } from "drizzle-orm/postgres-js";2import postgres from "postgres";3import * as schema from "./schema";45// Compte applicatif à privilèges minimaux (toveli_app), connexion locale uniquement (DATABASE_URL jamais exposée au client).6declare global { var __toveliSql: ReturnType<typeof postgres> | undefined; }7function sqlClient() {8  const url = process.env.DATABASE_URL;9  if (!url) throw new Error("DATABASE_URL manquante");10  if (!globalThis.__toveliSql) globalThis.__toveliSql = postgres(url, { max: Number(process.env.PG_POOL_MAX ?? 8), idle_timeout: 30, connect_timeout: 10, prepare: true });11  return globalThis.__toveliSql;12}13export function pgAvailable(): boolean { return !!process.env.DATABASE_URL; }14export function db() { return drizzle(sqlClient(), { schema }); }15export function rawSql() { return sqlClient(); }16export { schema };17