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 - +