fix: невалидное имя варианта проекта — предупреждение вместо ошибки

Имя варианта "main" или с недопустимыми символами больше не отклоняет
запрос ошибкой 400 — теперь автоматически конвертируется в валидное
(sanitizeProjectVariantName), а API/UI показывают variant_warning вместо
блокировки создания/переименования варианта.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Mikhail Chusavitin
2026-09-17 11:56:55 +03:00
co-authored by Claude Sonnet 5
parent 006d7e87c5
commit 2f3bdc609a
6 changed files with 140 additions and 80 deletions
+7 -4
View File
@@ -406,10 +406,6 @@ async function createProject() {
alert('Код проекта содержит недопустимые символы.\nРазрешены: буквы, цифры, дефис, точка, подчёркивание.');
return;
}
if (variant && !/^[A-Za-z0-9._-]+$/.test(variant)) {
alert('Имя варианта содержит недопустимые символы.\nРазрешены: буквы, цифры, дефис, точка, подчёркивание.');
return;
}
const resp = await fetch('/api/projects', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
@@ -433,7 +429,11 @@ async function createProject() {
alert('Не удалось создать проект');
return;
}
const created = await resp.json().catch(() => null);
closeCreateProjectModal();
if (created && created.variant_warning) {
alert(created.variant_warning);
}
loadProjects();
}
@@ -511,6 +511,9 @@ async function copyProject(projectUUID, projectName) {
return;
}
const newProject = await createResp.json();
if (newProject.variant_warning) {
alert(newProject.variant_warning);
}
const listResp = await fetch('/api/projects/' + projectUUID + '/configs');
if (!listResp.ok) {