namespace Dpz.Core.Service.RepositoryService;
/// <summary>
/// 时间轴
/// </summary>
public interface ITimelineService
{
/// <summary>
/// 获取时间轴
/// </summary>
/// <param name="account"></param>
/// <returns></returns>
[CacheModule(Expiration = ExpirationTime.Week)]
Task<List<VmTimeline>> GetTimelinesAsync(string account);
/// <summary>
/// 保存时间轴
/// </summary>
/// <param name="viewModel"></param>
/// <returns></returns>
[CacheModule(Clear = true)]
Task SaveAsync(VmTimeline viewModel);
/// <summary>
/// 删除时间轴
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[CacheModule(Clear = true)]
Task DeleteAsync(params string[] id);
/// <summary>
/// 获取时间轴分页信息
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="content"></param>
/// <param name="account"></param>
/// <returns></returns>
[CacheModule(Expiration = ExpirationTime.Week)]
Task<IPagedList<VmTimeline>> GetPageAsync(
int pageIndex,
int pageSize,
string? content = null,
string? account = null);
/// <summary>
/// 查找时间轴
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[CacheModule(Expiration = ExpirationTime.Week)]
Task<VmTimeline?> FindAsync(string id);
}