using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Datory;
using GxPress.Common.Page;
using GxPress.Request.App.Note;
using GxPress.Request.Web;
using GxPress.Result.App.Note;
using GxPress.Result.Web;
namespace GxPress.Repository.Interface.Note
{
public interface INoteRepository : IRepository
{
///
/// 获取笔记
///
///
///
Task GetAsync(int id);
///
/// 添加笔记
///
///
///
Task InsertAsync(Entity.Note.Note note);
///
/// 修改笔记
///
///
///
Task UpdateAsync(Entity.Note.Note note);
///
/// 获取笔记分页
///
///
///
Task> NotePageListAsync(NoteSearchPageListRequest request);
Task DeleteAsync(SqlKata.Query query);
Task DeleteAsync(int id);
Task UpdateAsync(SqlKata.Query query);
///
///查询个人摘录
///
///
///
Task> GetAllByUserId(NoteUserRequest request);
///
/// web页面查询话题
///
///
///
Task> GetTopicNoteAsync(NoteSearchPageListRequest request);
///
/// 笔记没有文件夹分页
///
///
///
Task> GetNoteNotFolderPageResult(NoteSearchPageListRequest request);
///
/// 设置置顶
///
///
///
Task SetIsTopAsync(int noteId);
///
/// 获取用户最近使用的文件夹
///
///
///
Task> GetLatelyFolderIdAsync(int userId, bool isTopic);
///
/// 获取笔记/话题草稿分页
///
///
///
Task> NoteTopicDraftPageListAsync(NoteSearchPageListRequest request);
///
/// 获取用户是否存在草稿
///
///
///
Task IsExistsDraftAsync(int userId, bool isTopic);
///
/// 获取用户最新的草稿Id
///
///
///
Task GetNoteIdByDraftAsync(int userId, bool isTopic);
///
/// 获取用户最新的草稿Id
///
///
///
Task GetDraftCountAsync(int userId, bool isTopic);
///
/// 清空草稿箱
///
///
///
///
Task ClearDraftAsync(int userId, int typeValue);
Task> GetAllAsync(SqlKata.Query query);
}
}