diff --git a/MediaBrowser.Api/EnvironmentService.cs b/MediaBrowser.Api/EnvironmentService.cs
index dfa5eee425..cdea172302 100644
--- a/MediaBrowser.Api/EnvironmentService.cs
+++ b/MediaBrowser.Api/EnvironmentService.cs
@@ -30,21 +30,21 @@ namespace MediaBrowser.Api
/// Gets or sets a value indicating whether [include files].
///
/// true if [include files]; otherwise, false.
- [ApiMember(Name = "IncludeFiles", Description = "An optional filter to include or exclude files from the results.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
+ [ApiMember(Name = "IncludeFiles", Description = "An optional filter to include or exclude files from the results.", IsRequired = false, DataType = "boolean", ParameterType = "query", Verb = "GET")]
public bool IncludeFiles { get; set; }
///
/// Gets or sets a value indicating whether [include directories].
///
/// true if [include directories]; otherwise, false.
- [ApiMember(Name = "IncludeDirectories", Description = "An optional filter to include or exclude folders from the results.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
+ [ApiMember(Name = "IncludeDirectories", Description = "An optional filter to include or exclude folders from the results.", IsRequired = false, DataType = "boolean", ParameterType = "query", Verb = "GET")]
public bool IncludeDirectories { get; set; }
///
/// Gets or sets a value indicating whether [include hidden].
///
/// true if [include hidden]; otherwise, false.
- [ApiMember(Name = "IncludeHidden", Description = "An optional filter to include or exclude hidden files and folders.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
+ [ApiMember(Name = "IncludeHidden", Description = "An optional filter to include or exclude hidden files and folders.", IsRequired = false, DataType = "boolean", ParameterType = "query", Verb = "GET")]
public bool IncludeHidden { get; set; }
public GetDirectoryContents()
diff --git a/MediaBrowser.Api/Images/ImageService.cs b/MediaBrowser.Api/Images/ImageService.cs
index d2a612cb9d..75602f9c53 100644
--- a/MediaBrowser.Api/Images/ImageService.cs
+++ b/MediaBrowser.Api/Images/ImageService.cs
@@ -21,6 +21,7 @@ namespace MediaBrowser.Api.Images
///
[Route("/Items/{Id}/Images/{Type}", "GET")]
[Route("/Items/{Id}/Images/{Type}/{Index}", "GET")]
+ [ServiceStack.ServiceHost.Api(Description = "Gets an item image")]
public class GetItemImage : ImageRequest
{
///
@@ -35,6 +36,7 @@ namespace MediaBrowser.Api.Images
///
[Route("/Persons/{Name}/Images/{Type}", "GET")]
[Route("/Persons/{Name}/Images/{Type}/{Index}", "GET")]
+ [ServiceStack.ServiceHost.Api(Description = "Gets a person image")]
public class GetPersonImage : ImageRequest
{
///
@@ -49,6 +51,7 @@ namespace MediaBrowser.Api.Images
///
[Route("/Studios/{Name}/Images/{Type}", "GET")]
[Route("/Studios/{Name}/Images/{Type}/{Index}", "GET")]
+ [ServiceStack.ServiceHost.Api(Description = "Gets a studio image")]
public class GetStudioImage : ImageRequest
{
///
@@ -63,6 +66,7 @@ namespace MediaBrowser.Api.Images
///
[Route("/Genres/{Name}/Images/{Type}", "GET")]
[Route("/Genres/{Name}/Images/{Type}/{Index}", "GET")]
+ [ServiceStack.ServiceHost.Api(Description = "Gets a genre image")]
public class GetGenreImage : ImageRequest
{
///
@@ -77,6 +81,7 @@ namespace MediaBrowser.Api.Images
///
[Route("/Years/{Year}/Images/{Type}", "GET")]
[Route("/Years/{Year}/Images/{Type}/{Index}", "GET")]
+ [ServiceStack.ServiceHost.Api(Description = "Gets a year image")]
public class GetYearImage : ImageRequest
{
///
@@ -91,6 +96,7 @@ namespace MediaBrowser.Api.Images
///
[Route("/Users/{Id}/Images/{Type}", "GET")]
[Route("/Users/{Id}/Images/{Type}/{Index}", "GET")]
+ [ServiceStack.ServiceHost.Api(Description = "Gets a user image")]
public class GetUserImage : ImageRequest
{
///
@@ -105,6 +111,7 @@ namespace MediaBrowser.Api.Images
///
[Route("/Users/{Id}/Images/{Type}", "DELETE")]
[Route("/Users/{Id}/Images/{Type}/{Index}", "DELETE")]
+ [ServiceStack.ServiceHost.Api(Description = "Deletes a user image")]
public class DeleteUserImage : DeleteImageRequest, IReturnVoid
{
///
@@ -116,6 +123,7 @@ namespace MediaBrowser.Api.Images
[Route("/Users/{Id}/Images/{Type}", "POST")]
[Route("/Users/{Id}/Images/{Type}/{Index}", "POST")]
+ [ServiceStack.ServiceHost.Api(Description = "Posts a user image")]
public class PostUserImage : DeleteImageRequest, IRequiresRequestStream, IReturnVoid
{
///
diff --git a/MediaBrowser.Api/Javascript/ApiClient.js b/MediaBrowser.Api/Javascript/ApiClient.js
index 9a4220eacc..31022de382 100644
--- a/MediaBrowser.Api/Javascript/ApiClient.js
+++ b/MediaBrowser.Api/Javascript/ApiClient.js
@@ -670,7 +670,7 @@ var ApiClient = {
throw new Error("null name");
}
- var url = ApiClient.getUrl("Library/Studios/" + name);
+ var url = ApiClient.getUrl("Studios/" + name);
return $.getJSON(url);
},
@@ -684,7 +684,7 @@ var ApiClient = {
throw new Error("null name");
}
- var url = ApiClient.getUrl("Library/Genres/" + name);
+ var url = ApiClient.getUrl("Genres/" + name);
return $.getJSON(url);
},
@@ -698,7 +698,7 @@ var ApiClient = {
throw new Error("null year");
}
- var url = ApiClient.getUrl("Library/Years/" + year);
+ var url = ApiClient.getUrl("Years/" + year);
return $.getJSON(url);
},
@@ -712,7 +712,7 @@ var ApiClient = {
throw new Error("null name");
}
- var url = ApiClient.getUrl("Library/Persons/" + name);
+ var url = ApiClient.getUrl("Persons/" + name);
return $.getJSON(url);
},
diff --git a/MediaBrowser.Api/Javascript/JavascriptApiClientService.cs b/MediaBrowser.Api/Javascript/JavascriptApiClientService.cs
index 7c4d0d84f6..5ea6f3ebe9 100644
--- a/MediaBrowser.Api/Javascript/JavascriptApiClientService.cs
+++ b/MediaBrowser.Api/Javascript/JavascriptApiClientService.cs
@@ -12,7 +12,7 @@ namespace MediaBrowser.Api.Javascript
/// Class GetJavascriptApiClient
///
[Route("/JsApiClient.js", "GET")]
- [ServiceStack.ServiceHost.Api(("Gets an api wrapper in Javascript"))]
+ [ServiceStack.ServiceHost.Api(("Gets an api wrapper written in Javascript"))]
public class GetJavascriptApiClient
{
///
diff --git a/MediaBrowser.Api/Library/LibraryService.cs b/MediaBrowser.Api/Library/LibraryService.cs
index 5e705f5d8f..c7adf58efb 100644
--- a/MediaBrowser.Api/Library/LibraryService.cs
+++ b/MediaBrowser.Api/Library/LibraryService.cs
@@ -14,6 +14,7 @@ namespace MediaBrowser.Api.Library
/// Class GetPhyscialPaths
///
[Route("/Library/PhysicalPaths", "GET")]
+ [ServiceStack.ServiceHost.Api(Description = "Gets a list of physical paths from virtual folders")]
public class GetPhyscialPaths : IReturn>
{
}
@@ -22,64 +23,74 @@ namespace MediaBrowser.Api.Library
/// Class GetItemTypes
///
[Route("/Library/ItemTypes", "GET")]
+ [ServiceStack.ServiceHost.Api(Description = "Gets a list of BaseItem types")]
public class GetItemTypes : IReturn>
{
///
/// Gets or sets a value indicating whether this instance has internet provider.
///
/// true if this instance has internet provider; otherwise, false.
+ [ApiMember(Name = "HasInternetProvider", Description = "Optional filter by item types that have internet providers", IsRequired = false, DataType = "boolean", ParameterType = "query", Verb = "GET")]
public bool HasInternetProvider { get; set; }
}
///
/// Class GetPerson
///
- [Route("/Library/Persons/{Name}", "GET")]
+ [Route("/Persons/{Name}", "GET")]
+ [ServiceStack.ServiceHost.Api(Description = "Gets a person, by name")]
public class GetPerson : IReturn
{
///
/// Gets or sets the name.
///
/// The name.
+ [ApiMember(Name = "Name", Description = "The person name", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
public string Name { get; set; }
}
///
/// Class GetStudio
///
- [Route("/Library/Studios/{Name}", "GET")]
+ [Route("/Studios/{Name}", "GET")]
+ [ServiceStack.ServiceHost.Api(Description = "Gets a studio, by name")]
public class GetStudio : IReturn
{
///
/// Gets or sets the name.
///
/// The name.
+ [ApiMember(Name = "Name", Description = "The studio name", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
public string Name { get; set; }
}
///
/// Class GetGenre
///
- [Route("/Library/Genres/{Name}", "GET")]
+ [Route("/Genres/{Name}", "GET")]
+ [ServiceStack.ServiceHost.Api(Description = "Gets a genre, by name")]
public class GetGenre : IReturn
{
///
/// Gets or sets the name.
///
/// The name.
+ [ApiMember(Name = "Name", Description = "The genre name", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
public string Name { get; set; }
}
///
/// Class GetYear
///
- [Route("/Library/Years/{Year}", "GET")]
+ [Route("/Years/{Year}", "GET")]
+ [ServiceStack.ServiceHost.Api(Description = "Gets a year")]
public class GetYear : IReturn
{
///
/// Gets or sets the year.
///
/// The year.
+ [ApiMember(Name = "Year", Description = "The year", IsRequired = true, DataType = "int", ParameterType = "path", Verb = "GET")]
public int Year { get; set; }
}
diff --git a/MediaBrowser.Api/ScheduledTasks/ScheduledTaskService.cs b/MediaBrowser.Api/ScheduledTasks/ScheduledTaskService.cs
index 5117dc7ac8..204610cddf 100644
--- a/MediaBrowser.Api/ScheduledTasks/ScheduledTaskService.cs
+++ b/MediaBrowser.Api/ScheduledTasks/ScheduledTaskService.cs
@@ -1,13 +1,11 @@
using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.ScheduledTasks;
-using MediaBrowser.Model.Serialization;
using MediaBrowser.Model.Tasks;
using MediaBrowser.Server.Implementations.HttpServer;
using ServiceStack.ServiceHost;
using ServiceStack.Text.Controller;
using System;
using System.Collections.Generic;
-using System.IO;
using System.Linq;
namespace MediaBrowser.Api.ScheduledTasks
@@ -16,12 +14,14 @@ namespace MediaBrowser.Api.ScheduledTasks
/// Class GetScheduledTask
///
[Route("/ScheduledTasks/{Id}", "GET")]
+ [ServiceStack.ServiceHost.Api(Description = "Gets a scheduled task, by Id")]
public class GetScheduledTask : IReturn
{
///
/// Gets or sets the id.
///
/// The id.
+ [ApiMember(Name = "Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
public Guid Id { get; set; }
}
@@ -29,6 +29,7 @@ namespace MediaBrowser.Api.ScheduledTasks
/// Class GetScheduledTasks
///
[Route("/ScheduledTasks", "GET")]
+ [ServiceStack.ServiceHost.Api(Description = "Gets scheduled tasks")]
public class GetScheduledTasks : IReturn>
{
@@ -38,12 +39,14 @@ namespace MediaBrowser.Api.ScheduledTasks
/// Class StartScheduledTask
///
[Route("/ScheduledTasks/Running/{Id}", "POST")]
+ [ServiceStack.ServiceHost.Api(Description = "Starts a scheduled task")]
public class StartScheduledTask : IReturnVoid
{
///
/// Gets or sets the id.
///
/// The id.
+ [ApiMember(Name = "Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")]
public Guid Id { get; set; }
}
@@ -51,12 +54,14 @@ namespace MediaBrowser.Api.ScheduledTasks
/// Class StopScheduledTask
///
[Route("/ScheduledTasks/Running/{Id}", "DELETE")]
+ [ServiceStack.ServiceHost.Api(Description = "Stops a scheduled task")]
public class StopScheduledTask : IReturnVoid
{
///
/// Gets or sets the id.
///
/// The id.
+ [ApiMember(Name = "Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "DELETE")]
public Guid Id { get; set; }
}
@@ -64,12 +69,14 @@ namespace MediaBrowser.Api.ScheduledTasks
/// Class UpdateScheduledTaskTriggers
///
[Route("/ScheduledTasks/{Id}/Triggers", "POST")]
+ [ServiceStack.ServiceHost.Api(Description = "Updates the triggers for a scheduled task")]
public class UpdateScheduledTaskTriggers : List, IReturnVoid
{
///
/// Gets or sets the task id.
///
/// The task id.
+ [ApiMember(Name = "Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")]
public Guid Id { get; set; }
}
diff --git a/MediaBrowser.Api/UserService.cs b/MediaBrowser.Api/UserService.cs
index bcc3a61e0e..b44c38b30f 100644
--- a/MediaBrowser.Api/UserService.cs
+++ b/MediaBrowser.Api/UserService.cs
@@ -16,6 +16,7 @@ namespace MediaBrowser.Api
/// Class GetUsers
///
[Route("/Users", "GET")]
+ [ServiceStack.ServiceHost.Api(Description = "Gets a list of users")]
public class GetUsers : IReturn>
{
}
diff --git a/MediaBrowser.Model/DTO/BaseItemDto.cs b/MediaBrowser.Model/DTO/BaseItemDto.cs
index 4440e9bf60..971b0bde74 100644
--- a/MediaBrowser.Model/DTO/BaseItemDto.cs
+++ b/MediaBrowser.Model/DTO/BaseItemDto.cs
@@ -558,6 +558,7 @@ namespace MediaBrowser.Model.Dto
/// Gets a value indicating whether this instance has menu image.
///
/// true if this instance has menu image; otherwise, false.
+ [IgnoreDataMember]
public bool HasMenuImage
{
get { return ImageTags != null && ImageTags.ContainsKey(ImageType.Menu); }
diff --git a/Nuget/MediaBrowser.Common.Internal.nuspec b/Nuget/MediaBrowser.Common.Internal.nuspec
index 3a0bb58b0d..bdeb9f44d3 100644
--- a/Nuget/MediaBrowser.Common.Internal.nuspec
+++ b/Nuget/MediaBrowser.Common.Internal.nuspec
@@ -2,7 +2,7 @@
MediaBrowser.Common.Internal
- 3.0.38
+ 3.0.39
MediaBrowser.Common.Internal
Luke
ebr,Luke,scottisafool
@@ -12,7 +12,7 @@
Contains common components shared by Media Browser Theatre and Media Browser Server. Not intended for plugin developer consumption.
Copyright © Media Browser 2013
-
+
diff --git a/Nuget/MediaBrowser.Common.nuspec b/Nuget/MediaBrowser.Common.nuspec
index bc1c322c38..2adb92d470 100644
--- a/Nuget/MediaBrowser.Common.nuspec
+++ b/Nuget/MediaBrowser.Common.nuspec
@@ -2,7 +2,7 @@
MediaBrowser.Common
- 3.0.38
+ 3.0.39
MediaBrowser.Common
Media Browser Team
ebr,Luke,scottisafool
diff --git a/Nuget/MediaBrowser.Server.Core.nuspec b/Nuget/MediaBrowser.Server.Core.nuspec
index aea2128cce..0bef34f434 100644
--- a/Nuget/MediaBrowser.Server.Core.nuspec
+++ b/Nuget/MediaBrowser.Server.Core.nuspec
@@ -2,7 +2,7 @@
MediaBrowser.Server.Core
- 3.0.38
+ 3.0.39
Media Browser.Server.Core
Media Browser Team
ebr,Luke,scottisafool
@@ -12,7 +12,7 @@
Contains core components required to build plugins for Media Browser Server.
Copyright © Media Browser 2013
-
+