using OF_DL.Models;
using OF_DL.Services;

namespace OF_DL.Helpers;

internal interface IDownloadContext
{
    public IFileNameFormatConfig FileNameFormatConfig { get; }
    public IAPIService ApiService { get; }
    public IDBService DBService { get; }
    public IDownloadService DownloadService { get; }
}

internal class DownloadContext(
    IFileNameFormatConfig fileNameFormatConfig,
    IAPIService apiService,
    IDBService dBService,
    IDownloadService downloadService)
    : IDownloadContext
{
    public IAPIService ApiService { get; } = apiService;
    public IDBService DBService { get; } = dBService;
    public IDownloadService DownloadService { get; } = downloadService;
    public IFileNameFormatConfig FileNameFormatConfig { get; } = fileNameFormatConfig;
}
