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