- паспорт: сервис объявлен архивом с бессрочным хранением записей и текстов, машинная вычитка расшифровки внутри границ, приложение — основной вход; добавлены две границы: не файловое хранилище общего назначения и не биллинг; - заведены цели upload-reliability, user-settings, usage-stats и тринадцать задач; очередь пересобрана — сперва починки, затем разведки о хранилище, затем доступ и владелец, и только потом экраны; - архитектура: четыре новых открытых вопроса — приём большого файла, учёт расхода, срок хранения, потолок шести часов.
2.7 KiB
2.7 KiB
✨ Принимать до десяти файлов одной загрузкой
- Тип: feature
- Категория: Очередь
- Зачем: Приём берёт один файл в запросе, а с телефона выбирают пачку сразу: десять записей значат десять заходов на экран загрузки.
- Теги: goal:upload-reliability
Двигает пункт 2 «Завершения» цели: пачка файлов уходит одной загрузкой, и отказ одного не отменяет остальные.
Затрагивает
- контракт
POST /api/audio: несколько файлов в одной форме и ответ списком; TranscribeService.createTranscribeJob— заведение нескольких задач одним запросом;- экран загрузки: выбор нескольких файлов и показ их состояний;
- предел числа файлов и предел размера запроса на стороне сервера;
docs/database.md— предел числа файлов числом.
Критерии приёмки
- Десять файлов одной формой заводят десять задач, и ответ отдаёт идентификатор каждой. Оракул — тест приёма: в ответе десять записей, в репозитории десять задач.
- Негодный файл в пачке отклоняется поимённо, а годные соседи заводятся. Оракул — тест на пачке из годного и негодного: одна задача заведена, второй элемент ответа несёт причину отказа.
- Одиннадцатый файл отклоняется до чтения содержимого, с названным пределом. Оракул — тест на пачке из одиннадцати: задач не заведено, в теле ответа предел числом.
- Прежний вызов с одним файлом работает по-старому. Оракул — существующие тесты приёма по HTTP.
Рамки
Публичный контракт POST /api/audio меняется, а это необратимо — форма ответа
согласуется с человеком. Загрузка частями сюда не входит: это
chunked-upload-choice. Приём из Telegram не трогается — бот присылает файлы по
одному.