Files
TP_Docker/TP4/meme-app/backend/app.py
2025-04-09 12:33:59 +02:00

41 lines
1.0 KiB
Python

from fastapi import FastAPI
from pymongo import MongoClient
from fastapi.middleware.cors import CORSMiddleware
import os
app = FastAPI()
# Juste après la déclaration FastAPI()
# Ajouter le middleware CORS
origins = [
"http://localhost",
"http://localhost:80",
"http://frontend",
"http://frontend:80"
]
app.add_middleware(
CORSMiddleware,
allow_origins=origins, # Liste des origines autorisées
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
# Récupération des variables sans valeurs par défaut
mongo_service = os.environ["MONGO_SERVICE_NAME"]
mongo_port = os.environ["MONGO_PORT"]
mongo_uri = f"mongodb://{mongo_service}:{mongo_port}/"
client = MongoClient(mongo_uri)
db = client.memes_db
@app.get("/memes")
def get_memes():
memes = list(db.memes.find({}, {"_id": 0}))
return {"memes": memes}
@app.post("/memes")
def create_meme(title: str, url: str):
meme = {"title": title, "url": url}
db.memes.insert_one(meme)
return {"message": "Meme added successfully"}