29 lines
777 B
Python
29 lines
777 B
Python
# Entity: Message
|
|
|
|
```python
|
|
from fastapi import APIRouter, Depends, HTTPException, status
|
|
from sqlalchemy.orm import Session
|
|
from typing import List
|
|
from core.database import get_db
|
|
from models.message import Message
|
|
from schemas.message import MessageSchema, MessageCreate
|
|
|
|
router = APIRouter()
|
|
|
|
@router.get("/messages/{user_id}", response_model=List[MessageSchema])
|
|
async def get_user_messages(
|
|
user_id: int,
|
|
db: Session = Depends(get_db)
|
|
):
|
|
messages = db.query(Message).filter(
|
|
(Message.sender_id == user_id) | (Message.receiver_id == user_id)
|
|
).all()
|
|
|
|
if not messages:
|
|
raise HTTPException(
|
|
status_code=status.HTTP_404_NOT_FOUND,
|
|
detail="No messages found for this user"
|
|
)
|
|
|
|
return messages
|
|
``` |