using AsbCloudApp.Data;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Threading;
using AsbCloudApp.Requests;
using AsbCloudApp.Services;
namespace AsbCloudApp.Repositories
{
///
/// репозиторий по работе с faq-вопросами
///
public interface IFaqRepository
{
///
/// Получить список вопросов
///
///
///
///
Task> GetFilteredAsync(FaqRequest request, CancellationToken token);
///
/// Добавить вопрос
///
///
///
///
Task InsertAsync(FaqDto faqDto, CancellationToken token);
///
/// Обновить существующий вопрос
///
///
///
///
Task UpdateAsync(FaqDto dto, CancellationToken token);
///
/// Объединить 2 вопроса в 1
///
/// ключ первого вопроса, подлежащего объединению
/// ключ второго вопроса, подлежащего объединению
/// Флаг, объединять текст вопросов или нет
///
///
Task MergeAsync(int sourceId1, int sourceId2, bool mergeQuestions, CancellationToken token);
///
/// Пометить вопрос по id как удаленный
///
///
///
///
Task MarkAsDeletedAsync(int id, CancellationToken token);
///
/// Удалить вопрос по ключу
///
///
///
///
Task DeleteAsync(int id, CancellationToken token);
}
}