Loren's picture
Upload 2 files
457a7b3 verified
raw
history blame
1.02 kB
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=["*"],
)
@app.get("/get_tags")
def get_tags():
"""
Retourne la liste de tous les tags
"""
tags = database.fetch_tags()
return {"tags": tags}
@app.get("/get_articles_with_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}