ISyncProvider.cs 572 Bytes
namespace Rcs.Application.Services.Sync;

/// <summary>
/// 同步提供者接口
/// @author zzy
/// </summary>
public interface ISyncProvider
{
    /// <summary>
    /// 处理的任务类型
    /// </summary>
    string TaskType { get; }

    /// <summary>
    /// 获取需要同步的任务列表
    /// </summary>
    Task<IEnumerable<ISyncTask>> GetSyncTasksAsync(CancellationToken cancellationToken = default);

    /// <summary>
    /// 执行同步
    /// </summary>
    Task ExecuteSyncAsync(ISyncTask task, CancellationToken cancellationToken = default);
}