using AsbCloudApp.Requests;
using AsbCloudApp.Data;
using AsbCloudApp.Services;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace AsbCloudApp.Repositories;
///
/// Сервис доступа к файлам
///
public interface IFileRepository : ICrudRepository
{
///
/// Получение файлов по скважине
///
///
///
///
Task> GetInfosAsync(FileRequest request, CancellationToken token);
///
/// Получить список файлов в контейнере
///
///
///
///
Task> GetInfosPaginatedAsync(FileRequest request, CancellationToken token = default);
///
/// Пометить файл как удаленный
///
///
///
///
Task MarkAsDeletedAsync(int idFile, CancellationToken token = default);
///
/// удалить файлы
///
///
///
///
Task> DeleteAsync(IEnumerable ids, CancellationToken token);
///
/// получить инфо о файле по метке
///
///
///
///
Task GetByMarkId(int idMark, CancellationToken token);
///
/// добавить метку на файл
///
///
///
///
///
Task CreateFileMarkAsync(FileMarkDto fileMarkDto, int idUser, CancellationToken token);
///
/// Инфо о файлах
///
///
///
///
Task> GetInfoByIdsAsync(IEnumerable idsFile, CancellationToken token);
///
/// пометить метки файлов как удаленные
///
///
///
///
Task MarkFileMarkAsDeletedAsync(IEnumerable idsMarks, CancellationToken token);
}