aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukePulverenti <luke.pulverenti@gmail.com>2013-03-04 22:34:02 -0500
committerLukePulverenti <luke.pulverenti@gmail.com>2013-03-04 22:34:02 -0500
commit4c725e69a8bb96da1f69fc3d958c680b77712f81 (patch)
treef3c401132177e5f88c029fc1400866f8e6d31737
parent32ba557fe5293001b6c89d522e44ee92362a6390 (diff)
added swagger api docs
-rw-r--r--MediaBrowser.Common.Implementations/HttpServer/SwaggerService.cs38
-rw-r--r--MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj53
-rw-r--r--MediaBrowser.Common.Implementations/swagger-ui/index.html2
-rw-r--r--MediaBrowser.Controller/MediaBrowser.Controller.csproj1
-rw-r--r--MediaBrowser.Server.Implementations/Library/LibraryManager.cs1
-rw-r--r--MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj7
-rw-r--r--MediaBrowser.Server.Implementations/ScheduledTasks/ChapterImagesTask.cs (renamed from MediaBrowser.Server.Implementations/ScheduledTasks/Tasks/ChapterImagesTask.cs)2
-rw-r--r--MediaBrowser.Server.Implementations/ScheduledTasks/ImageCleanupTask.cs (renamed from MediaBrowser.Server.Implementations/ScheduledTasks/Tasks/ImageCleanupTask.cs)2
-rw-r--r--MediaBrowser.Server.Implementations/ScheduledTasks/PeopleValidationTask.cs (renamed from MediaBrowser.Controller/ScheduledTasks/PeopleValidationTask.cs)2
-rw-r--r--MediaBrowser.Server.Implementations/ScheduledTasks/PluginUpdateTask.cs (renamed from MediaBrowser.Server.Implementations/ScheduledTasks/Tasks/PluginUpdateTask.cs)3
-rw-r--r--MediaBrowser.ServerApplication/MainWindow.xaml7
-rw-r--r--MediaBrowser.ServerApplication/MainWindow.xaml.cs6
-rw-r--r--MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj3
-rw-r--r--MediaBrowser.WebDashboard/Html/css/images/clients/dlna.pngbin2914 -> 2071 bytes
-rw-r--r--MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj1
15 files changed, 105 insertions, 23 deletions
diff --git a/MediaBrowser.Common.Implementations/HttpServer/SwaggerService.cs b/MediaBrowser.Common.Implementations/HttpServer/SwaggerService.cs
new file mode 100644
index 000000000..a4808834d
--- /dev/null
+++ b/MediaBrowser.Common.Implementations/HttpServer/SwaggerService.cs
@@ -0,0 +1,38 @@
+using ServiceStack.ServiceHost;
+using System.Diagnostics;
+using System.IO;
+
+namespace MediaBrowser.Common.Implementations.HttpServer
+{
+ /// <summary>
+ /// Class GetDashboardResource
+ /// </summary>
+ [Route("/swagger-ui/{ResourceName*}", "GET")]
+ public class GetSwaggerResource
+ {
+ /// <summary>
+ /// Gets or sets the name.
+ /// </summary>
+ /// <value>The name.</value>
+ public string ResourceName { get; set; }
+ }
+
+ public class SwaggerService : BaseRestService
+ {
+ /// <summary>
+ /// Gets the specified request.
+ /// </summary>
+ /// <param name="request">The request.</param>
+ /// <returns>System.Object.</returns>
+ public object Get(GetSwaggerResource request)
+ {
+ var runningDirectory = Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName);
+
+ var swaggerDirectory = Path.Combine(runningDirectory, "swagger-ui");
+
+ var requestedFile = Path.Combine(swaggerDirectory, request.ResourceName.Replace('/', '\\'));
+
+ return ToStaticFileResult(requestedFile);
+ }
+ }
+}
diff --git a/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj b/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj
index bbbf9490e..2f3ebdf19 100644
--- a/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj
+++ b/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj
@@ -122,6 +122,7 @@
<Compile Include="HttpServer\NativeWebSocket.cs" />
<Compile Include="HttpServer\ServerFactory.cs" />
<Compile Include="HttpServer\StreamWriter.cs" />
+ <Compile Include="HttpServer\SwaggerService.cs" />
<Compile Include="Logging\LogHelper.cs" />
<Compile Include="Logging\NLogger.cs" />
<Compile Include="Logging\NlogManager.cs" />
@@ -162,22 +163,48 @@
</ItemGroup>
<ItemGroup>
<Content Include="README.txt" />
- <Content Include="swagger-ui\css\screen.css" />
- <Content Include="swagger-ui\images\pet_store_api.png" />
- <Content Include="swagger-ui\images\wordnik_api.png" />
+ <Content Include="swagger-ui\css\screen.css">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
+ <Content Include="swagger-ui\images\pet_store_api.png">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
+ <Content Include="swagger-ui\images\wordnik_api.png">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
<Content Include="swagger-ui\index.html">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
- <Content Include="swagger-ui\lib\backbone-min.js" />
- <Content Include="swagger-ui\lib\handlebars.runtime-1.0.0.beta.6.js" />
- <Content Include="swagger-ui\lib\jquery.ba-bbq.min.js" />
- <Content Include="swagger-ui\lib\jquery.min.js" />
- <Content Include="swagger-ui\lib\jquery.slideto.min.js" />
- <Content Include="swagger-ui\lib\jquery.wiggle.min.js" />
- <Content Include="swagger-ui\lib\swagger.js" />
- <Content Include="swagger-ui\lib\underscore-min.js" />
- <Content Include="swagger-ui\swagger-ui.js" />
- <Content Include="swagger-ui\swagger-ui.min.js" />
+ <Content Include="swagger-ui\lib\backbone-min.js">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
+ <Content Include="swagger-ui\lib\handlebars.runtime-1.0.0.beta.6.js">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
+ <Content Include="swagger-ui\lib\jquery.ba-bbq.min.js">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
+ <Content Include="swagger-ui\lib\jquery.min.js">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
+ <Content Include="swagger-ui\lib\jquery.slideto.min.js">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
+ <Content Include="swagger-ui\lib\jquery.wiggle.min.js">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
+ <Content Include="swagger-ui\lib\swagger.js">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
+ <Content Include="swagger-ui\lib\underscore-min.js">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
+ <Content Include="swagger-ui\swagger-ui.js">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
+ <Content Include="swagger-ui\swagger-ui.min.js">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
diff --git a/MediaBrowser.Common.Implementations/swagger-ui/index.html b/MediaBrowser.Common.Implementations/swagger-ui/index.html
index 5d2a8d88d..0b2b02b10 100644
--- a/MediaBrowser.Common.Implementations/swagger-ui/index.html
+++ b/MediaBrowser.Common.Implementations/swagger-ui/index.html
@@ -42,7 +42,7 @@
<script type="text/javascript">
$(function () {
window.swaggerUi = new SwaggerUi({
- discoveryUrl:'../api/resources',
+ discoveryUrl:'../resources',
apiKey:"",
dom_id:"swagger-ui-container",
supportHeaderParams: false,
diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
index d44f003fe..0fc97b049 100644
--- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj
+++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
@@ -172,7 +172,6 @@
<Compile Include="Resolvers\EntityResolutionHelper.cs" />
<Compile Include="Resolvers\ResolverPriority.cs" />
<Compile Include="Library\TVUtils.cs" />
- <Compile Include="ScheduledTasks\PeopleValidationTask.cs" />
<Compile Include="ScheduledTasks\RefreshMediaLibraryTask.cs" />
<Compile Include="Library\ItemResolveArgs.cs" />
<Compile Include="IO\DirectoryWatchers.cs" />
diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
index c3c48f099..78ada1431 100644
--- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
@@ -12,6 +12,7 @@ using MediaBrowser.Controller.ScheduledTasks;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using MediaBrowser.Server.Implementations.Library.Resolvers;
+using MediaBrowser.Server.Implementations.ScheduledTasks;
using MoreLinq;
using System;
using System.Collections.Concurrent;
diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
index bf6046393..fbd6a96b2 100644
--- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
+++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
@@ -77,9 +77,10 @@
<Compile Include="Library\UserManager.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Reflection\TypeMapper.cs" />
- <Compile Include="ScheduledTasks\Tasks\ChapterImagesTask.cs" />
- <Compile Include="ScheduledTasks\Tasks\ImageCleanupTask.cs" />
- <Compile Include="ScheduledTasks\Tasks\PluginUpdateTask.cs" />
+ <Compile Include="ScheduledTasks\PeopleValidationTask.cs" />
+ <Compile Include="ScheduledTasks\ChapterImagesTask.cs" />
+ <Compile Include="ScheduledTasks\ImageCleanupTask.cs" />
+ <Compile Include="ScheduledTasks\PluginUpdateTask.cs" />
<Compile Include="ServerApplicationPaths.cs" />
<Compile Include="Sqlite\SQLiteDisplayPreferencesRepository.cs" />
<Compile Include="Sqlite\SQLiteExtensions.cs" />
diff --git a/MediaBrowser.Server.Implementations/ScheduledTasks/Tasks/ChapterImagesTask.cs b/MediaBrowser.Server.Implementations/ScheduledTasks/ChapterImagesTask.cs
index 3ad1f1700..6cae2f75b 100644
--- a/MediaBrowser.Server.Implementations/ScheduledTasks/Tasks/ChapterImagesTask.cs
+++ b/MediaBrowser.Server.Implementations/ScheduledTasks/ChapterImagesTask.cs
@@ -9,7 +9,7 @@ using System.Linq;
using System.Threading;
using System.Threading.Tasks;
-namespace MediaBrowser.Server.Implementations.ScheduledTasks.Tasks
+namespace MediaBrowser.Server.Implementations.ScheduledTasks
{
/// <summary>
/// Class ChapterImagesTask
diff --git a/MediaBrowser.Server.Implementations/ScheduledTasks/Tasks/ImageCleanupTask.cs b/MediaBrowser.Server.Implementations/ScheduledTasks/ImageCleanupTask.cs
index 939ba9317..8306e094b 100644
--- a/MediaBrowser.Server.Implementations/ScheduledTasks/Tasks/ImageCleanupTask.cs
+++ b/MediaBrowser.Server.Implementations/ScheduledTasks/ImageCleanupTask.cs
@@ -11,7 +11,7 @@ using System.Linq;
using System.Threading;
using System.Threading.Tasks;
-namespace MediaBrowser.Server.Implementations.ScheduledTasks.Tasks
+namespace MediaBrowser.Server.Implementations.ScheduledTasks
{
/// <summary>
/// Class ImageCleanupTask
diff --git a/MediaBrowser.Controller/ScheduledTasks/PeopleValidationTask.cs b/MediaBrowser.Server.Implementations/ScheduledTasks/PeopleValidationTask.cs
index 24e0c8542..6b8113480 100644
--- a/MediaBrowser.Controller/ScheduledTasks/PeopleValidationTask.cs
+++ b/MediaBrowser.Server.Implementations/ScheduledTasks/PeopleValidationTask.cs
@@ -5,7 +5,7 @@ using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
-namespace MediaBrowser.Controller.ScheduledTasks
+namespace MediaBrowser.Server.Implementations.ScheduledTasks
{
/// <summary>
/// Class PeopleValidationTask
diff --git a/MediaBrowser.Server.Implementations/ScheduledTasks/Tasks/PluginUpdateTask.cs b/MediaBrowser.Server.Implementations/ScheduledTasks/PluginUpdateTask.cs
index 01a045853..3ae3a727b 100644
--- a/MediaBrowser.Server.Implementations/ScheduledTasks/Tasks/PluginUpdateTask.cs
+++ b/MediaBrowser.Server.Implementations/ScheduledTasks/PluginUpdateTask.cs
@@ -1,4 +1,5 @@
using MediaBrowser.Common.ScheduledTasks;
+using MediaBrowser.Controller;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Net;
using System;
@@ -8,7 +9,7 @@ using System.Linq;
using System.Threading;
using System.Threading.Tasks;
-namespace MediaBrowser.Controller.ScheduledTasks
+namespace MediaBrowser.Server.Implementations.ScheduledTasks
{
/// <summary>
/// Plugin Update Task
diff --git a/MediaBrowser.ServerApplication/MainWindow.xaml b/MediaBrowser.ServerApplication/MainWindow.xaml
index 89b05820e..8ad2c2372 100644
--- a/MediaBrowser.ServerApplication/MainWindow.xaml
+++ b/MediaBrowser.ServerApplication/MainWindow.xaml
@@ -13,7 +13,12 @@
<Separator x:Name="separatorDeveloperTools"/>
<MenuItem x:Name="cmOpenExplorer" Header="Open Library Explorer" Click="cmOpenExplorer_click" />
<MenuItem x:Name="cmdReloadServer" Header="Restart Server" Click="cmdReloadServer_click" />
- <MenuItem x:Name="cmdApiDocs" Header="View Api Documentation" Click="cmdApiDocs_Click" />
+ <MenuItem x:Name="cmdApiDocs" Header="View Api Documentation">
+ <MenuItem x:Name="cmdStandardApiDocs" Header="Standard" Click="cmdApiDocs_Click">
+ </MenuItem>
+ <MenuItem x:Name="cmdSwaggerApiDocs" Header="Swagger" Click="cmdSwaggerApiDocs_Click">
+ </MenuItem>
+ </MenuItem>
<Separator/>
<MenuItem x:Name="cmShowLogWindow" Header="Show Log Window" IsCheckable="True" Click="CmShowLogWindow_click"/>
<MenuItem x:Name="cmVisitCT" Header="Visit Community" Click="cmVisitCT_click"/>
diff --git a/MediaBrowser.ServerApplication/MainWindow.xaml.cs b/MediaBrowser.ServerApplication/MainWindow.xaml.cs
index 22695602c..8306ec541 100644
--- a/MediaBrowser.ServerApplication/MainWindow.xaml.cs
+++ b/MediaBrowser.ServerApplication/MainWindow.xaml.cs
@@ -162,6 +162,12 @@ namespace MediaBrowser.ServerApplication
Kernel.Instance.WebApplicationName + "/metadata");
}
+ void cmdSwaggerApiDocs_Click(object sender, EventArgs e)
+ {
+ App.OpenUrl("http://localhost:" + _configurationManager.Configuration.HttpServerPortNumber + "/" +
+ Kernel.Instance.WebApplicationName + "/swagger-ui/index.html");
+ }
+
/// <summary>
/// Occurs when [property changed].
/// </summary>
diff --git a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj
index 4ca2c6f96..8cd92d148 100644
--- a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj
+++ b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj
@@ -375,6 +375,9 @@ xcopy "$(SolutionDir)Mediabrowser.Uninstaller\bin\Release\MediaBrowser.Uninstall
xcopy "$(SolutionDir)Mediabrowser.Uninstaller.Execute\bin\Release\MediaBrowser.Uninstaller.Execute.exe" "$(SolutionDir)..\Deploy\Server\System\" /y
xcopy "$(SolutionDir)Mediabrowser.Installer\bin\Release\MediaBrowser.Installer.exe" "$(SolutionDir)..\Deploy\Server\System\" /y
+mkdir "$(SolutionDir)..\Deploy\Server\System\swagger-ui"
+xcopy "$(TargetDir)swagger-ui" "$(SolutionDir)..\Deploy\Server\System\swagger-ui" /y /s
+
xcopy "$(TargetDir)$(TargetFileName).config" "$(SolutionDir)..\Deploy\Server\System\" /y
xcopy "$(TargetDir)*.dll" "$(SolutionDir)..\Deploy\Server\System" /y
diff --git a/MediaBrowser.WebDashboard/Html/css/images/clients/dlna.png b/MediaBrowser.WebDashboard/Html/css/images/clients/dlna.png
index 18b6ad421..2c7ba91c2 100644
--- a/MediaBrowser.WebDashboard/Html/css/images/clients/dlna.png
+++ b/MediaBrowser.WebDashboard/Html/css/images/clients/dlna.png
Binary files differ
diff --git a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
index 680e23511..4d1685d02 100644
--- a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
+++ b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
@@ -398,6 +398,7 @@
<EmbeddedResource Include="Html\css\images\mblogoicon.png" />
<EmbeddedResource Include="Html\css\images\mblogotextblack.png" />
<EmbeddedResource Include="Html\css\images\mblogotextwhite.png" />
+ <EmbeddedResource Include="Html\css\images\clients\dlna.png" />
<Content Include="Html\css\images\stars.png" />
<EmbeddedResource Include="Html\scripts\MediaPlayer.js" />
</ItemGroup>