72b6879f4b
- Refactored max_bot from nested packages to flat module structure - Q2: Extended BotUser model (patronymic, email, org, address, vcf_raw, contact_hash, phone_verified, email_verified, last_interaction, total_conversations, total_tickets) - Q2: VCF parser (FN, N, TEL, EMAIL, ORG, ADR), upsert on re-contact, NLP history context (_get_user_history_context -> YandexGPT) - Q1: Broadcast preview modal with 10s confirmation timer - Q3: CSS var(--white)->var(--bg-card), var(--text)->var(--text-primary) - Q4: bot_settings showNotification(), editable max_bot_id - Q5: Webhook secret passthrough via X-Max-Bot-Api-Secret - Masking sensitive keys, dialog_cleared handler, migrate via _add_column_if_not_exists() - Rate limit (asyncio.sleep 0.5 per 10), dead code removed, conv.intent context in contact.py - Portal pages: bot_consent, bot_kb (edit), bot_settings, bot_test, bot_tickets, portal_settings - Tests: 21/21 passing, added test_yandex_gpt.py, test_email_sender.py - Deploy: deploy_full.sh, schema.sql, seed_knowledge_base.sql
43 lines
1.8 KiB
Bash
43 lines
1.8 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
echo "=========================================="
|
|
echo " AegisOne Documents Module Deploy"
|
|
echo "=========================================="
|
|
|
|
REMOTE="root@81.177.141.34"
|
|
REMOTE_DIR="/opt/projects/aegisone-py/app"
|
|
|
|
echo "[1/4] Копирование documents_router.py..."
|
|
scp app/documents_router.py $REMOTE:$REMOTE_DIR/
|
|
echo " ✅ documents_router.py скопирован"
|
|
|
|
echo "[2/4] Копирование шаблонов документов..."
|
|
ssh $REMOTE "mkdir -p $REMOTE_DIR/templates/documents"
|
|
scp app/templates/documents/list.html $REMOTE:$REMOTE_DIR/templates/documents/
|
|
scp app/templates/documents/view.html $REMOTE:$REMOTE_DIR/templates/documents/
|
|
scp app/templates/documents/edit.html $REMOTE:$REMOTE_DIR/templates/documents/
|
|
scp app/templates/documents/permissions.html $REMOTE:$REMOTE_DIR/templates/documents/
|
|
echo " ✅ Шаблоны скопированы"
|
|
|
|
echo "[3/4] Копирование docs и permissions..."
|
|
ssh $REMOTE "mkdir -p /opt/projects/aegisone-py/docs /opt/projects/aegisone-py/permissions"
|
|
scp -r docs/* $REMOTE:/opt/projects/aegisone-py/docs/
|
|
echo " ✅ Документы скопированы"
|
|
|
|
echo "[4/4] Обновление main.py и перезапуск..."
|
|
scp app/main.py $REMOTE:$REMOTE_DIR/
|
|
scp app/services/docs_permissions.py $REMOTE:$REMOTE_DIR/services/
|
|
|
|
ssh $REMOTE "cd /opt/projects/aegisone-py && docker compose build --no-cache app && docker compose up -d app"
|
|
echo " ✅ Приложение пересобрано и запущено"
|
|
|
|
echo ""
|
|
echo "=========================================="
|
|
echo " Готово! Проверка..."
|
|
echo "=========================================="
|
|
sleep 5
|
|
ssh $REMOTE "curl -s -o /dev/null -w 'HTTP %{http_code}' http://localhost:8000/service/documents/"
|
|
echo ""
|
|
echo "URL: https://service.aegisone.ru/service/documents/"
|