import os import json import logging import asyncio import traceback from aiohttp import web from pyrogram import raw from aiohttp.http_exceptions import BadStatusLine from FileStream.utils.FileProcessors.human_readable import humanbytes from FileStream.Database import Database from FileStream.config import Telegram, Server db = Database(Telegram.DATABASE_URL, Telegram.SESSION_NAME) async def searchAll(request: web.Request): data = await request.get() query = data.get('query') offset = data.get('offset') results = [] offset = int(offset or 0) files, next_offset = await db.get_search_results(query,file_type=None,max_results=10,offset=offset) for file in files: results.append( { "title": file['file']['file_name'], "document_file_id" :file['file']['file_id'], "caption" : file['file']['file_name'] or "", "description": f"Size: {humanbytes(file['file']['file_size'])}\nType:{file['file']['mime_type']} ", } ) return {results,next_offset}