import asyncio from cbh.api.chat.model import ChatModel from cbh.core.config import settings async def create_chat_obj() -> ChatModel: chat = ChatModel() await settings.DB_CLIENT.chats.insert_one(chat.to_mongo()) return chat async def get_all_chats_obj(page_size: int, page_index: int) -> tuple[list[dict], int]: skip = page_size * page_index objects, total_count = await asyncio.gather( settings.DB_CLIENT.chats .find({}) .sort("_id", -1) .skip(skip) .limit(page_size) .to_list(length=page_size), settings.DB_CLIENT.chats.count_documents({}), ) return objects, total_count