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"}