mp_message/core/api/chat/handlers.py

24 lines
857 B
Python

from fastapi import APIRouter, Depends, Response, Path
from core.helpers.auth.helpers import get_current_user
from core.models.message.db import MPProfile
from core.services import chat_service
from core.models.message.requests import CreateChatRequest
router = APIRouter(prefix='/chat', tags=['chat'])
@router.post("")
async def create_chat(response: Response, chat: CreateChatRequest, user: MPProfile = Depends(get_current_user)):
response.status_code = 201
return await chat_service.create_chat(chat.name, user.id)
@router.get("/{chat_id}")
async def chat_info(chat_id: int = Path(alias='chat_id'), user: MPProfile = Depends(get_current_user)):
return await chat_service.get_chat(chat_id, user.id)
@router.get("")
async def available_chats(user: MPProfile = Depends(get_current_user)):
return await chat_service.get_chats(user.id)