mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-07-09 03:04:24 -04:00
Fixed interface definition
This commit is contained in:
parent
aa4dd04b99
commit
0130580151
@ -55,7 +55,7 @@ public class MediaSegmentsController : BaseJellyfinApiController
|
||||
return NotFound();
|
||||
}
|
||||
|
||||
var items = await _mediaSegmentManager.GetSegmentsAsync(item.Id, includeSegmentTypes).ConfigureAwait(false);
|
||||
var items = await _mediaSegmentManager.GetSegmentsAsync(item, includeSegmentTypes).ConfigureAwait(false);
|
||||
return Ok(new QueryResult<MediaSegmentDto>(items.ToArray()));
|
||||
}
|
||||
}
|
||||
|
@ -139,20 +139,26 @@ public class MediaSegmentManager : IMediaSegmentManager
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public async Task<IEnumerable<MediaSegmentDto>> GetSegmentsAsync(Guid itemId, IEnumerable<MediaSegmentType>? typeFilter, bool filterByProvider = true)
|
||||
public Task<IEnumerable<MediaSegmentDto>> GetSegmentsAsync(Guid itemId, IEnumerable<MediaSegmentType>? typeFilter, bool filterByProvider = true)
|
||||
{
|
||||
var baseItem = _libraryManager.GetItemById(itemId);
|
||||
|
||||
if (baseItem is null)
|
||||
{
|
||||
_logger.LogError("Tried to request segments for an invalid item");
|
||||
return [];
|
||||
return Task.FromResult<IEnumerable<MediaSegmentDto>>([]);
|
||||
}
|
||||
|
||||
return GetSegmentsAsync(baseItem, typeFilter, filterByProvider);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public async Task<IEnumerable<MediaSegmentDto>> GetSegmentsAsync(BaseItem item, IEnumerable<MediaSegmentType>? typeFilter, bool filterByProvider = true)
|
||||
{
|
||||
using var db = await _dbProvider.CreateDbContextAsync().ConfigureAwait(false);
|
||||
|
||||
var query = db.MediaSegments
|
||||
.Where(e => e.ItemId.Equals(itemId));
|
||||
.Where(e => e.ItemId.Equals(item.Id));
|
||||
|
||||
if (typeFilter is not null)
|
||||
{
|
||||
@ -161,7 +167,7 @@ public class MediaSegmentManager : IMediaSegmentManager
|
||||
|
||||
if (filterByProvider)
|
||||
{
|
||||
var libraryOptions = _libraryManager.GetLibraryOptions(baseItem);
|
||||
var libraryOptions = _libraryManager.GetLibraryOptions(item);
|
||||
var providers = _segmentProviders
|
||||
.Where(e => !libraryOptions.DisabledMediaSegmentProviders.Contains(GetProviderId(e.Name)))
|
||||
.ToArray();
|
||||
|
@ -54,6 +54,15 @@ public interface IMediaSegmentManager
|
||||
/// <returns>An enumerator of <see cref="MediaSegmentDto"/>'s.</returns>
|
||||
Task<IEnumerable<MediaSegmentDto>> GetSegmentsAsync(Guid itemId, IEnumerable<MediaSegmentType>? typeFilter, bool filterByProvider = true);
|
||||
|
||||
/// <summary>
|
||||
/// Obtains all segments accociated with the itemId.
|
||||
/// </summary>
|
||||
/// <param name="itemId">The <see cref="BaseItem"/>.</param>
|
||||
/// <param name="typeFilter">filteres all media segments of the given type to be included. If null all types are included.</param>
|
||||
/// <param name="filterByProvider">When set filteres the segments to only return those that which providers are currently enabled on their library.</param>
|
||||
/// <returns>An enumerator of <see cref="MediaSegmentDto"/>'s.</returns>
|
||||
Task<IEnumerable<MediaSegmentDto>> GetSegmentsAsync(BaseItem itemId, IEnumerable<MediaSegmentType>? typeFilter, bool filterByProvider = true);
|
||||
|
||||
/// <summary>
|
||||
/// Gets information about any media segments stored for the given itemId.
|
||||
/// </summary>
|
||||
|
Loading…
x
Reference in New Issue
Block a user