from fastapi import APIRouter, Depends import logging as log from schemas import ( zbxMessageToDashboard, ) from auth import verify_token_zabbix from redis_db import set_value, pop_value from telegram import send_message from telegram import del_message router = APIRouter() @router.post("/send-to-dashboard") async def send_message_to_dashboard( data: zbxMessageToDashboard, token: str = Depends(verify_token_zabbix), ): if data.event_value == 0: msg_id = await pop_value(data.event_id) if msg_id: msg_id = int(msg_id.decode("utf-8")) await del_message( message_id=msg_id, chat_id=data.tg_chat_id, tg_token=data.tg_token, ) return result = await send_message( message=data.message, chat_id=data.tg_chat_id, message_thread_id=data.tg_tread_id, tg_token=data.tg_token, ) if result and result["status"] == 200: await set_value(data.event_id, result["msg_id"])