Commit Graph
14 Commits
Author SHA1 Message Date
av 8af8ec2e54 у записи появился владелец: чужую больше не отдают
- колонка `owner` связью с `users` в обеих коллекциях новым шагом схемы
  `202608140001`; чтение задачи сужено владельцем, и чужая, ничья и
  несуществующая дают один ответ; правило просмотра файлов сужено им же
- приём по HTTP берёт владельца из сессии, а предъявителя без учётной записи
  пользователя отвергает до чтения тела: позже пришлось бы убирать уложенный
  файл, а уборки файлов сервис не умеет. Выборка воркера владельцем не сужается
- удаление учётной записи с записями отвергается стражем, и вешает его сама
  сборка хранилища: сборка, забывшая его позвать, теряла защиту молча
2026-08-14 12:18:11 +03:00
av 1d243ad2f6 Время читается единой точкой, а конец потока узнаётся не по тексту
- заведён internal/clock: Now даёт метку в UTC, Start — начало измерения
  длительности с монотонными часами; девять мест рабочего кода и запрос захвата
  переведены на него, долг «время time.Now() по месту» закрыт
- клиент SpeechKit узнавал конец потока сравнением err.Error() == "EOF": отказ
  с тем же текстом вернул бы усечённую расшифровку как готовую, теперь
  errors.Is(err, io.EOF)
- починены находки новых линтеров: две опечатки, два slog.DiscardHandler,
  четыре неэкранированные подстановки в docker/entrypoint.sh
2026-08-13 09:01:36 +03:00
av 01cc31d45f хранилище, файлы записей и очередь переведены на встроенную PocketBase
- записи, метаданные и файлы съехались под один каталог данных; появилась
  панель владельца, а gin, goqu, goose и требование CGO ушли
- захват задачи стал одним запросом с RETURNING; заведены число попыток,
  состояние dead и нарастающая пауза вместо признака is_error
- имя файла в хранилище задаёт сервис и в журнал не идёт: вместе с
  идентификатором записи оно собирало бы ссылку на скачивание
2026-08-12 08:31:59 +03:00
av 12b16b3749 More granular error handling
+ task queue refactoring
2025-08-17 15:26:59 +03:00
av f6b5e835a4 Replace all infra services with interfaces 2025-08-13 09:20:45 +03:00
av 394970e400 Add job helpers 2025-08-12 11:09:51 +03:00
av 2c9a5f4bfb Extract logic into transcribe service 2025-08-12 10:59:51 +03:00
av f625e21418 Fix operation check 2025-08-11 17:30:23 +03:00
av bb93f99911 Fix job fields naiming 2025-08-11 15:42:57 +03:00
av 672d8573fc Add initial audio recognition requests 2025-08-11 15:26:55 +03:00
av c1da998c02 Upload files into yandex object storage (s3) 2025-08-11 11:31:08 +03:00
av c0d55c2088 Add ffmpeg converter to ogg format 2025-08-11 10:11:13 +03:00
av d353f206fc Add conversion job logic 2025-08-09 17:38:28 +03:00
av 8e133630d4 Refactoring: clean architecture project structure 2025-08-09 15:18:42 +03:00