Имя устройства задаётся только при создании
Имя входит в ключи бэкапов в S3 (backups/<имя>/…), поэтому после создания не меняется (docs/changes/015): - API: PATCH с другим именем → 400 «Имя устройства нельзя изменить», то же имя допустимо; - UI: в окне изменения поле имени только для чтения, форма изменения присланное имя игнорирует; - вёрстка: минимальная ширина таблиц устройств и файлов — в узком окне колонка с именем не схлопывается, включается горизонтальная прокрутка. Тесты: 12 из 12. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
0914209bf8
commit
1e5fb17755
10 files changed
+60
-17
No files matched your search
@@ -0,0 +1,8 @@
|
||||
# План: 015 — имя устройства задаётся только при создании
|
||||
|
||||
Запрос: имя устройства нельзя изменить; оно передаётся только при создании.
|
||||
Причина важна и технически: имя входит в ключи бэкапов в S3 (`backups/<имя>/…`), группа бэкапа определяется по имени — переименование оборвало бы связь с уже загруженными файлами.
|
||||
Решение:
|
||||
- Сервис: `update_device` отклоняет смену имени (`ValueError`, API — HTTP 400); присланное то же имя допустимо.
|
||||
- UI: в окне изменения поле имени только для чтения (нет атрибута `name`, не получает фокус, подсказка «задаётся при создании и не меняется»); маршрут изменения имя не принимает вовсе.
|
||||
- Отдельно исправлено найденное при проверке: в узком окне (~1000 px) колонка с именем схлопывалась — таблицам заданы минимальные ширины (появляется горизонтальная прокрутка).
|
||||
@@ -0,0 +1,7 @@
|
||||
# Итоги: 015 — неизменяемое имя устройства
|
||||
|
||||
- API: `PATCH /api/v1/devices/{id}` с другим `name` → 400 «Имя устройства нельзя изменить»; с тем же именем и другими полями — работает.
|
||||
- UI: в окне изменения имя только для чтения; форма изменения игнорирует любое присланное имя. При создании имя задаётся и проверяется как раньше.
|
||||
- Верстка: у таблиц устройств и файлов минимальная ширина — при узком окне колонка с именем больше не схлопывается.
|
||||
- Проверено: `pytest` 12 из 12 (новый тест: отказ API, то же имя допустимо, форма игнорирует имя); в браузере: поле readonly, ввод не меняет значение, сохранение сохраняет имя, ошибок JS нет.
|
||||
- Существующие устройства не переименовывались; для смены имени нужно удалить устройство и создать заново (бэкапы в бакете останутся под старым именем).
|
||||
Reference in new issue
Block a user