from fastapi import Depends, APIRouter, HTTPException, Depends from sqlalchemy.orm import Session from app.db import models from app.core.security import get_current_user from app.api import schemas # бд def get_db(): db = models.SessionLocal() try: yield db finally: db.close() messagesRouter = APIRouter( prefix="/messages", tags=[], ) @messagesRouter.get("/history/{contact_id}") async def get_chat_history( contact_id: int, current_user: models.User = Depends(get_current_user), db: Session = Depends(get_db), limit: int = 50 ): messages = db.query(models.Message).filter( (models.Message.sender_id == current_user.id) & (models.Message.receiver_id == contact_id) | (models.Message.sender_id == contact_id) & (models.Message.receiver_id == current_user.id) ).order_by(models.Message.timestamp.desc()).limit(limit).all() return messages