namespace TeleWave.Application.Common.Interfaces;

/// <summary>
/// Куда ложится копия отладочного дампа на сервере. Сам архив всегда уезжает в браузер — это порт
/// для второй копии, которая остаётся рядом с репозиторием: разбирать «почему сетка построилась
/// вот так» приходится вместе с кодом, и перекладывать архивы руками из загрузок каждый раз —
/// лишний шаг.
///
/// Каталог задаётся настройкой и по умолчанию пуст: на сервере писать дампы на диск незачем,
/// это инструмент разработки.
/// </summary>
public interface IDebugExportStore
{
    /// <summary>
    /// Сохраняет архив. Возвращает путь, куда он лёг, либо null — сохранение выключено настройкой.
    /// Ошибка записи наружу не идёт: дамп уже собран, и терять его из-за недоступной папки нельзя.
    /// </summary>
    Task<string?> SaveAsync(string fileName, byte[] content, CancellationToken cancellationToken);
}
