Files
LucasJensen/server/utils/db.py
Lucas Jensen a8b6807b79 reorganized
2024-07-06 10:36:37 -07:00

35 lines
960 B
Python

import os
import mysql.connector
from dotenv import load_dotenv
from fastapi import HTTPException, status
def connect_db() -> mysql.connector.MySQLConnection:
load_dotenv()
host = os.getenv("DB_HOST")
user = os.getenv("DB_USER")
password = os.getenv("DB_PASS")
database = os.getenv("DB_NAME")
if None in (host, user, password, database):
raise HTTPException(
status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
detail="err reading env vars",
)
try:
return mysql.connector.connect(
host=host,
user=user,
password=password,
database=database,
auth_plugin="mysql_native_password",
) # type: ignore
except Exception as e:
print(f"err connecting to db: {e}")
raise HTTPException(
status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
detail="err connecting to db",
)