import { Client } from 'pg' import { Environment } from '../types' export function createPostgresClient(env: Environment) { if (env.POSTGRES_HOST && env.POSTGRES_USER && env.POSTGRES_PASSWORD && env.POSTGRES_DB) { var client = new Client({ host: env.POSTGRES_HOST, port: env.POSTGRES_PORT ? parseInt(env.POSTGRES_PORT) : 5432, user: env.POSTGRES_USER, password: env.POSTGRES_PASSWORD, database: env.POSTGRES_DB, }) client.connect() client.query(` CREATE TABLE IF NOT EXISTS snapshots ( id SERIAL PRIMARY KEY, slug VARCHAR(255) UNIQUE NOT NULL, drawing JSONB NOT NULL, created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP ); `) return client } else { console.warn('No Postgres credentials, loading from Postgres disabled') return null } } export function noPostgresSorry() { return new Response(JSON.stringify({ error: true, message: 'Could not create Postgres client' })) }