mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-03-15 22:56:18 +00:00
sync updates
This commit is contained in:
@@ -59,6 +59,15 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||
|
||||
foreach (var item in items)
|
||||
{
|
||||
// Respect ItemLimit, if set
|
||||
if (job.ItemLimit.HasValue)
|
||||
{
|
||||
if (jobItems.Count >= job.ItemLimit.Value)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
var itemId = item.Id.ToString("N");
|
||||
|
||||
var jobItem = jobItems.FirstOrDefault(i => string.Equals(i.ItemId, itemId, StringComparison.OrdinalIgnoreCase));
|
||||
@@ -89,6 +98,13 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||
await UpdateJobStatus(job, jobItems).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
public Task UpdateJobStatus(string id)
|
||||
{
|
||||
var job = _syncRepo.GetJob(id);
|
||||
|
||||
return UpdateJobStatus(job);
|
||||
}
|
||||
|
||||
private Task UpdateJobStatus(SyncJob job)
|
||||
{
|
||||
if (job == null)
|
||||
|
||||
@@ -265,5 +265,24 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public async Task ReportSyncJobItemTransferred(string id)
|
||||
{
|
||||
var jobItem = _repo.GetJobItem(id);
|
||||
|
||||
jobItem.Status = SyncJobItemStatus.Completed;
|
||||
jobItem.Progress = 100;
|
||||
|
||||
await _repo.Update(jobItem).ConfigureAwait(false);
|
||||
|
||||
var processor = new SyncJobProcessor(_libraryManager, _repo, this, _logger, _userManager);
|
||||
|
||||
await processor.UpdateJobStatus(jobItem.JobId).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
public SyncJobItem GetJobItem(string id)
|
||||
{
|
||||
return _repo.GetJobItem(id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -352,6 +352,11 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||
}
|
||||
cmd.Parameters.Add(cmd, "@Status", DbType.String).Value = SyncJobStatus.Completed.ToString();
|
||||
}
|
||||
if (!string.IsNullOrWhiteSpace(query.TargetId))
|
||||
{
|
||||
whereClauses.Add("TargetId=@TargetId");
|
||||
cmd.Parameters.Add(cmd, "@TargetId", DbType.String).Value = query.TargetId;
|
||||
}
|
||||
|
||||
var whereTextWithoutPaging = whereClauses.Count == 0 ?
|
||||
string.Empty :
|
||||
@@ -447,6 +452,16 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||
whereClauses.Add("JobId=@JobId");
|
||||
cmd.Parameters.Add(cmd, "@JobId", DbType.String).Value = query.JobId;
|
||||
}
|
||||
if (!string.IsNullOrWhiteSpace(query.TargetId))
|
||||
{
|
||||
whereClauses.Add("TargetId=@TargetId");
|
||||
cmd.Parameters.Add(cmd, "@TargetId", DbType.String).Value = query.TargetId;
|
||||
}
|
||||
if (query.Status.HasValue)
|
||||
{
|
||||
whereClauses.Add("Status=@Status");
|
||||
cmd.Parameters.Add(cmd, "@Status", DbType.String).Value = query.Status.Value.ToString();
|
||||
}
|
||||
|
||||
if (query.IsCompleted.HasValue)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user