Merge frontend and prebuild #4

Merged
IgorVolochay merged 35 commits from frontend into prebuild 2026-09-01 11:58:04 +00:00
2 changed files with 18 additions and 8 deletions
Showing only changes of commit df50140fcd - Show all commits
+12 -4
View File
@@ -16,7 +16,7 @@ from datetime import datetime
import aiohttp
from dotenv import load_dotenv
from aiogram import Bot, Dispatcher, F
from aiogram.types import CallbackQuery, InlineKeyboardButton, InlineKeyboardMarkup
from aiogram.types import CallbackQuery, InlineKeyboardButton, InlineKeyboardMarkup, Message
from schemas.base_schemas import Card
from rabbit_worker import RabbitWorker
@@ -27,7 +27,7 @@ load_dotenv()
setup_logging()
# ── Configuration ──────────────────────────────────────────────
BOT_TOKEN = os.getenv("TG_BOT_TOKEN")
BOT_TOKEN = os.getenv("TG_BOT_TOKEN") or ""
ADMIN_CHAT_ID = int(os.getenv("TG_ADMIN_CHAT_ID", "0"))
API_BASE_URL = os.getenv("API_BASE_URL", "http://localhost:5000")
MODERATION_SECRET = os.getenv("MODERATION_SECRET", "change-me-in-production")
@@ -117,6 +117,9 @@ async def call_moderation_api(action: str, card_id: int) -> dict:
# ── Callback button handlers ───────────────────────────────
@dp.callback_query(F.data.startswith("accept:"))
async def on_accept(callback: CallbackQuery) -> None:
if not callback.data or not isinstance(callback.message, Message):
return
card_id = int(callback.data.split(":")[1])
result = await call_moderation_api("accept", card_id)
@@ -124,8 +127,9 @@ async def on_accept(callback: CallbackQuery) -> None:
await callback.answer(f"Ошибка: {result['result']}", show_alert=True)
return
orig_text = callback.message.text or ""
await callback.message.edit_text(
callback.message.text + "\n\n✅ <b>ПРИНЯТА</b>",
orig_text + "\n\n✅ <b>ПРИНЯТА</b>",
parse_mode="HTML",
)
await callback.answer("Карточка принята!")
@@ -134,6 +138,9 @@ async def on_accept(callback: CallbackQuery) -> None:
@dp.callback_query(F.data.startswith("reject:"))
async def on_reject(callback: CallbackQuery) -> None:
if not callback.data or not isinstance(callback.message, Message):
return
card_id = int(callback.data.split(":")[1])
result = await call_moderation_api("reject", card_id)
@@ -141,8 +148,9 @@ async def on_reject(callback: CallbackQuery) -> None:
await callback.answer(f"Ошибка: {result['result']}", show_alert=True)
return
orig_text = callback.message.text or ""
await callback.message.edit_text(
callback.message.text + "\n\n❌ <b>ОТКЛОНЕНА</b>",
orig_text + "\n\n❌ <b>ОТКЛОНЕНА</b>",
parse_mode="HTML",
)
await callback.answer("Карточка отклонена!")
+6 -4
View File
@@ -41,10 +41,12 @@ def write_json(cards_list, json_file):
except Exception as e:
print(f"Error writing to JSON file: {e}")
def add_cards_to_mongodb(cards_list):
import asyncio
async def add_cards_to_mongodb(cards_list):
mongo = MongoWorker()
for card in cards_list:
mongo.add_card_by_base_model(card)
await mongo.add_card_by_base_model(card)
print(f"Successfully added {len(cards_list)} cards to MongoDB")
@@ -60,13 +62,13 @@ if __name__ == "__main__":
if args.action == 0:
cards = create_cards(args.num, args.user)
add_cards_to_mongodb(cards)
asyncio.run(add_cards_to_mongodb(cards))
elif args.action == 1:
cards = create_cards(args.num, args.user)
write_json(cards, args.file)
elif args.action == 2:
cards = read_json(args.file)
if cards:
add_cards_to_mongodb(cards)
asyncio.run(add_cards_to_mongodb(cards))
else:
print("No valid cards found in JSON file.")