v1.6.0: max_bot fixes — feature keys, flush→commit, test-run, categories, broadcast page, proxy error handling, deploy scripts

This commit is contained in:
2026-05-24 07:50:38 +03:00
parent bd048ea23d
commit 493e0b37a1
127 changed files with 6082 additions and 65 deletions
+38
View File
@@ -0,0 +1,38 @@
-- Migration v1.6.0: Fixes for broadcast recipient_ids + feature keys + categories + engineer permissions
-- 1. Add recipient_ids column to bot_broadcasts if missing
ALTER TABLE bot_broadcasts ADD COLUMN IF NOT EXISTS recipient_ids JSONB DEFAULT '[]'::jsonb;
-- 2. Fix feature_key auto_notifications → notifications
UPDATE bot_features SET feature_key = 'notifications' WHERE feature_key = 'auto_notifications';
-- 3. Fix feature_key commercial_offer → commercial (match code)
UPDATE bot_features SET feature_key = 'commercial' WHERE feature_key = 'commercial_offer';
-- 4. Replace categories with new set
DELETE FROM bot_categories;
INSERT INTO bot_categories (name, description, icon_emoji, keywords, sort_order) VALUES
('Аудит безопасности', 'Независимая оценка систем видеонаблюдения, СКУД, ОПС', '🔍', '["аудит","безопасность","оценка","видеонаблюдение","скуд","опс"]', 1),
('Сервисное обслуживание / SLA', 'Абонентское обслуживание по SLA-контракту', '🛡️', '["сервис","sla","абонентский","обслуживание","контракт"]', 2),
('Реагирование на инциденты', 'Срочное реагирование при нештатных ситуациях', '🚨', '["инцидент","реагирование","срочный","нештатный","авария"]', 3),
('Технический надзор', 'Контроль качества при монтаже и пусконаладке', '📐', '["надзор","технический","контроль","качество","монтаж","пусконаладка"]', 4),
('Проектная документация', 'Разработка и согласование проектной документации', '📄', '["проект","документация","разработка","согласование"]', 5),
('Риск-инжиниринг', 'Оценка рисков, BCP, DRP, стратегия безопасности', '', '["риск","инжиниринг","bcp","drp","стратегия","безопасность"]', 6),
('Общий вопрос', 'Консультация или вопрос вне указанных категорий', '💬', '["консультация","вопрос","общий","другое"]', 7)
ON CONFLICT DO NOTHING;
-- 5. Add bot_* menu permissions for engineer role
INSERT INTO role_menu_permissions (role, menu_key, visible) VALUES
('engineer', 'bot_analytics', true),
('engineer', 'bot_users', true),
('engineer', 'bot_conversations', true),
('engineer', 'bot_tickets', true),
('engineer', 'bot_handoffs', true),
('engineer', 'bot_notifications', true),
('engineer', 'bot_risk_questions', true),
('engineer', 'bot_broadcasts', true),
('engineer', 'bot_storage', true)
ON CONFLICT (role, menu_key) DO NOTHING;
-- 6. Drop stale view if exists
DROP VIEW IF EXISTS bot_dashboard;