fix(admin): align UTM notes and block obsolete chb publication
deploy-preland / deploy zoomstage.online (push) Successful in 54s

This commit is contained in:
Panfilov Konstantin committed 2026-10-25 23:16:35 +03:00
1 parent f2097d4800
commit 84f70b1c71
14 files changed
+93 -29

No files matched your search

+6
View File
@@ -56,6 +56,12 @@ try {
// Валидация всей грамматики без последующей сериализации decoded данных.
json_decode($raw,false,512,JSON_THROW_ON_ERROR|JSON_BIGINT_AS_STRING);
$offset=0; $root=utmConfigNode($raw,$offset);
// Проверяем source keys, а не decoded object: escaped/повторные имена
// тоже не должны скрыть chb перед публикацией enum replacement.
foreach($root['properties']??[] as $property){
if($property['key']['value']!=='utm'||($property['value']['type']??null)!=='object')continue;
foreach($property['value']['properties'] as $setting)if($setting['key']['value']==='chb')throw new RuntimeException('Устаревший ключ utm.chb нельзя публиковать. Явно удалите его перед миграцией.');
}
$utm=utmConfigProperty($root,'utm')['value'] ?? null;
if (($root['type'] ?? null)!=='object' || ($utm['type'] ?? null)!=='object') throw new RuntimeException('Отсутствует объект utm');
$replacements=[];