mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-12-16 14:03:03 +03:00
support sync for live tv recordings
This commit is contained in:
@@ -188,7 +188,22 @@ namespace MediaBrowser.Server.Implementations.Dto
|
||||
return new Tuple<IEnumerable<string>, IEnumerable<string>>(result1.Items, result2.Items);
|
||||
}
|
||||
|
||||
private void FillSyncInfo(BaseItemDto dto, BaseItem item, DtoOptions options, User user)
|
||||
public void FillSyncInfo(IEnumerable<IHasSyncInfo> dtos, DtoOptions options, User user)
|
||||
{
|
||||
if (options.Fields.Contains(ItemFields.SyncInfo))
|
||||
{
|
||||
var tuple = GetItemIdsWithSyncJobs(options);
|
||||
|
||||
foreach (var dto in dtos)
|
||||
{
|
||||
var item = _libraryManager.GetItemById(dto.Id);
|
||||
|
||||
FillSyncInfo(dto, item, tuple.Item1, tuple.Item2, options, user);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void FillSyncInfo(IHasSyncInfo dto, BaseItem item, DtoOptions options, User user)
|
||||
{
|
||||
if (options.Fields.Contains(ItemFields.SyncInfo))
|
||||
{
|
||||
@@ -202,10 +217,20 @@ namespace MediaBrowser.Server.Implementations.Dto
|
||||
|
||||
dto.HasSyncJob = tuple.Item1.Contains(dto.Id, StringComparer.OrdinalIgnoreCase);
|
||||
dto.IsSynced = tuple.Item2.Contains(dto.Id, StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
if (dto.IsSynced.Value)
|
||||
{
|
||||
dto.SyncStatus = SyncJobItemStatus.Synced;
|
||||
}
|
||||
|
||||
else if (dto.HasSyncJob.Value)
|
||||
{
|
||||
dto.SyncStatus = SyncJobItemStatus.Queued;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void FillSyncInfo(BaseItemDto dto, BaseItem item, IEnumerable<string> itemIdsWithPendingSyncJobs, IEnumerable<string> syncedItemIds, DtoOptions options, User user)
|
||||
private void FillSyncInfo(IHasSyncInfo dto, BaseItem item, IEnumerable<string> itemIdsWithPendingSyncJobs, IEnumerable<string> syncedItemIds, DtoOptions options, User user)
|
||||
{
|
||||
if (options.Fields.Contains(ItemFields.SyncInfo))
|
||||
{
|
||||
@@ -217,6 +242,16 @@ namespace MediaBrowser.Server.Implementations.Dto
|
||||
{
|
||||
dto.HasSyncJob = itemIdsWithPendingSyncJobs.Contains(dto.Id, StringComparer.OrdinalIgnoreCase);
|
||||
dto.IsSynced = syncedItemIds.Contains(dto.Id, StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
if (dto.IsSynced.Value)
|
||||
{
|
||||
dto.SyncStatus = SyncJobItemStatus.Synced;
|
||||
}
|
||||
|
||||
else if (dto.HasSyncJob.Value)
|
||||
{
|
||||
dto.SyncStatus = SyncJobItemStatus.Queued;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user