from aiohttp import web from aiohttp_apispec import docs, headers_schema, querystring_schema from apollo_utils.service.clients.aiohttp.utils.response import dump_response_schema from apollo_utils.service.schemas.headers import AppHeader from server.scenarios.private.messages import delete_messages from server.schemas.private.messages import Messages router = web.RouteTableDef() @router.delete("/private/messages/") @docs(tags=["private", "messages"], summary="Delete messages.") @headers_schema(AppHeader) @querystring_schema(Messages.Delete.Request) @dump_response_schema(Messages.Delete.Response) async def delete_private_messages(request: web.Request) -> web.Response: app_slug, params = request["headers"]["app"], request["querystring"] result = await delete_messages(app_slug=app_slug, **params) return {"items": result}