tasks: целевая картина пересобрана — три цели, тринадцать задач, сдвинутые границы
- паспорт: сервис объявлен архивом с бессрочным хранением записей и текстов, машинная вычитка расшифровки внутри границ, приложение — основной вход; добавлены две границы: не файловое хранилище общего назначения и не биллинг; - заведены цели upload-reliability, user-settings, usage-stats и тринадцать задач; очередь пересобрана — сперва починки, затем разведки о хранилище, затем доступ и владелец, и только потом экраны; - архитектура: четыре новых открытых вопроса — приём большого файла, учёт расхода, срок хранения, потолок шести часов.
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
# ✨ Сделать экран настроек и хранить настройки по пользователю
|
||||
|
||||
- **Тип:** feature
|
||||
- **Категория:** Очередь
|
||||
- **Зачем:** Настроек у пользователя нет вовсе: уровни текста и канал уведомлений задаются общим конфигом сервиса.
|
||||
- **Теги:** goal:user-settings
|
||||
|
||||
Двигает пункты 1, 2 и 3 «Завершения» цели: у каждого пользователя свои
|
||||
переключатели уровней текста и свой канал уведомлений, и они переживают
|
||||
повторный вход.
|
||||
|
||||
Здесь появляется дом настроек — таблица и эндпоинты; применяют их задачи
|
||||
уровней текста и доставки уведомлений.
|
||||
|
||||
## Затрагивает
|
||||
|
||||
- таблица настроек пользователя: переключатели уровней текста, канал и адрес
|
||||
уведомлений, и её миграция;
|
||||
- эндпоинты чтения и записи своих настроек;
|
||||
- новый экран приложения;
|
||||
- значения по умолчанию для пользователя, у которого настроек ещё нет;
|
||||
- `docs/database.md` — представление данных и значения по умолчанию.
|
||||
|
||||
## Критерии приёмки
|
||||
|
||||
- Изменённая настройка видна после повторного входа и не меняется у соседа.
|
||||
Оракул — тест эндпоинта на двух учётных записях: запись первой, чтение обеими.
|
||||
- Пользователь без сохранённых настроек читает значения по умолчанию, а не
|
||||
пустой ответ. Оракул — тест чтения для новой учётной записи.
|
||||
- Чужие настройки не читаются и не пишутся по идентификатору. Оракул — тест
|
||||
запроса к настройкам другого владельца: `404` либо `403`, содержимое не
|
||||
отдаётся.
|
||||
- Экран показывает переключатели уровней и поле канала, а сохранение доходит до
|
||||
эндпоинта. Оракул — тест экрана на подставном API.
|
||||
|
||||
## Рамки
|
||||
|
||||
Применением настроек к конвейеру занимаются `llm-insights-adapter`,
|
||||
`literary-text-level` и `ntfy-delivery` — здесь только дом настроек и экран.
|
||||
Выпуск токенов API живёт на этом же экране, но заводит его `api-tokens`.
|
||||
Берётся после `oidc-login`: до неё настройки не к кому привязать.
|
||||
Reference in New Issue
Block a user