diff options
| author | Luke <luke.pulverenti@gmail.com> | 2017-09-16 00:14:47 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-09-16 00:14:47 -0400 |
| commit | f1fcc6e9c4dca4097d9cc4db40b03a02bd0ef8d5 (patch) | |
| tree | feed146000e22fb12e5fd554066b56d28b59046b /Emby.Server.Implementations/Services/SwaggerService.cs | |
| parent | 930ce927b06fb481e1201a66251b4fe652e1f12b (diff) | |
| parent | ded141c411aeef039c43970c12347a2e5ea6eabb (diff) | |
Merge pull request #2884 from MediaBrowser/dev
Dev
Diffstat (limited to 'Emby.Server.Implementations/Services/SwaggerService.cs')
| -rw-r--r-- | Emby.Server.Implementations/Services/SwaggerService.cs | 46 |
1 files changed, 43 insertions, 3 deletions
diff --git a/Emby.Server.Implementations/Services/SwaggerService.cs b/Emby.Server.Implementations/Services/SwaggerService.cs index be3b4cbba..fc2bdbd55 100644 --- a/Emby.Server.Implementations/Services/SwaggerService.cs +++ b/Emby.Server.Implementations/Services/SwaggerService.cs @@ -23,6 +23,19 @@ namespace Emby.Server.Implementations.Services public SwaggerTag[] tags { get; set; } public IDictionary<string, Dictionary<string, SwaggerMethod>> paths { get; set; } public Dictionary<string, SwaggerDefinition> definitions { get; set; } + public SwaggerComponents components { get; set; } + } + + public class SwaggerComponents + { + public Dictionary<string, SwaggerSecurityScheme> securitySchemes { get; set; } + } + + public class SwaggerSecurityScheme + { + public string name { get; set; } + public string type { get; set; } + public string @in { get; set; } } public class SwaggerInfo @@ -38,6 +51,8 @@ namespace Emby.Server.Implementations.Services public class SwaggerConcactInfo { public string email { get; set; } + public string name { get; set; } + public string url { get; set; } } public class SwaggerTag @@ -56,6 +71,7 @@ namespace Emby.Server.Implementations.Services public string[] produces { get; set; } public SwaggerParam[] parameters { get; set; } public Dictionary<string, SwaggerResponse> responses { get; set; } + public Dictionary<string, string[]>[] security { get; set; } } public class SwaggerParam @@ -111,6 +127,15 @@ namespace Emby.Server.Implementations.Services host = uri.Host; } + var securitySchemes = new Dictionary<string, SwaggerSecurityScheme>(); + + securitySchemes["api_key"] = new SwaggerSecurityScheme + { + name = "api_key", + type = "apiKey", + @in = "query" + }; + var spec = new SwaggerSpec { schemes = new[] { "http" }, @@ -123,14 +148,20 @@ namespace Emby.Server.Implementations.Services description = "Explore the Emby Server API", contact = new SwaggerConcactInfo { - email = "api@emby.media" + name = "Emby Developer Community", + url = "https://emby.media/community/index.php?/forum/47-developer-api" }, termsOfService = "https://emby.media/terms" }, paths = GetPaths(), definitions = GetDefinitions(), basePath = "/emby", - host = host + host = host, + + components = new SwaggerComponents + { + securitySchemes = securitySchemes + } }; return spec; @@ -193,6 +224,13 @@ namespace Emby.Server.Implementations.Services description = "OK" }; + var security = new List<Dictionary<string, string[]>>(); + + var apiKeySecurity = new Dictionary<string, string[]>(); + apiKeySecurity["api_key"] = new string[] { }; + + security.Add(apiKeySecurity); + result[verb.ToLower()] = new SwaggerMethod { summary = info.Summary, @@ -210,7 +248,9 @@ namespace Emby.Server.Implementations.Services parameters = new SwaggerParam[] { }, - responses = responses + responses = responses, + + security = security.ToArray() }; } |
