cbh-test / cbh /api /chat /views.py
brestok's picture
init
4cd2145
from typing import Optional
from fastapi import Query
from cbh.api.chat import chat_router
from cbh.api.chat.db_requests import get_all_chats_obj, create_chat_obj
from cbh.api.chat.dto import Paging
from cbh.api.chat.model import ChatModel
from cbh.api.chat.schemas import AllChatWrapper, AllChatResponse
from cbh.core.wrappers import CbhResponseWrapper
@chat_router.get('/all', response_model_by_alias=False, response_model=AllChatWrapper)
async def get_all_chats(
pageSize: Optional[int] = Query(10, description="Number of objects to return per page"),
pageIndex: Optional[int] = Query(0, description="Page index to retrieve"),
):
chats, total_count = await get_all_chats_obj(pageSize, pageIndex)
response = AllChatResponse(
paging=Paging(pageSize=pageSize, pageIndex=pageIndex, totalCount=total_count),
data=chats
)
return AllChatWrapper(data=response)
@chat_router.post('', response_model_by_alias=False, response_model=CbhResponseWrapper[ChatModel])
async def create_chat():
chat = await create_chat_obj()
return CbhResponseWrapper(data=chat)