arxplorer / src /router /message.py
Subhadeep Mandal
Fresh deploy
54eb2ce
Raw
History Blame Contribute Delete
1.46 kB
from fastapi import APIRouter, Depends
from typing import List
from ..controller import message as message_controller
from ..schema.message import MessageUpdate, MessageResponse
from ..lib.auth import get_current_user
router = APIRouter()
@router.get("/session/{session_id}", response_model=list[MessageResponse])
async def get_messages_by_session_endpoint(
session_id: int, user_id: int = Depends(get_current_user)
):
"""Retrieve all messages for a specific session."""
return await message_controller.get_messages_by_session(session_id, user_id)
@router.get("/{message_id}", response_model=MessageResponse)
async def get_message_endpoint(
message_id: int, user_id: int = Depends(get_current_user)
):
"""Retrieve a specific message by ID."""
return await message_controller.get_message(message_id, user_id)
@router.put("/{message_id}", response_model=MessageResponse)
async def update_message_endpoint(
message_id: int, payload: MessageUpdate, user_id: int = Depends(get_current_user)
):
"""Update a message's content or feedback fields."""
return await message_controller.update_message(message_id, user_id, payload)
@router.delete("/{message_id}", status_code=204)
async def delete_message_endpoint(
message_id: int, user_id: int = Depends(get_current_user)
):
"""Delete a message by ID."""
await message_controller.delete_message(message_id, user_id)