using System.Collections.Generic;
using System.Threading.Tasks;
using GxPress.Common.Page;
using GxPress.Request.App.Topic;
using GxPress.Result.App.Topic;
using Datory;
using GxPress.Result.Job;
namespace GxPress.Repository.Interface
{
public interface ITopicRepository : IRepository
{
///
/// 通知查询
///
///
///
Task> GetTopicByUserIdAsync(TopicPageSearchRequest request);
///
/// 根据GroupId获取通知
///
///
///
Task> FindTopicByGroupIdAsync(TopicDetailListRequest request);
Task GetGroupTopicCountAsync(int groupId);
///
/// 根据ID获取话题
///
///
///
Task GetAsync(int id);
Task CountAsync(SqlKata.Query query);
Task> GetAllAsync(SqlKata.Query query);
Task InsertAsync(Entity.Topic.Topic topic);
Task DeleteAsync(int id);
Task UpdateAsync(Entity.Topic.Topic topic);
///
/// 执行话题
///
///
Task> ExecuteTopic();
Task> GetTopicPage(TopicPageSearchRequest request, string sql, string countSql);
Task> GetTopicByGroupAsync(TopicPageSearchRequest request);
///
///最新 小组话题分页列表
///
///
///
Task> GetGroupTopicPageAsync(SqlKata.Query query, SqlKata.Query countQuery,TopicDetailListRequest request);
///
/// 删除草稿箱
///
///
///
///
Task ClearDraftAsync(int userId, int groupId);
Task UpdateTopicTextContentAsync();
Task> GetPublicGroupAsync(int userId);
///
/// 我加入的小组
///
///
///
Task> GetIntoGroupAsync(int userId);
}
}