routes create

This commit is contained in:
2025-03-12 19:51:51 +01:00
parent 70ca3c8632
commit 1f77ce43db

View File

@ -4,7 +4,7 @@ from sqlalchemy.sql import func
from database import get_db
from models import NewsItem
from pydantic import BaseModel
from datetime import datetime
from datetime import datetime, UTC
import logging
# Configuración del logging
@ -26,6 +26,31 @@ class NewsItemCreate(BaseModel):
fecha: datetime | None = None
link: str
keyword: str | None = None
@router.post("/news/")
def create_news_item(item: NewsItemCreate, db: Session = Depends(get_db)):
# Verificar si el título ya existe
existing_item = db.query(NewsItem).filter(NewsItem.titulo == item.titulo).first()
if existing_item:
logging.info("Título ya en la base de datos")
# Crear nuevo objeto
new_item = NewsItem(
titulo=item.titulo,
contenido=item.contenido,
autor=item.autor,
fuente=item.fuente,
fecha=item.fecha or datetime.now(UTC), # Nueva forma recomendada
link=item.link,
keyword=item.keyword
)
db.add(new_item)
db.commit()
db.refresh(new_item)
return {"message": "Noticia creada con éxito", "id": new_item.id, "titulo": new_item.titulo}
@router.get("/news/count/by-source")
def count_news_by_source(db: Session = Depends(get_db)):