diff options
| author | LukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com> | 2012-07-16 12:50:44 -0400 |
|---|---|---|
| committer | LukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com> | 2012-07-16 12:50:44 -0400 |
| commit | 6fbd5cf46407a212fadb52eee00c7ac7690430ea (patch) | |
| tree | 0e21ea9603d6c78801ac01e1e0e412acd2341a45 /MediaBrowser.Api/HttpHandlers | |
| parent | baedafbeb92db3ddf434f038984970bf0a6ac0c1 (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.cs | 4 | ||||
| -rw-r--r-- | MediaBrowser.Api/HttpHandlers/GenresHandler.cs | 6 | ||||
| -rw-r--r-- | MediaBrowser.Api/HttpHandlers/ImageHandler.cs | 5 | ||||
| -rw-r--r-- | MediaBrowser.Api/HttpHandlers/InProgressItemsHandler.cs | 3 | ||||
| -rw-r--r-- | MediaBrowser.Api/HttpHandlers/ItemHandler.cs | 35 | ||||
| -rw-r--r-- | MediaBrowser.Api/HttpHandlers/ItemListHandler.cs | 13 | ||||
| -rw-r--r-- | MediaBrowser.Api/HttpHandlers/PersonHandler.cs | 3 | ||||
| -rw-r--r-- | MediaBrowser.Api/HttpHandlers/RecentlyAddedItemsHandler.cs | 5 | ||||
| -rw-r--r-- | MediaBrowser.Api/HttpHandlers/StudioHandler.cs | 28 | ||||
| -rw-r--r-- | MediaBrowser.Api/HttpHandlers/StudiosHandler.cs | 26 | ||||
| -rw-r--r-- | MediaBrowser.Api/HttpHandlers/UsersHandler.cs | 22 |
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;
+ }
+ }
+ }
+}
|
