tasks: спроектирован контракт приложения и переставлена голова очереди
- json-api-for-spa: адреса приложения уехали в своё пространство /app/, приём стал POST /app/audiorecords, опрос /api/status/:id убран, заведены список, карточка, текст, /app/me и /app/config; имя файла отправителя легло своей колонкой рядом с заголовком - три действия над записью — правка заголовка, возврат в работу и журнал событий — собраны задачей audiorecord-actions - голова очереди: контракт, каркас, экран загрузки, список, действия - в прежних задачах поправлены адреса, рубежи конвейера и остатки Telegram
This commit is contained in:
@@ -8,30 +8,33 @@
|
||||
|
||||
## Затрагивает
|
||||
|
||||
- контракт `POST /api/audio`: несколько файлов в одной форме и ответ списком;
|
||||
- `TranscribeService.createTranscribeJob` — заведение нескольких задач одним
|
||||
- контракт `POST /app/audiorecords`: несколько файлов в одной форме и ответ
|
||||
списком;
|
||||
- `TranscribeService.createRecord` — заведение нескольких записей одним
|
||||
запросом;
|
||||
- экран загрузки: выбор нескольких файлов и показ их состояний;
|
||||
- экран загрузки: выбор нескольких файлов и показ их рубежей;
|
||||
- предел числа файлов и предел размера запроса на стороне сервера;
|
||||
- `GET /app/config` — предел числа файлов, чтобы экран знал его до отправки;
|
||||
- `docs/database.md` — предел числа файлов числом.
|
||||
|
||||
## Критерии приёмки
|
||||
|
||||
- Десять файлов одной формой заводят десять задач, и ответ отдаёт
|
||||
идентификатор каждой. Оракул — тест приёма: в ответе десять записей, в
|
||||
репозитории десять задач.
|
||||
- Десять файлов одной формой заводят десять записей, и ответ отдаёт
|
||||
идентификатор каждой. Оракул — тест приёма: в ответе десять элементов, в
|
||||
репозитории десять записей.
|
||||
- Негодный файл в пачке отклоняется поимённо, а годные соседи заводятся. Оракул
|
||||
— тест на пачке из годного и негодного: одна задача заведена, второй элемент
|
||||
— тест на пачке из годного и негодного: одна запись заведена, второй элемент
|
||||
ответа несёт причину отказа.
|
||||
- Одиннадцатый файл отклоняется до чтения содержимого, с названным пределом.
|
||||
Оракул — тест на пачке из одиннадцати: задач не заведено, в теле ответа
|
||||
Оракул — тест на пачке из одиннадцати: записей не заведено, в теле ответа
|
||||
предел числом.
|
||||
- Прежний вызов с одним файлом работает по-старому. Оракул — существующие тесты
|
||||
приёма по HTTP.
|
||||
|
||||
## Рамки
|
||||
|
||||
Публичный контракт `POST /api/audio` меняется, а это необратимо — форма ответа
|
||||
согласуется с человеком. Загрузка частями сюда не входит: это
|
||||
`chunked-upload-choice`. Приём из Telegram не трогается — бот присылает файлы по
|
||||
одному.
|
||||
Публичный контракт `POST /app/audiorecords` меняется, а это необратимо. Форма
|
||||
ответа при этом заново не согласуется: она сведена списком с местом под признак
|
||||
повтора задачей `json-api-for-spa` — решением владельца от 2026-08-12 — как раз
|
||||
для того, чтобы эта задача её не переписывала. Меняется число файлов в запросе,
|
||||
не форма ответа. Загрузка частями сюда не входит: это `chunked-upload-choice`.
|
||||
|
||||
Reference in New Issue
Block a user