update requierements.txt, add of db connection function and root
This commit is contained in:
1 parent
7a89aee31f
commit
8304940daf
4 files changed
+44
-18
No files matched your search
@@ -0,0 +1,4 @@
|
|||||||
|
DB_USER="portfolio_user"
|
||||||
|
DB_PASS="USER@gio53"
|
||||||
|
DB_HOST="localhost"
|
||||||
|
DB_NAME="portfolio"
|
||||||
@@ -1,21 +1,42 @@
|
|||||||
from fastapi import FastAPI
|
import os
|
||||||
import mariadb
|
from fastapi import FastAPI, HTTPException
|
||||||
|
from fastapi.middleware.cors import CORSMiddleware
|
||||||
|
import MySQLdb
|
||||||
|
from dotenv import load_dotenv
|
||||||
|
|
||||||
|
load_dotenv()
|
||||||
|
|
||||||
app = FastAPI()
|
app = FastAPI()
|
||||||
|
|
||||||
@app.get("/api/portfolio")
|
origins = [
|
||||||
def read_portfolio():
|
"http://localhost",
|
||||||
|
"http://localhost:5173",
|
||||||
|
]
|
||||||
|
app.add_middleware(
|
||||||
|
CORSMiddleware,
|
||||||
|
allow_origins=origins,
|
||||||
|
allow_credentials=True,
|
||||||
|
allow_methods=["*"],
|
||||||
|
allow_headers=["*"],
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def get_db_connection():
|
||||||
try:
|
try:
|
||||||
conn = mariadb.connect(
|
conn = MySQLdb.connect(
|
||||||
user="root",
|
user=os.getenv("DB_USER"),
|
||||||
password="motdepasse",
|
passwd=os.getenv("DB_PASS"),
|
||||||
host="localhost",
|
host=os.getenv("DB_HOST"),
|
||||||
port=3306,
|
db=os.getenv("DB_NAME"),
|
||||||
database="portfolio"
|
charset='utf8mb4',
|
||||||
|
cursorclass=MySQLdb.cursors.DictCursor
|
||||||
)
|
)
|
||||||
cursor = conn.cursor()
|
return conn
|
||||||
cursor.execute("SELECT * FROM portfolio;")
|
except MySQLdb.Error as e:
|
||||||
result = cursor.fetchall()
|
print(f"Erreur de connexion à la base de données : {e}")
|
||||||
conn.close()
|
raise HTTPException(status_code=500, detail="Erreur interne du serveur lors de la connexion à la base de données.")
|
||||||
return {"data": result}
|
|
||||||
except mariadb.Error as e:
|
|
||||||
return {"error": str(e)}
|
@app.get("/")
|
||||||
|
def read_root():
|
||||||
|
return {"status": "API Portfolio fonctionnelle"}
|
||||||
+2
-1
@@ -1,3 +1,4 @@
|
|||||||
fastapi
|
fastapi
|
||||||
uvicorn
|
uvicorn
|
||||||
mariadb
|
mysqlclient
|
||||||
|
python-dotenv
|
||||||
Reference in new issue
Block a user