Spaces:
Paused
Paused
Download src/db.js from imkrish/yatra-x-feedback: direct link, hf CLI and curl.
- Browser
- Download file 1.11 kB
-
https://huggingface.co/spaces/imkrish/yatra-x-feedback/resolve/main/src/db.js
- Command line
-
hf download hf://spaces/imkrish/yatra-x-feedback/src/db.js
-
curl -L -o db.js https://huggingface.co/spaces/imkrish/yatra-x-feedback/resolve/main/src/db.js
1.11 kB
| /** | |
| * Database Connection for Feedback Service - PostgreSQL (Supabase) | |
| */ | |
| const { Pool } = require('pg'); | |
| const DATABASE_URL = process.env.DATABASE_URL || process.env.SUPABASE_DB_URL; | |
| let pool = null; | |
| async function connectDB() { | |
| if (pool) return pool; | |
| try { | |
| if (!DATABASE_URL) { | |
| console.error('❌ Feedback Service: DATABASE_URL is not set'); | |
| return null; | |
| } | |
| const useSSL = process.env.PGSSLMODE !== 'disable' && !DATABASE_URL.includes('sslmode=disable'); | |
| pool = new Pool({ | |
| connectionString: DATABASE_URL, | |
| ssl: useSSL ? { | |
| rejectUnauthorized: false | |
| } : false | |
| }); | |
| const client = await pool.connect(); | |
| console.log('✅ Feedback Service: PostgreSQL connected'); | |
| client.release(); | |
| return pool; | |
| } catch (err) { | |
| console.error('❌ Feedback Service: PostgreSQL connection failed', err.message); | |
| pool = null; | |
| return null; | |
| } | |
| } | |
| function getPool() { | |
| return pool; | |
| } | |
| async function closeDB() { | |
| if (pool) { | |
| await pool.end(); | |
| pool = null; | |
| } | |
| } | |
| module.exports = { connectDB, getPool, closeDB }; | |