Some checks failed
Deploy Development / deploy (push) Successful in 41s
Test Suite / compose-smoke (push) Failing after 3s
Test Suite / pytest-backend (push) Has been skipped
Test Suite / lint-backend (push) Successful in 1s
Test Suite / build-frontend (push) Successful in 1m7s
Test Suite / k6 /api/health Baseline (push) Has been skipped
Test Suite / playwright-smoke (push) Has been skipped
Co-authored-by: Cursor <cursoragent@cursor.com>
39 lines
869 B
Python
39 lines
869 B
Python
"""PostgreSQL connection helpers."""
|
|
|
|
import os
|
|
|
|
import psycopg2
|
|
from psycopg2.extensions import connection
|
|
|
|
|
|
def db_params() -> dict[str, str]:
|
|
return {
|
|
"host": os.getenv("DB_HOST", "localhost"),
|
|
"port": os.getenv("DB_PORT", "5432"),
|
|
"dbname": os.getenv("DB_NAME", "kairo_dev"),
|
|
"user": os.getenv("DB_USER", "kairo_dev"),
|
|
"password": os.getenv("DB_PASSWORD", "dev_password"),
|
|
}
|
|
|
|
|
|
def get_connection() -> connection:
|
|
p = db_params()
|
|
return psycopg2.connect(
|
|
host=p["host"],
|
|
port=p["port"],
|
|
database=p["dbname"],
|
|
user=p["user"],
|
|
password=p["password"],
|
|
)
|
|
|
|
|
|
def check_db() -> bool:
|
|
conn = get_connection()
|
|
try:
|
|
with conn.cursor() as cur:
|
|
cur.execute("SELECT 1")
|
|
cur.fetchone()
|
|
return True
|
|
finally:
|
|
conn.close()
|