37 lines
878 B
Python
37 lines
878 B
Python
from fastapi import FastAPI
|
|
from pymongo import MongoClient
|
|
from fastapi.middleware.cors import CORSMiddleware
|
|
|
|
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=["*"],
|
|
)
|
|
|
|
# MongoDB connection
|
|
client = MongoClient("mongodb://mongodb:27017/")
|
|
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"} |