fix skills router
This commit is contained in:
1 parent
4144586b5c
commit
bd97946caa
2 files changed
+13
-10
No files matched your search
+7
-4
@@ -1,11 +1,12 @@
|
||||
# database.py
|
||||
import os
|
||||
import MySQLdb
|
||||
from fastapi import HTTPException
|
||||
from dotenv import load_dotenv
|
||||
|
||||
load_dotenv()
|
||||
|
||||
def get_db_connection():
|
||||
conn = None
|
||||
try:
|
||||
conn = MySQLdb.connect(
|
||||
user=os.getenv("DB_USER"),
|
||||
@@ -15,7 +16,9 @@ def get_db_connection():
|
||||
charset='utf8mb4',
|
||||
cursorclass=MySQLdb.cursors.DictCursor
|
||||
)
|
||||
return conn
|
||||
yield conn
|
||||
except MySQLdb.Error as e:
|
||||
print(f"Erreur de connexion à la base de données : {e}")
|
||||
raise HTTPException(status_code=500, detail="Erreur interne du serveur lors de la connexion à la base de données.")
|
||||
print(f"Erreur de base de données : {e}")
|
||||
finally:
|
||||
if conn:
|
||||
conn.close()
|
||||
+6
-6
@@ -1,12 +1,14 @@
|
||||
from fastapi import APIRouter, HTTPException
|
||||
from fastapi import APIRouter, HTTPException, Depends
|
||||
import MySQLdb
|
||||
from database import get_db_connection
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
@router.get("/")
|
||||
def read_skills():
|
||||
conn = get_db_connection()
|
||||
def read_skills(conn = Depends(get_db_connection)):
|
||||
if not conn:
|
||||
raise HTTPException(status_code=503, detail="Service de base de données indisponible.")
|
||||
|
||||
try:
|
||||
with conn.cursor() as cursor:
|
||||
sql = "SELECT * FROM skills;"
|
||||
@@ -14,6 +16,4 @@ def read_skills():
|
||||
result = cursor.fetchall()
|
||||
return {"data": result}
|
||||
except MySQLdb.Error as e:
|
||||
raise HTTPException(status_code=500, detail=f"Erreur base de données: {e}")
|
||||
finally:
|
||||
conn.close()
|
||||
raise HTTPException(status_code=500, detail=f"Erreur lors de la requête: {e}")
|
||||
Reference in new issue
Block a user