Refactor media storage and management functionalities: enhance IMediaStorage interface with manual inbox handling, update FileSystemMediaStorage to support manual file imports, and improve MediaPathResolver for better path management. Extend MediaEndpoints to include new manual inbox features and update frontend components for improved media management experience.
build / backend (push) Successful in 2m8s
build / frontend (push) Successful in 36s
tests / backend-tests (push) Successful in 1m35s

This commit is contained in:
Leonid Pershin
2026-07-26 15:16:55 +03:00
parent 2445ba56b5
commit b602d099ca
16 changed files with 1750 additions and 1039 deletions
@@ -1,15 +1,21 @@
namespace TeleWave.Domain.Media;
/// <summary>Откуда файл попал в хранилище.</summary>
public enum MediaSource
{
/// <summary>Загружен через админку (chunked/stream upload в uploads/).</summary>
Upload,
/// <summary>Положен вручную в inbox/ и подобран сканером.</summary>
Inbox,
/// <summary>Сгенерирован системой (например, ТВ-заставка «Сейчас/Далее»), а не загружен человеком.
/// Такие ассеты не показываются в списке медиа и создаются сразу готовыми (нарезка своя).</summary>
Generated,
}
namespace TeleWave.Domain.Media;
/// <summary>Откуда файл попал в хранилище.</summary>
public enum MediaSource
{
/// <summary>Загружен через админку (chunked/stream upload в uploads/).</summary>
Upload,
/// <summary>Положен вручную в inbox/ и подобран сканером.</summary>
Inbox,
/// <summary>
/// Положен в manual/ и выбран руками в админке. Тот же inbox по смыслу — файл так же уходит
/// из каталога, — но подхватывается не сканером, а человеком, и сразу привязывается к шоу.
/// </summary>
ManualInbox = 3,
/// <summary>Сгенерирован системой (например, ТВ-заставка «Сейчас/Далее»), а не загружен человеком.
/// Такие ассеты не показываются в списке медиа и создаются сразу готовыми (нарезка своя).</summary>
Generated,
}