«Правила» пішли з бічної панелі у вкладку поруч з «Алертами»: тригери переїхали в шаблони, а окремий пункт меню й далі пропонував заводити правила там, звідки їх прибрали. Кнопки перестали бути виділюваним текстом — у них типово user-select: auto, і в підпис можна було поставити блимаючий курсор. Бічна панель згортається у значки, стан у localStorage. Дорогою закрито дірку: вбудований шаблон нікого не сповіщав. Тригери стають правилами лише при збереженні шаблону, а вбудований нікому не належить і не зберігається — хост із icmp-basic збирав пінг і мовчав про недоступність. Плюс індекс правил з 0024 не враховував тенанта, через що другий кабінет із тим самим вбудованим шаблоном отримав би помилку унікальності. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
17 lines
1.2 KiB
SQL
17 lines
1.2 KiB
SQL
-- =====================================================================
|
||
-- NetPulse :: 0025_template_rules_per_tenant.sql
|
||
-- Правило з тригера шаблону унікальне В МЕЖАХ ТЕНАНТА, а не глобально.
|
||
--
|
||
-- 0024 зробив індекс за парою (template_id, template_trigger_key). Для
|
||
-- власних шаблонів цього досить: шаблон належить одному тенанту. Для
|
||
-- вбудованих — ні: вони спільні для всіх, і другий тенант, який
|
||
-- призначив «icmp-basic» своєму хосту, отримав би помилку унікальності
|
||
-- замість правила. Виглядало б це як «алерти не працюють у нових
|
||
-- кабінетах» — тобто найдорожча з можливих форм цієї помилки.
|
||
-- =====================================================================
|
||
|
||
DROP INDEX IF EXISTS alr.alr_rules_from_template_uniq;
|
||
|
||
CREATE UNIQUE INDEX alr_rules_from_template_uniq
|
||
ON alr.rules (tenant_id, template_id, template_trigger_key)
|
||
WHERE template_id IS NOT NULL;
|