alabuga/backend/app/api/routes/journal.py
danilgryaznev e050bd46ef 1 vers
2025-09-21 19:30:55 +02:00

30 lines
1010 B
Python

"""Чтение журнала событий."""
from __future__ import annotations
from fastapi import APIRouter, Depends
from sqlalchemy.orm import Session
from app.api.deps import get_current_user
from app.db.session import get_db
from app.models.journal import JournalEntry
from app.models.user import User
from app.schemas.journal import JournalEntryRead
router = APIRouter(prefix="/api/journal", tags=["journal"])
@router.get("/", response_model=list[JournalEntryRead], summary="Журнал пользователя")
def list_journal(
*, db: Session = Depends(get_db), current_user: User = Depends(get_current_user)
) -> list[JournalEntryRead]:
"""Возвращаем записи, отсортированные по времени."""
entries = (
db.query(JournalEntry)
.filter(JournalEntry.user_id == current_user.id)
.order_by(JournalEntry.created_at.desc())
.all()
)
return [JournalEntryRead.model_validate(entry) for entry in entries]