using System.Collections.Generic; using System.IO; using System.Linq; using System.Threading.Tasks; using API.Interfaces.Repositories; using Microsoft.EntityFrameworkCore; namespace API.Data.Repositories { public class FileRepository : IFileRepository { private readonly DataContext _dbContext; public FileRepository(DataContext context) { _dbContext = context; } public async Task> GetFileExtensions() { var fileExtensions = await _dbContext.MangaFile .AsNoTracking() .Select(x => x.FilePath.ToLower()) .Distinct() .ToArrayAsync(); var uniqueFileTypes = fileExtensions .Select(Path.GetExtension) .Where(x => x is not null) .Distinct(); return uniqueFileTypes; } } }