using MediaBrowser.Model.Querying; using MediaBrowser.Model.Sync; using System.Threading.Tasks; namespace MediaBrowser.Controller.Sync { public interface ISyncRepository { /// /// Gets the job. /// /// The identifier. /// SyncJob. SyncJob GetJob(string id); /// /// Creates the specified job. /// /// The job. /// Task. Task Create(SyncJob job); /// /// Updates the specified job. /// /// The job. /// Task. Task Update(SyncJob job); /// /// Deletes the job. /// /// The identifier. /// Task. Task DeleteJob(string id); /// /// Gets the jobs. /// /// The query. /// QueryResult<SyncJob>. QueryResult GetJobs(SyncJobQuery query); /// /// Gets the job item. /// /// The identifier. /// SyncJobItem. SyncJobItem GetJobItem(string id); /// /// Creates the specified job item. /// /// The job item. /// Task. Task Create(SyncJobItem jobItem); /// /// Updates the specified job item. /// /// The job item. /// Task. Task Update(SyncJobItem jobItem); /// /// Gets the job items. /// /// The query. /// IEnumerable<SyncJobItem>. QueryResult GetJobItems(SyncJobItemQuery query); /// /// Gets the library item ids. /// /// The query. /// QueryResult<System.String>. QueryResult GetSyncedItemProgresses(SyncJobItemQuery query); } }