aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/HttpHandlers
diff options
context:
space:
mode:
authorLukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com>2012-07-16 12:50:44 -0400
committerLukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com>2012-07-16 12:50:44 -0400
commit6fbd5cf46407a212fadb52eee00c7ac7690430ea (patch)
tree0e21ea9603d6c78801ac01e1e0e412acd2341a45 /MediaBrowser.Api/HttpHandlers
parentbaedafbeb92db3ddf434f038984970bf0a6ac0c1 (diff)
All calls to get items now require passing in a userId. Made the model project portable. Also filled in more api calls.
Diffstat (limited to 'MediaBrowser.Api/HttpHandlers')
-rw-r--r--MediaBrowser.Api/HttpHandlers/GenreHandler.cs4
-rw-r--r--MediaBrowser.Api/HttpHandlers/GenresHandler.cs6
-rw-r--r--MediaBrowser.Api/HttpHandlers/ImageHandler.cs5
-rw-r--r--MediaBrowser.Api/HttpHandlers/InProgressItemsHandler.cs3
-rw-r--r--MediaBrowser.Api/HttpHandlers/ItemHandler.cs35
-rw-r--r--MediaBrowser.Api/HttpHandlers/ItemListHandler.cs13
-rw-r--r--MediaBrowser.Api/HttpHandlers/PersonHandler.cs3
-rw-r--r--MediaBrowser.Api/HttpHandlers/RecentlyAddedItemsHandler.cs5
-rw-r--r--MediaBrowser.Api/HttpHandlers/StudioHandler.cs28
-rw-r--r--MediaBrowser.Api/HttpHandlers/StudiosHandler.cs26
-rw-r--r--MediaBrowser.Api/HttpHandlers/UsersHandler.cs22
11 files changed, 124 insertions, 26 deletions
diff --git a/MediaBrowser.Api/HttpHandlers/GenreHandler.cs b/MediaBrowser.Api/HttpHandlers/GenreHandler.cs
index 27731e39f0..f43e3e1b02 100644
--- a/MediaBrowser.Api/HttpHandlers/GenreHandler.cs
+++ b/MediaBrowser.Api/HttpHandlers/GenreHandler.cs
@@ -1,7 +1,7 @@
using System.Collections.Generic;
using MediaBrowser.Common.Net;
+using MediaBrowser.Controller;
using MediaBrowser.Model.Entities;
-using MediaBrowser.Api;
namespace MediaBrowser.Api.HttpHandlers
{
@@ -21,7 +21,7 @@ namespace MediaBrowser.Api.HttpHandlers
{
Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
- return ApiService.GetItemsWithGenre(parent, QueryString["name"]);
+ return Kernel.Instance.GetItemsWithGenre(parent, QueryString["name"], UserId);
}
}
}
diff --git a/MediaBrowser.Api/HttpHandlers/GenresHandler.cs b/MediaBrowser.Api/HttpHandlers/GenresHandler.cs
index 23755a7a48..794b746cd4 100644
--- a/MediaBrowser.Api/HttpHandlers/GenresHandler.cs
+++ b/MediaBrowser.Api/HttpHandlers/GenresHandler.cs
@@ -1,4 +1,5 @@
-using MediaBrowser.Common.Net;
+using System;
+using MediaBrowser.Common.Net;
using MediaBrowser.Common.Net.Handlers;
using MediaBrowser.Model.Entities;
@@ -16,8 +17,9 @@ namespace MediaBrowser.Api.HttpHandlers
get
{
Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
+ Guid userId = Guid.Parse(QueryString["userid"]);
- return ApiService.GetAllGenres(parent);
+ return ApiService.GetAllGenres(parent, userId);
}
}
}
diff --git a/MediaBrowser.Api/HttpHandlers/ImageHandler.cs b/MediaBrowser.Api/HttpHandlers/ImageHandler.cs
index 12b3d6e572..ed6dcc3a9d 100644
--- a/MediaBrowser.Api/HttpHandlers/ImageHandler.cs
+++ b/MediaBrowser.Api/HttpHandlers/ImageHandler.cs
@@ -1,9 +1,10 @@
using System;
using System.IO;
+using System.IO.Compression;
using System.Linq;
using MediaBrowser.Common.Net;
+using MediaBrowser.Controller;
using MediaBrowser.Model.Entities;
-using System.IO.Compression;
namespace MediaBrowser.Api.HttpHandlers
{
@@ -174,7 +175,7 @@ namespace MediaBrowser.Api.HttpHandlers
if (!string.IsNullOrEmpty(personName))
{
- item = ApiService.GetPersonByName(personName);
+ item = Kernel.Instance.ItemController.GetPerson(personName);
}
else
{
diff --git a/MediaBrowser.Api/HttpHandlers/InProgressItemsHandler.cs b/MediaBrowser.Api/HttpHandlers/InProgressItemsHandler.cs
index 148964f89a..e13cee866c 100644
--- a/MediaBrowser.Api/HttpHandlers/InProgressItemsHandler.cs
+++ b/MediaBrowser.Api/HttpHandlers/InProgressItemsHandler.cs
@@ -1,5 +1,6 @@
using System.Collections.Generic;
using MediaBrowser.Common.Net;
+using MediaBrowser.Controller;
using MediaBrowser.Model.Entities;
namespace MediaBrowser.Api.HttpHandlers
@@ -17,7 +18,7 @@ namespace MediaBrowser.Api.HttpHandlers
{
Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
- return ApiService.GetInProgressItems(parent);
+ return Kernel.Instance.GetInProgressItems(parent, UserId);
}
}
}
diff --git a/MediaBrowser.Api/HttpHandlers/ItemHandler.cs b/MediaBrowser.Api/HttpHandlers/ItemHandler.cs
index 7b4b02b630..dd508d1037 100644
--- a/MediaBrowser.Api/HttpHandlers/ItemHandler.cs
+++ b/MediaBrowser.Api/HttpHandlers/ItemHandler.cs
@@ -1,7 +1,9 @@
-using MediaBrowser.Common.Net;
+using System;
+using MediaBrowser.Api.Model;
+using MediaBrowser.Common.Net;
using MediaBrowser.Common.Net.Handlers;
+using MediaBrowser.Controller;
using MediaBrowser.Model.Entities;
-using MediaBrowser.Common.Json;
namespace MediaBrowser.Api.HttpHandlers
{
@@ -16,26 +18,31 @@ namespace MediaBrowser.Api.HttpHandlers
{
get
{
- return GetSerializationObject(ItemToSerialize, true);
+ Guid userId = Guid.Parse(QueryString["userid"]);
+
+ return GetSerializationObject(ItemToSerialize, true, userId);
}
}
- public static object GetSerializationObject(BaseItem item, bool includeChildren)
+ public static object GetSerializationObject(BaseItem item, bool includeChildren, Guid userId)
{
- if (includeChildren && item.IsFolder)
+ BaseItemInfo wrapper = new BaseItemInfo()
{
- Folder folder = item as Folder;
+ Item = item,
+ UserItemData = Kernel.Instance.GetUserItemData(userId, item.Id)
+ };
- return new
- {
- BaseItem = item,
- Children = folder.Children
- };
- }
- else
+ if (includeChildren)
{
- return item;
+ var folder = item as Folder;
+
+ if (folder != null)
+ {
+ wrapper.Children = Kernel.Instance.GetParentalAllowedChildren(folder, userId);
+ }
}
+
+ return wrapper;
}
protected virtual BaseItem ItemToSerialize
diff --git a/MediaBrowser.Api/HttpHandlers/ItemListHandler.cs b/MediaBrowser.Api/HttpHandlers/ItemListHandler.cs
index 33b3f9e71e..ed6e895f38 100644
--- a/MediaBrowser.Api/HttpHandlers/ItemListHandler.cs
+++ b/MediaBrowser.Api/HttpHandlers/ItemListHandler.cs
@@ -1,4 +1,5 @@
-using System.Collections.Generic;
+using System;
+using System.Collections.Generic;
using System.Linq;
using MediaBrowser.Common.Net;
using MediaBrowser.Common.Net.Handlers;
@@ -19,7 +20,7 @@ namespace MediaBrowser.Api.HttpHandlers
{
return ItemsToSerialize.Select(i =>
{
- return ItemHandler.GetSerializationObject(i, false);
+ return ItemHandler.GetSerializationObject(i, false, UserId);
});
}
@@ -29,5 +30,13 @@ namespace MediaBrowser.Api.HttpHandlers
{
get;
}
+
+ protected Guid UserId
+ {
+ get
+ {
+ return Guid.Parse(QueryString["userid"]);
+ }
+ }
}
}
diff --git a/MediaBrowser.Api/HttpHandlers/PersonHandler.cs b/MediaBrowser.Api/HttpHandlers/PersonHandler.cs
index 066ab4816d..6a9d376791 100644
--- a/MediaBrowser.Api/HttpHandlers/PersonHandler.cs
+++ b/MediaBrowser.Api/HttpHandlers/PersonHandler.cs
@@ -1,4 +1,5 @@
using MediaBrowser.Common.Net;
+using MediaBrowser.Controller;
using MediaBrowser.Model.Entities;
namespace MediaBrowser.Api.HttpHandlers
@@ -14,7 +15,7 @@ namespace MediaBrowser.Api.HttpHandlers
{
get
{
- return ApiService.GetPersonByName(QueryString["name"]);
+ return Kernel.Instance.ItemController.GetPerson(QueryString["name"]);
}
}
}
diff --git a/MediaBrowser.Api/HttpHandlers/RecentlyAddedItemsHandler.cs b/MediaBrowser.Api/HttpHandlers/RecentlyAddedItemsHandler.cs
index 46084e7f29..8d85eedf4e 100644
--- a/MediaBrowser.Api/HttpHandlers/RecentlyAddedItemsHandler.cs
+++ b/MediaBrowser.Api/HttpHandlers/RecentlyAddedItemsHandler.cs
@@ -1,5 +1,6 @@
using System.Collections.Generic;
using MediaBrowser.Common.Net;
+using MediaBrowser.Controller;
using MediaBrowser.Model.Entities;
namespace MediaBrowser.Api.HttpHandlers
@@ -19,10 +20,10 @@ namespace MediaBrowser.Api.HttpHandlers
if (QueryString["unplayed"] == "1")
{
- return ApiService.GetRecentlyAddedUnplayedItems(parent);
+ return Kernel.Instance.GetRecentlyAddedUnplayedItems(parent, UserId);
}
- return ApiService.GetRecentlyAddedItems(parent);
+ return Kernel.Instance.GetRecentlyAddedItems(parent, UserId);
}
}
}
diff --git a/MediaBrowser.Api/HttpHandlers/StudioHandler.cs b/MediaBrowser.Api/HttpHandlers/StudioHandler.cs
new file mode 100644
index 0000000000..9426d0b7c0
--- /dev/null
+++ b/MediaBrowser.Api/HttpHandlers/StudioHandler.cs
@@ -0,0 +1,28 @@
+using System.Collections.Generic;
+using MediaBrowser.Common.Net;
+using MediaBrowser.Controller;
+using MediaBrowser.Model.Entities;
+
+namespace MediaBrowser.Api.HttpHandlers
+{
+ /// <summary>
+ /// Gets all items within containing a studio
+ /// </summary>
+ public class StudioHandler : ItemListHandler
+ {
+ public StudioHandler(RequestContext ctx)
+ : base(ctx)
+ {
+ }
+
+ protected override IEnumerable<BaseItem> ItemsToSerialize
+ {
+ get
+ {
+ Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
+
+ return Kernel.Instance.GetItemsWithStudio(parent, QueryString["name"], UserId);
+ }
+ }
+ }
+}
diff --git a/MediaBrowser.Api/HttpHandlers/StudiosHandler.cs b/MediaBrowser.Api/HttpHandlers/StudiosHandler.cs
new file mode 100644
index 0000000000..6b83b9e64f
--- /dev/null
+++ b/MediaBrowser.Api/HttpHandlers/StudiosHandler.cs
@@ -0,0 +1,26 @@
+using System;
+using MediaBrowser.Common.Net;
+using MediaBrowser.Common.Net.Handlers;
+using MediaBrowser.Model.Entities;
+
+namespace MediaBrowser.Api.HttpHandlers
+{
+ public class StudiosHandler : JsonHandler
+ {
+ public StudiosHandler(RequestContext ctx)
+ : base(ctx)
+ {
+ }
+
+ protected sealed override object ObjectToSerialize
+ {
+ get
+ {
+ Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
+ Guid userId = Guid.Parse(QueryString["userid"]);
+
+ return ApiService.GetAllStudios(parent, userId);
+ }
+ }
+ }
+}
diff --git a/MediaBrowser.Api/HttpHandlers/UsersHandler.cs b/MediaBrowser.Api/HttpHandlers/UsersHandler.cs
new file mode 100644
index 0000000000..aa8dac11e4
--- /dev/null
+++ b/MediaBrowser.Api/HttpHandlers/UsersHandler.cs
@@ -0,0 +1,22 @@
+using MediaBrowser.Common.Net;
+using MediaBrowser.Common.Net.Handlers;
+using MediaBrowser.Controller;
+
+namespace MediaBrowser.Api.HttpHandlers
+{
+ class UsersHandler : JsonHandler
+ {
+ public UsersHandler(RequestContext ctx)
+ : base(ctx)
+ {
+ }
+
+ protected override object ObjectToSerialize
+ {
+ get
+ {
+ return Kernel.Instance.Users;
+ }
+ }
+ }
+}