mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-06-10 01:38:49 +01:00
switch to flat file storage
This commit is contained in:
@@ -337,7 +337,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
public string Name;
|
||||
|
||||
public BaseItem Item;
|
||||
private Task<UserItemData> _userData;
|
||||
private UserItemData _userData;
|
||||
|
||||
public List<BaseItem> Items
|
||||
{
|
||||
@@ -353,12 +353,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
{
|
||||
var item = await GetItem().ConfigureAwait(false);
|
||||
|
||||
if (_userData == null)
|
||||
{
|
||||
_userData = repo.GetUserData(userId, item.GetUserDataKey());
|
||||
}
|
||||
|
||||
return await _userData.ConfigureAwait(false);
|
||||
return _userData ?? (_userData = repo.GetUserData(userId, item.GetUserDataKey()));
|
||||
}
|
||||
|
||||
public IbnStub(string name, Func<IEnumerable<BaseItem>> childItems, Func<string,Task<T>> item)
|
||||
|
||||
@@ -240,9 +240,9 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
}
|
||||
|
||||
var key = item.GetUserDataKey();
|
||||
|
||||
|
||||
// Get the user data for this item
|
||||
var data = await UserDataRepository.GetUserData(userId, key).ConfigureAwait(false);
|
||||
var data = UserDataRepository.GetUserData(userId, key);
|
||||
|
||||
// Set favorite status
|
||||
data.IsFavorite = isFavorite;
|
||||
@@ -288,9 +288,9 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
}
|
||||
|
||||
var key = item.GetUserDataKey();
|
||||
|
||||
|
||||
// Get the user data for this item
|
||||
var data = await UserDataRepository.GetUserData(userId, key).ConfigureAwait(false);
|
||||
var data = UserDataRepository.GetUserData(userId, key);
|
||||
|
||||
data.Likes = likes;
|
||||
|
||||
|
||||
@@ -335,7 +335,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
case ItemFilter.Likes:
|
||||
return items.Where(item =>
|
||||
{
|
||||
var userdata = repository.GetUserData(user.Id, item.GetUserDataKey()).Result;
|
||||
var userdata = repository.GetUserData(user.Id, item.GetUserDataKey());
|
||||
|
||||
return userdata != null && userdata.Likes.HasValue && userdata.Likes.Value;
|
||||
});
|
||||
@@ -343,7 +343,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
case ItemFilter.Dislikes:
|
||||
return items.Where(item =>
|
||||
{
|
||||
var userdata = repository.GetUserData(user.Id, item.GetUserDataKey()).Result;
|
||||
var userdata = repository.GetUserData(user.Id, item.GetUserDataKey());
|
||||
|
||||
return userdata != null && userdata.Likes.HasValue && !userdata.Likes.Value;
|
||||
});
|
||||
@@ -351,7 +351,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
case ItemFilter.IsFavorite:
|
||||
return items.Where(item =>
|
||||
{
|
||||
var userdata = repository.GetUserData(user.Id, item.GetUserDataKey()).Result;
|
||||
var userdata = repository.GetUserData(user.Id, item.GetUserDataKey());
|
||||
|
||||
return userdata != null && userdata.IsFavorite;
|
||||
});
|
||||
@@ -362,7 +362,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
case ItemFilter.IsResumable:
|
||||
return items.Where(item =>
|
||||
{
|
||||
var userdata = repository.GetUserData(user.Id, item.GetUserDataKey()).Result;
|
||||
var userdata = repository.GetUserData(user.Id, item.GetUserDataKey());
|
||||
|
||||
return userdata != null && userdata.PlaybackPositionTicks > 0;
|
||||
});
|
||||
@@ -370,7 +370,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
case ItemFilter.IsPlayed:
|
||||
return items.Where(item =>
|
||||
{
|
||||
var userdata = repository.GetUserData(user.Id, item.GetUserDataKey()).Result;
|
||||
var userdata = repository.GetUserData(user.Id, item.GetUserDataKey());
|
||||
|
||||
return userdata != null && userdata.Played;
|
||||
});
|
||||
@@ -378,7 +378,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
case ItemFilter.IsUnplayed:
|
||||
return items.Where(item =>
|
||||
{
|
||||
var userdata = repository.GetUserData(user.Id, item.GetUserDataKey()).Result;
|
||||
var userdata = repository.GetUserData(user.Id, item.GetUserDataKey());
|
||||
|
||||
return userdata == null || !userdata.Played;
|
||||
});
|
||||
|
||||
@@ -399,7 +399,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
|
||||
var dtoBuilder = new DtoBuilder(Logger, _libraryManager, _userDataRepository);
|
||||
|
||||
var items = _itemRepo.GetItems(movie.SpecialFeatureIds).OrderBy(i => i.SortName).Select(i => dtoBuilder.GetBaseItemDto(i, fields, user)).Select(t => t.Result).ToList();
|
||||
var items = _itemRepo.RetrieveItems<Video>(movie.SpecialFeatureIds).OrderBy(i => i.SortName).Select(i => dtoBuilder.GetBaseItemDto(i, fields, user)).Select(t => t.Result).ToList();
|
||||
|
||||
return ToOptimizedResult(items);
|
||||
}
|
||||
@@ -420,7 +420,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
|
||||
var dtoBuilder = new DtoBuilder(Logger, _libraryManager, _userDataRepository);
|
||||
|
||||
var items = _itemRepo.GetItems(item.LocalTrailerIds).OrderBy(i => i.SortName).Select(i => dtoBuilder.GetBaseItemDto(i, fields, user)).Select(t => t.Result).ToList();
|
||||
var items = _itemRepo.RetrieveItems<Trailer>(item.LocalTrailerIds).OrderBy(i => i.SortName).Select(i => dtoBuilder.GetBaseItemDto(i, fields, user)).Select(t => t.Result).ToList();
|
||||
|
||||
return ToOptimizedResult(items);
|
||||
}
|
||||
@@ -496,7 +496,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
// Get the user data for this item
|
||||
var key = item.GetUserDataKey();
|
||||
|
||||
var data = _userDataRepository.GetUserData(user.Id, key).Result;
|
||||
var data = _userDataRepository.GetUserData(user.Id, key);
|
||||
|
||||
// Set favorite status
|
||||
data.IsFavorite = true;
|
||||
@@ -519,7 +519,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
var key = item.GetUserDataKey();
|
||||
|
||||
// Get the user data for this item
|
||||
var data = _userDataRepository.GetUserData(user.Id, key).Result;
|
||||
var data = _userDataRepository.GetUserData(user.Id, key);
|
||||
|
||||
// Set favorite status
|
||||
data.IsFavorite = false;
|
||||
@@ -542,7 +542,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
var key = item.GetUserDataKey();
|
||||
|
||||
// Get the user data for this item
|
||||
var data = _userDataRepository.GetUserData(user.Id, key).Result;
|
||||
var data = _userDataRepository.GetUserData(user.Id, key);
|
||||
|
||||
data.Rating = null;
|
||||
|
||||
@@ -564,7 +564,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
var key = item.GetUserDataKey();
|
||||
|
||||
// Get the user data for this item
|
||||
var data = _userDataRepository.GetUserData(user.Id, key).Result;
|
||||
var data = _userDataRepository.GetUserData(user.Id, key);
|
||||
|
||||
data.Likes = request.Likes;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user