switch to flat file storage

This commit is contained in:
Luke Pulverenti
2013-06-17 16:35:43 -04:00
parent 95f471e8c3
commit e677a57bf1
44 changed files with 958 additions and 1594 deletions

View File

@@ -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)

View File

@@ -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;

View File

@@ -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;
});

View File

@@ -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;