diff options
| -rw-r--r-- | MediaBrowser.Api/ApiEntryPoint.cs (renamed from MediaBrowser.Api/ServerEntryPoint.cs) | 8 | ||||
| -rw-r--r-- | MediaBrowser.Api/ApiService.cs | 24 | ||||
| -rw-r--r-- | MediaBrowser.Api/EnvironmentService.cs | 26 | ||||
| -rw-r--r-- | MediaBrowser.Api/Javascript/ApiClient.js | 6 | ||||
| -rw-r--r-- | MediaBrowser.Api/LocalizationService.cs | 3 | ||||
| -rw-r--r-- | MediaBrowser.Api/MediaBrowser.Api.csproj | 3 | ||||
| -rw-r--r-- | MediaBrowser.Api/PackageService.cs | 12 | ||||
| -rw-r--r-- | MediaBrowser.Api/Playback/BaseStreamingService.cs | 6 | ||||
| -rw-r--r-- | MediaBrowser.Api/Playback/Hls/BaseHlsService.cs | 4 | ||||
| -rw-r--r-- | MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs | 4 | ||||
| -rw-r--r-- | MediaBrowser.Api/Playback/Progressive/ProgressiveStreamWriter.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Api/PluginService.cs | 13 | ||||
| -rw-r--r-- | MediaBrowser.Api/SystemService.cs | 7 | ||||
| -rw-r--r-- | MediaBrowser.Api/UserService.cs | 26 | ||||
| -rw-r--r-- | MediaBrowser.ServerApplication/ApplicationHost.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.WebDashboard/Html/scripts/site.js | 2 |
16 files changed, 82 insertions, 66 deletions
diff --git a/MediaBrowser.Api/ServerEntryPoint.cs b/MediaBrowser.Api/ApiEntryPoint.cs index 663d1aeca..9003c7263 100644 --- a/MediaBrowser.Api/ServerEntryPoint.cs +++ b/MediaBrowser.Api/ApiEntryPoint.cs @@ -13,12 +13,12 @@ namespace MediaBrowser.Api /// <summary> /// Class ServerEntryPoint /// </summary> - public class ServerEntryPoint : IServerEntryPoint + public class ApiEntryPoint : IServerEntryPoint { /// <summary> /// The instance /// </summary> - public static ServerEntryPoint Instance; + public static ApiEntryPoint Instance; /// <summary> /// Gets or sets the logger. @@ -27,10 +27,10 @@ namespace MediaBrowser.Api private ILogger Logger { get; set; } /// <summary> - /// Initializes a new instance of the <see cref="ServerEntryPoint" /> class. + /// Initializes a new instance of the <see cref="ApiEntryPoint" /> class. /// </summary> /// <param name="logger">The logger.</param> - public ServerEntryPoint(ILogger logger) + public ApiEntryPoint(ILogger logger) { Logger = logger; diff --git a/MediaBrowser.Api/ApiService.cs b/MediaBrowser.Api/ApiService.cs deleted file mode 100644 index 33ea492e0..000000000 --- a/MediaBrowser.Api/ApiService.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; -using System.Net; - -namespace MediaBrowser.Api -{ - /// <summary> - /// Contains some helpers for the api - /// </summary> - public static class ApiService - { - /// <summary> - /// Determines whether [is API URL match] [the specified URL]. - /// </summary> - /// <param name="url">The URL.</param> - /// <param name="request">The request.</param> - /// <returns><c>true</c> if [is API URL match] [the specified URL]; otherwise, <c>false</c>.</returns> - public static bool IsApiUrlMatch(string url, HttpListenerRequest request) - { - url = "/api/" + url; - - return request.Url.LocalPath.EndsWith(url, StringComparison.OrdinalIgnoreCase); - } - } -} diff --git a/MediaBrowser.Api/EnvironmentService.cs b/MediaBrowser.Api/EnvironmentService.cs index 6296711ed..dfa5eee42 100644 --- a/MediaBrowser.Api/EnvironmentService.cs +++ b/MediaBrowser.Api/EnvironmentService.cs @@ -16,34 +16,49 @@ namespace MediaBrowser.Api /// Class GetDirectoryContents /// </summary> [Route("/Environment/DirectoryContents", "GET")] + [ServiceStack.ServiceHost.Api(Description = "Gets the contents of a given directory in the file system")] public class GetDirectoryContents : IReturn<List<FileSystemEntryInfo>> { /// <summary> /// Gets or sets the path. /// </summary> /// <value>The path.</value> + [ApiMember(Name = "Path", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "GET")] public string Path { get; set; } + /// <summary> /// Gets or sets a value indicating whether [include files]. /// </summary> /// <value><c>true</c> if [include files]; otherwise, <c>false</c>.</value> + [ApiMember(Name = "IncludeFiles", Description = "An optional filter to include or exclude files from the results.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")] public bool IncludeFiles { get; set; } + /// <summary> /// Gets or sets a value indicating whether [include directories]. /// </summary> /// <value><c>true</c> if [include directories]; otherwise, <c>false</c>.</value> + [ApiMember(Name = "IncludeDirectories", Description = "An optional filter to include or exclude folders from the results.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")] public bool IncludeDirectories { get; set; } + /// <summary> /// Gets or sets a value indicating whether [include hidden]. /// </summary> /// <value><c>true</c> if [include hidden]; otherwise, <c>false</c>.</value> + [ApiMember(Name = "IncludeHidden", Description = "An optional filter to include or exclude hidden files and folders.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")] public bool IncludeHidden { get; set; } + + public GetDirectoryContents() + { + IncludeDirectories = true; + IncludeFiles = true; + } } /// <summary> /// Class GetDrives /// </summary> [Route("/Environment/Drives", "GET")] + [ServiceStack.ServiceHost.Api(Description = "Gets available drives from the server's file system")] public class GetDrives : IReturn<List<FileSystemEntryInfo>> { } @@ -51,8 +66,9 @@ namespace MediaBrowser.Api /// <summary> /// Class GetNetworkComputers /// </summary> - [Route("/Environment/NetworkComputers", "GET")] - public class GetNetworkComputers : IReturn<List<FileSystemEntryInfo>> + [Route("/Environment/NetworkDevices", "GET")] + [ServiceStack.ServiceHost.Api(Description = "Gets a list of devices on the network")] + public class GetNetworkDevices : IReturn<List<FileSystemEntryInfo>> { } @@ -128,9 +144,9 @@ namespace MediaBrowser.Api /// </summary> /// <param name="request">The request.</param> /// <returns>System.Object.</returns> - public object Get(GetNetworkComputers request) + public object Get(GetNetworkDevices request) { - var result = GetNetworkComputers().ToList(); + var result = GetNetworkDevices().ToList(); return ToOptimizedResult(result); } @@ -155,7 +171,7 @@ namespace MediaBrowser.Api /// Gets the network computers. /// </summary> /// <returns>IEnumerable{FileSystemEntryInfo}.</returns> - private IEnumerable<FileSystemEntryInfo> GetNetworkComputers() + private IEnumerable<FileSystemEntryInfo> GetNetworkDevices() { return _networkManager.GetNetworkDevices().Select(c => new FileSystemEntryInfo { diff --git a/MediaBrowser.Api/Javascript/ApiClient.js b/MediaBrowser.Api/Javascript/ApiClient.js index 08082c389..9a4220eac 100644 --- a/MediaBrowser.Api/Javascript/ApiClient.js +++ b/MediaBrowser.Api/Javascript/ApiClient.js @@ -194,11 +194,11 @@ var ApiClient = { }, /** - * Gets a list of network computers from the server + * Gets a list of network devices from the server */ - getNetworkComputers: function () { + getNetworkDevices: function () { - var url = ApiClient.getUrl("Environment/NetworkComputers"); + var url = ApiClient.getUrl("Environment/NetworkDevices"); return $.getJSON(url); }, diff --git a/MediaBrowser.Api/LocalizationService.cs b/MediaBrowser.Api/LocalizationService.cs index 1493e8e44..ed5de7683 100644 --- a/MediaBrowser.Api/LocalizationService.cs +++ b/MediaBrowser.Api/LocalizationService.cs @@ -14,6 +14,7 @@ namespace MediaBrowser.Api /// Class GetCultures /// </summary> [Route("/Localization/Cultures", "GET")] + [ServiceStack.ServiceHost.Api(Description = "Gets known cultures")] public class GetCultures : IReturn<List<CultureDto>> { } @@ -22,6 +23,7 @@ namespace MediaBrowser.Api /// Class GetCountries /// </summary> [Route("/Localization/Countries", "GET")] + [ServiceStack.ServiceHost.Api(Description = "Gets known countries")] public class GetCountries : IReturn<List<CountryInfo>> { } @@ -30,6 +32,7 @@ namespace MediaBrowser.Api /// Class ParentalRatings /// </summary> [Route("/Localization/ParentalRatings", "GET")] + [ServiceStack.ServiceHost.Api(Description = "Gets known parental ratings")] public class GetParentalRatings : IReturn<List<ParentalRating>> { } diff --git a/MediaBrowser.Api/MediaBrowser.Api.csproj b/MediaBrowser.Api/MediaBrowser.Api.csproj index 5cedbf85f..8444dc46c 100644 --- a/MediaBrowser.Api/MediaBrowser.Api.csproj +++ b/MediaBrowser.Api/MediaBrowser.Api.csproj @@ -81,7 +81,6 @@ <Compile Include="..\SharedVersion.cs"> <Link>Properties\SharedVersion.cs</Link> </Compile> - <Compile Include="ApiService.cs" /> <Compile Include="EnvironmentService.cs" /> <Compile Include="Images\ImageRequest.cs" /> <Compile Include="Images\ImageService.cs" /> @@ -105,7 +104,7 @@ <Compile Include="PluginService.cs" /> <Compile Include="ScheduledTasks\ScheduledTaskService.cs" /> <Compile Include="ScheduledTasks\ScheduledTasksWebSocketListener.cs" /> - <Compile Include="ServerEntryPoint.cs" /> + <Compile Include="ApiEntryPoint.cs" /> <Compile Include="SystemService.cs" /> <Compile Include="UserLibrary\BaseItemsByNameService.cs" /> <Compile Include="UserLibrary\GenresService.cs" /> diff --git a/MediaBrowser.Api/PackageService.cs b/MediaBrowser.Api/PackageService.cs index e8ff02539..b09830c54 100644 --- a/MediaBrowser.Api/PackageService.cs +++ b/MediaBrowser.Api/PackageService.cs @@ -16,12 +16,14 @@ namespace MediaBrowser.Api /// Class GetPackage /// </summary> [Route("/Packages/{Name}", "GET")] + [ServiceStack.ServiceHost.Api(("Gets a package, by name"))] public class GetPackage : IReturn<PackageInfo> { /// <summary> /// Gets or sets the name. /// </summary> /// <value>The name.</value> + [ApiMember(Name = "Name", Description = "The name of the package", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")] public string Name { get; set; } } @@ -29,12 +31,14 @@ namespace MediaBrowser.Api /// Class GetPackages /// </summary> [Route("/Packages", "GET")] + [ServiceStack.ServiceHost.Api(("Gets available packages"))] public class GetPackages : IReturn<List<PackageInfo>> { /// <summary> /// Gets or sets the name. /// </summary> /// <value>The name.</value> + [ApiMember(Name = "PackageType", Description = "Optional package type filter (System/UserInstalled)", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")] public PackageType? PackageType { get; set; } } @@ -42,12 +46,14 @@ namespace MediaBrowser.Api /// Class GetPackageVersionUpdates /// </summary> [Route("/Packages/Updates", "GET")] + [ServiceStack.ServiceHost.Api(("Gets available package updates for currently installed packages"))] public class GetPackageVersionUpdates : IReturn<List<PackageVersionInfo>> { /// <summary> /// Gets or sets the name. /// </summary> /// <value>The name.</value> + [ApiMember(Name = "PackageType", Description = "Package type filter (System/UserInstalled)", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "GET")] public PackageType PackageType { get; set; } } @@ -55,24 +61,28 @@ namespace MediaBrowser.Api /// Class InstallPackage /// </summary> [Route("/Packages/Installed/{Name}", "POST")] + [ServiceStack.ServiceHost.Api(("Installs a package"))] public class InstallPackage : IReturnVoid { /// <summary> /// Gets or sets the name. /// </summary> /// <value>The name.</value> + [ApiMember(Name = "Name", Description = "Package name", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] public string Name { get; set; } /// <summary> /// Gets or sets the version. /// </summary> /// <value>The version.</value> + [ApiMember(Name = "Version", Description = "Optional version. Defaults to latest version.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "POST")] public string Version { get; set; } /// <summary> /// Gets or sets the update class. /// </summary> /// <value>The update class.</value> + [ApiMember(Name = "UpdateClass", Description = "Optional update class (Dev, Beta, Release). Defaults to Release.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "POST")] public PackageVersionClass UpdateClass { get; set; } } @@ -80,12 +90,14 @@ namespace MediaBrowser.Api /// Class CancelPackageInstallation /// </summary> [Route("/Packages/Installing/{Id}", "DELETE")] + [ServiceStack.ServiceHost.Api(("Cancels a package installation"))] public class CancelPackageInstallation : IReturnVoid { /// <summary> /// Gets or sets the id. /// </summary> /// <value>The id.</value> + [ApiMember(Name = "Id", Description = "Installation Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "DELETE")] public Guid Id { get; set; } } diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs index 012a55363..bc07f93de 100644 --- a/MediaBrowser.Api/Playback/BaseStreamingService.cs +++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs @@ -516,7 +516,7 @@ namespace MediaBrowser.Api.Playback EnableRaisingEvents = true }; - ServerEntryPoint.Instance.OnTranscodeBeginning(outputPath, TranscodingJobType, process); + ApiEntryPoint.Instance.OnTranscodeBeginning(outputPath, TranscodingJobType, process); Logger.Info(process.StartInfo.FileName + " " + process.StartInfo.Arguments); @@ -535,7 +535,7 @@ namespace MediaBrowser.Api.Playback { Logger.ErrorException("Error starting ffmpeg", ex); - ServerEntryPoint.Instance.OnTranscodeFailedToStart(outputPath, TranscodingJobType); + ApiEntryPoint.Instance.OnTranscodeFailedToStart(outputPath, TranscodingJobType); state.LogFileStream.Dispose(); @@ -586,7 +586,7 @@ namespace MediaBrowser.Api.Playback process.Dispose(); - ServerEntryPoint.Instance.OnTranscodingFinished(outputFilePath, TranscodingJobType); + ApiEntryPoint.Instance.OnTranscodingFinished(outputFilePath, TranscodingJobType); if (!exitCode.HasValue || exitCode.Value != 0) { diff --git a/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs b/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs index f73109dd0..6a303a03e 100644 --- a/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs +++ b/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs @@ -77,7 +77,7 @@ namespace MediaBrowser.Api.Playback.Hls } else { - ServerEntryPoint.Instance.OnTranscodeBeginRequest(playlist, TranscodingJobType.Hls); + ApiEntryPoint.Instance.OnTranscodeBeginRequest(playlist, TranscodingJobType.Hls); } // Get the current playlist text and convert to bytes @@ -94,7 +94,7 @@ namespace MediaBrowser.Api.Playback.Hls } finally { - ServerEntryPoint.Instance.OnTranscodeEndRequest(playlist, TranscodingJobType.Hls); + ApiEntryPoint.Instance.OnTranscodeEndRequest(playlist, TranscodingJobType.Hls); } } diff --git a/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs b/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs index eba8decf2..c2cdf1f9b 100644 --- a/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs +++ b/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs @@ -104,7 +104,7 @@ namespace MediaBrowser.Api.Playback.Progressive var outputPath = GetOutputFilePath(state); - if (File.Exists(outputPath) && !ServerEntryPoint.Instance.HasActiveTranscodingJob(outputPath, TranscodingJobType.Progressive)) + if (File.Exists(outputPath) && !ApiEntryPoint.Instance.HasActiveTranscodingJob(outputPath, TranscodingJobType.Progressive)) { return ToStaticFileResult(outputPath); } @@ -130,7 +130,7 @@ namespace MediaBrowser.Api.Playback.Progressive } else { - ServerEntryPoint.Instance.OnTranscodeBeginRequest(outputPath, TranscodingJobType.Progressive); + ApiEntryPoint.Instance.OnTranscodeBeginRequest(outputPath, TranscodingJobType.Progressive); } return new ProgressiveStreamWriter diff --git a/MediaBrowser.Api/Playback/Progressive/ProgressiveStreamWriter.cs b/MediaBrowser.Api/Playback/Progressive/ProgressiveStreamWriter.cs index b6b73c78d..e9e134002 100644 --- a/MediaBrowser.Api/Playback/Progressive/ProgressiveStreamWriter.cs +++ b/MediaBrowser.Api/Playback/Progressive/ProgressiveStreamWriter.cs @@ -41,7 +41,7 @@ namespace MediaBrowser.Api.Playback.Progressive } finally { - ServerEntryPoint.Instance.OnTranscodeEndRequest(Path, TranscodingJobType.Progressive); + ApiEntryPoint.Instance.OnTranscodeEndRequest(Path, TranscodingJobType.Progressive); } } diff --git a/MediaBrowser.Api/PluginService.cs b/MediaBrowser.Api/PluginService.cs index 847478beb..3f4146020 100644 --- a/MediaBrowser.Api/PluginService.cs +++ b/MediaBrowser.Api/PluginService.cs @@ -19,6 +19,7 @@ namespace MediaBrowser.Api /// Class Plugins /// </summary> [Route("/Plugins", "GET")] + [ServiceStack.ServiceHost.Api(("Gets a list of currently installed plugins"))] public class GetPlugins : IReturn<List<PluginInfo>> { } @@ -27,12 +28,14 @@ namespace MediaBrowser.Api /// Class GetPluginAssembly /// </summary> [Route("/Plugins/{Id}/Assembly", "GET")] + [ServiceStack.ServiceHost.Api(("Gets a plugin assembly file"))] public class GetPluginAssembly { /// <summary> /// Gets or sets the id. /// </summary> /// <value>The id.</value> + [ApiMember(Name = "Id", Description = "Plugin Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")] public Guid Id { get; set; } } @@ -40,12 +43,14 @@ namespace MediaBrowser.Api /// Class UninstallPlugin /// </summary> [Route("/Plugins/{Id}", "DELETE")] + [ServiceStack.ServiceHost.Api(("Uninstalls a plugin"))] public class UninstallPlugin : IReturnVoid { /// <summary> /// Gets or sets the id. /// </summary> /// <value>The id.</value> + [ApiMember(Name = "Id", Description = "Plugin Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "DELETE")] public Guid Id { get; set; } } @@ -53,12 +58,14 @@ namespace MediaBrowser.Api /// Class GetPluginConfiguration /// </summary> [Route("/Plugins/{Id}/Configuration", "GET")] + [ServiceStack.ServiceHost.Api(("Gets a plugin's configuration"))] public class GetPluginConfiguration { /// <summary> /// Gets or sets the id. /// </summary> /// <value>The id.</value> + [ApiMember(Name = "Id", Description = "Plugin Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")] public Guid Id { get; set; } } @@ -66,12 +73,14 @@ namespace MediaBrowser.Api /// Class UpdatePluginConfiguration /// </summary> [Route("/Plugins/{Id}/Configuration", "POST")] + [ServiceStack.ServiceHost.Api(("Updates a plugin's configuration"))] public class UpdatePluginConfiguration : IRequiresRequestStream, IReturnVoid { /// <summary> /// Gets or sets the id. /// </summary> /// <value>The id.</value> + [ApiMember(Name = "Id", Description = "Plugin Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] public Guid Id { get; set; } /// <summary> @@ -85,12 +94,14 @@ namespace MediaBrowser.Api /// Class GetPluginConfigurationFile /// </summary> [Route("/Plugins/{Id}/ConfigurationFile", "GET")] + [ServiceStack.ServiceHost.Api(("Gets a plugin's configuration file, in plain text"))] public class GetPluginConfigurationFile { /// <summary> /// Gets or sets the id. /// </summary> /// <value>The id.</value> + [ApiMember(Name = "Id", Description = "Plugin Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")] public Guid Id { get; set; } } @@ -98,6 +109,7 @@ namespace MediaBrowser.Api /// Class GetPluginSecurityInfo /// </summary> [Route("/Plugins/SecurityInfo", "GET")] + [ServiceStack.ServiceHost.Api(("Gets plugin registration information"))] public class GetPluginSecurityInfo : IReturn<PluginSecurityInfo> { } @@ -106,6 +118,7 @@ namespace MediaBrowser.Api /// Class UpdatePluginSecurityInfo /// </summary> [Route("/Plugins/SecurityInfo", "POST")] + [ServiceStack.ServiceHost.Api(("Updates plugin registration information"))] public class UpdatePluginSecurityInfo : PluginSecurityInfo, IReturnVoid { } diff --git a/MediaBrowser.Api/SystemService.cs b/MediaBrowser.Api/SystemService.cs index 3fdf621c0..a0137652e 100644 --- a/MediaBrowser.Api/SystemService.cs +++ b/MediaBrowser.Api/SystemService.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Common; -using MediaBrowser.Common.Extensions; +using MediaBrowser.Common.Extensions; using MediaBrowser.Controller; using MediaBrowser.Controller.Configuration; using MediaBrowser.Model.Configuration; @@ -17,6 +16,7 @@ namespace MediaBrowser.Api /// Class GetSystemInfo /// </summary> [Route("/System/Info", "GET")] + [ServiceStack.ServiceHost.Api(Description = "Gets information about the server")] public class GetSystemInfo : IReturn<SystemInfo> { @@ -32,6 +32,7 @@ namespace MediaBrowser.Api } [Route("/System/Shutdown", "POST")] + [ServiceStack.ServiceHost.Api(("Shuts down the application"))] public class ShutdownApplication { } @@ -40,6 +41,7 @@ namespace MediaBrowser.Api /// Class GetConfiguration /// </summary> [Route("/System/Configuration", "GET")] + [ServiceStack.ServiceHost.Api(("Gets application configuration"))] public class GetConfiguration : IReturn<ServerConfiguration> { @@ -49,6 +51,7 @@ namespace MediaBrowser.Api /// Class UpdateConfiguration /// </summary> [Route("/System/Configuration", "POST")] + [ServiceStack.ServiceHost.Api(("Updates application configuration"))] public class UpdateConfiguration : ServerConfiguration, IReturnVoid { } diff --git a/MediaBrowser.Api/UserService.cs b/MediaBrowser.Api/UserService.cs index 0eecad652..bcc3a61e0 100644 --- a/MediaBrowser.Api/UserService.cs +++ b/MediaBrowser.Api/UserService.cs @@ -24,6 +24,7 @@ namespace MediaBrowser.Api /// Class GetUser /// </summary> [Route("/Users/{Id}", "GET")] + [ServiceStack.ServiceHost.Api(Description = "Gets a user by Id")] public class GetUser : IReturn<UserDto> { /// <summary> @@ -38,13 +39,14 @@ namespace MediaBrowser.Api /// Class DeleteUser /// </summary> [Route("/Users/{Id}", "DELETE")] + [ServiceStack.ServiceHost.Api(Description = "Deletes a user")] public class DeleteUser : IReturnVoid { /// <summary> /// Gets or sets the id. /// </summary> /// <value>The id.</value> - [ApiMember(Name = "User Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")] + [ApiMember(Name = "User Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "DELETE")] public Guid Id { get; set; } } @@ -52,20 +54,21 @@ namespace MediaBrowser.Api /// Class AuthenticateUser /// </summary> [Route("/Users/{Id}/Authenticate", "POST")] + [ServiceStack.ServiceHost.Api(Description = "Authenticates a user")] public class AuthenticateUser : IReturnVoid { /// <summary> /// Gets or sets the id. /// </summary> /// <value>The id.</value> - [ApiMember(Name = "User Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")] + [ApiMember(Name = "User Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] public Guid Id { get; set; } /// <summary> /// Gets or sets the password. /// </summary> /// <value>The password.</value> - [ApiMember(Name = "Password", IsRequired = true, DataType = "string", ParameterType = "body", Verb = "GET")] + [ApiMember(Name = "Password", IsRequired = true, DataType = "string", ParameterType = "body", Verb = "POST")] public string Password { get; set; } } @@ -73,6 +76,7 @@ namespace MediaBrowser.Api /// Class UpdateUserPassword /// </summary> [Route("/Users/{Id}/Password", "POST")] + [ServiceStack.ServiceHost.Api(Description = "Updates a user's password")] public class UpdateUserPassword : IReturnVoid { /// <summary> @@ -104,6 +108,7 @@ namespace MediaBrowser.Api /// Class UpdateUser /// </summary> [Route("/Users/{Id}", "POST")] + [ServiceStack.ServiceHost.Api(Description = "Updates a user")] public class UpdateUser : UserDto, IReturnVoid { } @@ -112,6 +117,7 @@ namespace MediaBrowser.Api /// Class CreateUser /// </summary> [Route("/Users", "POST")] + [ServiceStack.ServiceHost.Api(Description = "Creates a user")] public class CreateUser : UserDto, IReturn<UserDto> { } @@ -127,11 +133,6 @@ namespace MediaBrowser.Api private readonly IXmlSerializer _xmlSerializer; /// <summary> - /// The _json serializer - /// </summary> - private readonly IJsonSerializer _jsonSerializer; - - /// <summary> /// The _user manager /// </summary> private readonly IUserManager _userManager; @@ -140,22 +141,15 @@ namespace MediaBrowser.Api /// Initializes a new instance of the <see cref="UserService" /> class. /// </summary> /// <param name="xmlSerializer">The XML serializer.</param> - /// <param name="jsonSerializer">The json serializer.</param> /// <exception cref="System.ArgumentNullException">xmlSerializer</exception> - public UserService(IXmlSerializer xmlSerializer, IJsonSerializer jsonSerializer, IUserManager userManager) + public UserService(IXmlSerializer xmlSerializer, IUserManager userManager) : base() { - if (jsonSerializer == null) - { - throw new ArgumentNullException("jsonSerializer"); - } - if (xmlSerializer == null) { throw new ArgumentNullException("xmlSerializer"); } - _jsonSerializer = jsonSerializer; _xmlSerializer = xmlSerializer; _userManager = userManager; } diff --git a/MediaBrowser.ServerApplication/ApplicationHost.cs b/MediaBrowser.ServerApplication/ApplicationHost.cs index 179a2e240..c822aae84 100644 --- a/MediaBrowser.ServerApplication/ApplicationHost.cs +++ b/MediaBrowser.ServerApplication/ApplicationHost.cs @@ -295,7 +295,7 @@ namespace MediaBrowser.ServerApplication } // Include composable parts in the Api assembly - yield return typeof(ApiService).Assembly; + yield return typeof(ApiEntryPoint).Assembly; // Include composable parts in the Dashboard assembly yield return typeof(DashboardInfo).Assembly; diff --git a/MediaBrowser.WebDashboard/Html/scripts/site.js b/MediaBrowser.WebDashboard/Html/scripts/site.js index 94e3390d3..d2c9526ed 100644 --- a/MediaBrowser.WebDashboard/Html/scripts/site.js +++ b/MediaBrowser.WebDashboard/Html/scripts/site.js @@ -574,7 +574,7 @@ var Dashboard = { var promise;
if (path === "Network") {
- promise = ApiClient.getNetworkComputers();
+ promise = ApiClient.getNetworkDevices();
}
else if (path) {
promise = ApiClient.getDirectoryContents(path, { includeDirectories: true });
|
