commit
e49112c3db
|
@ -52,6 +52,23 @@ namespace MediaBrowser.Api.UserLibrary
|
|||
/// <param name="dtoService">The dto service.</param>
|
||||
public ItemsService(IUserManager userManager, ILibraryManager libraryManager, ILocalizationManager localization, IDtoService dtoService)
|
||||
{
|
||||
if (userManager == null)
|
||||
{
|
||||
throw new ArgumentNullException("userManager");
|
||||
}
|
||||
if (libraryManager == null)
|
||||
{
|
||||
throw new ArgumentNullException("libraryManager");
|
||||
}
|
||||
if (localization == null)
|
||||
{
|
||||
throw new ArgumentNullException("localization");
|
||||
}
|
||||
if (dtoService == null)
|
||||
{
|
||||
throw new ArgumentNullException("dtoService");
|
||||
}
|
||||
|
||||
_userManager = userManager;
|
||||
_libraryManager = libraryManager;
|
||||
_localization = localization;
|
||||
|
@ -65,6 +82,11 @@ namespace MediaBrowser.Api.UserLibrary
|
|||
/// <returns>System.Object.</returns>
|
||||
public async Task<object> Get(GetItems request)
|
||||
{
|
||||
if (request == null)
|
||||
{
|
||||
throw new ArgumentNullException("request");
|
||||
}
|
||||
|
||||
var result = await GetItems(request).ConfigureAwait(false);
|
||||
|
||||
return ToOptimizedSerializedResultUsingCache(result);
|
||||
|
@ -78,15 +100,32 @@ namespace MediaBrowser.Api.UserLibrary
|
|||
private async Task<ItemsResult> GetItems(GetItems request)
|
||||
{
|
||||
var user = !string.IsNullOrWhiteSpace(request.UserId) ? _userManager.GetUserById(request.UserId) : null;
|
||||
|
||||
|
||||
var result = await GetItemsToSerialize(request, user).ConfigureAwait(false);
|
||||
|
||||
if (result == null)
|
||||
{
|
||||
throw new InvalidOperationException("GetItemsToSerialize returned null");
|
||||
}
|
||||
|
||||
if (result.Items == null)
|
||||
{
|
||||
throw new InvalidOperationException("GetItemsToSerialize result.Items returned null");
|
||||
}
|
||||
|
||||
var dtoOptions = GetDtoOptions(request);
|
||||
|
||||
var dtoList = await _dtoService.GetBaseItemDtos(result.Items, dtoOptions, user).ConfigureAwait(false);
|
||||
|
||||
if (dtoList == null)
|
||||
{
|
||||
throw new InvalidOperationException("GetBaseItemDtos returned null");
|
||||
}
|
||||
|
||||
return new ItemsResult
|
||||
{
|
||||
TotalRecordCount = result.TotalRecordCount,
|
||||
Items = (await _dtoService.GetBaseItemDtos(result.Items, dtoOptions, user).ConfigureAwait(false)).ToArray()
|
||||
Items = dtoList.ToArray()
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -161,6 +161,8 @@ namespace MediaBrowser.Providers.Manager
|
|||
{
|
||||
var currentPath = currentImage.Path;
|
||||
|
||||
_logger.Debug("Deleting previous image {0}", currentPath);
|
||||
|
||||
_libraryMonitor.ReportFileSystemChangeBeginning(currentPath);
|
||||
|
||||
try
|
||||
|
@ -276,7 +278,7 @@ namespace MediaBrowser.Providers.Manager
|
|||
/// <returns>IEnumerable{System.String}.</returns>
|
||||
private string[] GetSavePaths(IHasImages item, ImageType type, int? imageIndex, string mimeType, bool saveLocally)
|
||||
{
|
||||
if (_config.Configuration.ImageSavingConvention == ImageSavingConvention.Legacy || !saveLocally)
|
||||
if (!saveLocally)
|
||||
{
|
||||
return new[] { GetStandardSavePath(item, type, imageIndex, mimeType, saveLocally) };
|
||||
}
|
||||
|
@ -375,11 +377,11 @@ namespace MediaBrowser.Providers.Manager
|
|||
}
|
||||
|
||||
string filename;
|
||||
var folderName = item is MusicAlbum ||
|
||||
item is MusicArtist ||
|
||||
item is PhotoAlbum ||
|
||||
(saveLocally && _config.Configuration.ImageSavingConvention == ImageSavingConvention.Legacy) ?
|
||||
"folder" :
|
||||
var folderName = item is MusicAlbum ||
|
||||
item is MusicArtist ||
|
||||
item is PhotoAlbum ||
|
||||
(saveLocally && _config.Configuration.ImageSavingConvention == ImageSavingConvention.Legacy) ?
|
||||
"folder" :
|
||||
"poster";
|
||||
|
||||
switch (type)
|
||||
|
|
|
@ -88,6 +88,16 @@ namespace MediaBrowser.Server.Implementations.Dto
|
|||
|
||||
public async Task<List<BaseItemDto>> GetBaseItemDtos(IEnumerable<BaseItem> items, DtoOptions options, User user = null, BaseItem owner = null)
|
||||
{
|
||||
if (items == null)
|
||||
{
|
||||
throw new ArgumentNullException("items");
|
||||
}
|
||||
|
||||
if (options == null)
|
||||
{
|
||||
throw new ArgumentNullException("options");
|
||||
}
|
||||
|
||||
var syncJobItems = GetSyncedItemProgress(options);
|
||||
var syncDictionary = GetSyncedItemProgressDictionary(syncJobItems);
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user