Update to 3.5.2 and .net core 2.1

This commit is contained in:
stefan
2018-09-12 19:26:21 +02:00
parent c32d865638
commit 48facb797e
1419 changed files with 27525 additions and 88927 deletions

View File

@@ -7,6 +7,8 @@ using MediaBrowser.Model.Dto;
using System.Collections.Generic;
using System.Linq;
using MediaBrowser.Model.Services;
using System;
using MediaBrowser.Model.Querying;
namespace MediaBrowser.Api.UserLibrary
{
@@ -36,7 +38,7 @@ namespace MediaBrowser.Api.UserLibrary
/// </summary>
/// <value>The user id.</value>
[ApiMember(Name = "UserId", Description = "Optional. Filter by user id, and attach user data", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
public string UserId { get; set; }
public Guid UserId { get; set; }
}
/// <summary>
@@ -54,7 +56,7 @@ namespace MediaBrowser.Api.UserLibrary
{
var result = GetItem(request);
return ToOptimizedSerializedResultUsingCache(result);
return ToOptimizedResult(result);
}
/// <summary>
@@ -67,8 +69,8 @@ namespace MediaBrowser.Api.UserLibrary
var dtoOptions = GetDtoOptions(AuthorizationContext, request);
var item = GetPerson(request.Name, LibraryManager, dtoOptions);
if (!string.IsNullOrWhiteSpace(request.UserId))
if (!request.UserId.Equals(Guid.Empty))
{
var user = UserManager.GetUserById(request.UserId);
@@ -85,9 +87,7 @@ namespace MediaBrowser.Api.UserLibrary
/// <returns>System.Object.</returns>
public object Get(GetPersons request)
{
var result = GetResult(request);
return ToOptimizedSerializedResultUsingCache(result);
return GetResultSlim(request);
}
/// <summary>
@@ -98,48 +98,22 @@ namespace MediaBrowser.Api.UserLibrary
/// <returns>IEnumerable{Tuple{System.StringFunc{System.Int32}}}.</returns>
protected override IEnumerable<BaseItem> GetAllItems(GetItemsByName request, IList<BaseItem> items)
{
var inputPersonTypes = ((GetPersons)request).PersonTypes;
var personTypes = string.IsNullOrEmpty(inputPersonTypes) ? new string[] { } : inputPersonTypes.Split(',');
// Either get all people, or all people filtered by a specific person type
var allPeople = GetAllPeople(items, personTypes);
return allPeople
.Select(i => i.Name)
.DistinctNames()
.Select(name =>
{
try
{
return LibraryManager.GetPerson(name);
}
catch
{
return null;
// Already logged at lower levels
}
}
).Where(i => i != null);
throw new NotImplementedException();
}
/// <summary>
/// Gets all people.
/// </summary>
/// <param name="itemsList">The items list.</param>
/// <param name="personTypes">The person types.</param>
/// <returns>IEnumerable{PersonInfo}.</returns>
private IEnumerable<PersonInfo> GetAllPeople(IList<BaseItem> itemsList, string[] personTypes)
protected override QueryResult<Tuple<BaseItem, ItemCounts>> GetItems(GetItemsByName request, InternalItemsQuery query)
{
var allIds = itemsList.Select(i => i.Id).ToArray();
var allPeople = LibraryManager.GetPeople(new InternalPeopleQuery
var items = LibraryManager.GetPeopleItems(new InternalPeopleQuery
{
PersonTypes = personTypes
PersonTypes = query.PersonTypes,
NameContains = query.NameContains ?? query.SearchTerm
});
return allPeople.Where(i => allIds.Contains(i.ItemId)).OrderBy(p => p.SortOrder ?? int.MaxValue).ThenBy(p => p.Type);
return new QueryResult<Tuple<BaseItem, ItemCounts>>
{
TotalRecordCount = items.Count,
Items = items.Take(query.Limit ?? int.MaxValue).Select(i => new Tuple<BaseItem, ItemCounts>(i, new ItemCounts())).ToArray()
};
}
public PersonsService(IUserManager userManager, ILibraryManager libraryManager, IUserDataManager userDataRepository, IItemRepository itemRepository, IDtoService dtoService, IAuthorizationContext authorizationContext) : base(userManager, libraryManager, userDataRepository, itemRepository, dtoService, authorizationContext)