Spaces:
Sleeping
Sleeping
| from fastapi import FastAPI, Query | |
| from typing import List | |
| from app import database | |
| from fastapi.middleware.cors import CORSMiddleware | |
| app = FastAPI( | |
| title="Articles API", | |
| description="API pour récupérer articles et tags depuis SQLite", | |
| version="1.0" | |
| ) | |
| # CORS pour permettre l'accès depuis le navigateur | |
| app.add_middleware( | |
| CORSMiddleware, | |
| allow_origins=["*"], # autorise toutes les origines | |
| allow_credentials=True, | |
| allow_methods=["*"], | |
| allow_headers=["*"], | |
| ) | |
| def get_tags(): | |
| """ | |
| Retourne la liste de tous les tags | |
| """ | |
| tags = database.fetch_tags() | |
| return {"tags": tags} | |
| def get_articles_with_tags( | |
| tags: List[str] = Query(..., description="Liste des tags à filtrer") | |
| ): | |
| """ | |
| Retourne les articles correspondant aux tags donnés | |
| """ | |
| articles = database.fetch_articles_by_tags(tags) | |
| return {"tags": tags, | |
| "articles": articles} | |