diff --git a/MediaBrowser.Api/UserLibrary/ItemByNameUserDataService.cs b/MediaBrowser.Api/UserLibrary/ItemByNameUserDataService.cs
index f872fb680..e068eb216 100644
--- a/MediaBrowser.Api/UserLibrary/ItemByNameUserDataService.cs
+++ b/MediaBrowser.Api/UserLibrary/ItemByNameUserDataService.cs
@@ -1,4 +1,5 @@
-using MediaBrowser.Controller.Persistence;
+using MediaBrowser.Controller.Dto;
+using MediaBrowser.Controller.Persistence;
using ServiceStack.ServiceHost;
using System;
using System.Threading;
@@ -146,7 +147,7 @@ namespace MediaBrowser.Api.UserLibrary
// Get the user data for this item
var data = UserDataRepository.GetUserData(request.UserId, request.Name).Result;
- return ToOptimizedResult(data);
+ return ToOptimizedResult(DtoBuilder.GetUserItemDataDto(data));
}
///
@@ -175,7 +176,7 @@ namespace MediaBrowser.Api.UserLibrary
/// Deletes the specified request.
///
/// The request.
- public void Delete(MarkItemByNameFavorite request)
+ public void Delete(UnmarkItemByNameFavorite request)
{
var task = MarkFavorite(request.UserId, request.Name, false);
diff --git a/MediaBrowser.Controller/Dto/DtoBuilder.cs b/MediaBrowser.Controller/Dto/DtoBuilder.cs
index 0da4da356..0c47013bf 100644
--- a/MediaBrowser.Controller/Dto/DtoBuilder.cs
+++ b/MediaBrowser.Controller/Dto/DtoBuilder.cs
@@ -682,7 +682,7 @@ namespace MediaBrowser.Controller.Dto
/// The data.
/// DtoUserItemData.
///
- public UserItemDataDto GetUserItemDataDto(UserItemData data)
+ public static UserItemDataDto GetUserItemDataDto(UserItemData data)
{
if (data == null)
{
diff --git a/MediaBrowser.WebDashboard/ApiClient.js b/MediaBrowser.WebDashboard/ApiClient.js
index 65012f94d..4c88b35c3 100644
--- a/MediaBrowser.WebDashboard/ApiClient.js
+++ b/MediaBrowser.WebDashboard/ApiClient.js
@@ -1724,12 +1724,12 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
};
/**
- * Updates a user's favorite status for a person.
+ * Updates a user's favorite status for an item by name.
* @param {String} userId
* @param {String} name
* @param {Boolean} isFavorite
*/
- self.updateFavoritePersonStatus = function (userId, name, isFavorite) {
+ self.updateItemByNameFavoriteStatus = function (userId, name, isFavorite) {
if (!userId) {
throw new Error("null userId");
@@ -1739,7 +1739,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
throw new Error("null name");
}
- var url = self.getUrl("Users/" + userId + "/FavoritePersons/" + name);
+ var url = self.getUrl("Users/" + userId + "/ItemsByName/Favorites/" + name);
var method = isFavorite ? "POST" : "DELETE";
@@ -1751,12 +1751,12 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
};
/**
- * Updates a user's favorite status for a genre.
- * @param {String} userId
- * @param {String} name
- * @param {Boolean} isFavorite
- */
- self.updateFavoriteGenreStatus = function (userId, name, isFavorite) {
+ * Updates a user's rating for an item by name.
+ * @param {String} userId
+ * @param {String} name
+ * @param {Boolean} likes
+ */
+ self.updateItemByNameRating = function (userId, name, likes) {
if (!userId) {
throw new Error("null userId");
@@ -1766,24 +1766,46 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
throw new Error("null name");
}
- var url = self.getUrl("Users/" + userId + "/FavoriteGenre/" + name);
-
- var method = isFavorite ? "POST" : "DELETE";
+ var url = self.getUrl("Users/" + userId + "/ItemsByName/" + name + "/Rating", {
+ likes: likes
+ });
return self.ajax({
- type: method,
+ type: "POST",
+ url: url
+ });
+ };
+
+ /**
+ * Clears a user's rating for an item by name.
+ * @param {String} userId
+ * @param {String} name
+ */
+ self.clearItemByNameRating = function (userId, name) {
+
+ if (!userId) {
+ throw new Error("null userId");
+ }
+
+ if (!name) {
+ throw new Error("null name");
+ }
+
+ var url = self.getUrl("Users/" + userId + "/ItemsByName/" + name + "/Rating");
+
+ return self.ajax({
+ type: "DELETE",
url: url,
dataType: "json"
});
};
/**
- * Updates a user's favorite status for a studio.
- * @param {String} userId
- * @param {String} name
- * @param {Boolean} isFavorite
- */
- self.updateFavoriteStudioStatus = function (userId, name, isFavorite) {
+ * Gets the full user data object for an item by name.
+ * @param {String} userId
+ * @param {String} name
+ */
+ self.getItembyNameUserData = function (userId, name) {
if (!userId) {
throw new Error("null userId");
@@ -1793,12 +1815,10 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
throw new Error("null name");
}
- var url = self.getUrl("Users/" + userId + "/FavoriteStudios/" + name);
-
- var method = isFavorite ? "POST" : "DELETE";
+ var url = self.getUrl("Users/" + userId + "/ItemsByName/" + name + "/UserData");
return self.ajax({
- type: method,
+ type: "GET",
url: url,
dataType: "json"
});
diff --git a/MediaBrowser.WebDashboard/packages.config b/MediaBrowser.WebDashboard/packages.config
index 74c1b370f..01740f591 100644
--- a/MediaBrowser.WebDashboard/packages.config
+++ b/MediaBrowser.WebDashboard/packages.config
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file