123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302 |
- using System.Collections.Generic;
- using Newtonsoft.Json;
- #pragma warning disable 1591
- // ReSharper disable InconsistentNaming
- namespace VCommon.VOpenApi.Docgen
- {
- public class SwaggerDocument
- {
- public readonly string swagger = "2.0";
- public Info info;
- public string host;
- public string basePath;
- public IList<string> schemes;
- public IList<string> consumes;
- public IList<string> produces;
- public IDictionary<string, PathItem> paths;
- public IDictionary<string, Schema> definitions;
- public IDictionary<string, Parameter> parameters;
- public IDictionary<string, Response> responses;
- public IDictionary<string, SecurityScheme> securityDefinitions;
- public IList<IDictionary<string, IEnumerable<string>>> security;
- public IList<Tag> tags;
- public ExternalDocs externalDocs;
- }
- public class Info
- {
- public string version;
- public string title;
- public string description;
- public string termsOfService;
- public Contact contact;
- public License license;
- }
- public class Contact
- {
- public string name;
- public string url;
- public string email;
- }
- public class License
- {
- public string name;
- public string url;
- }
- public class PathItem
- {
- [JsonProperty("$ref")]
- public string @ref;
- public Operation get;
- public Operation put;
- public Operation post;
- public Operation delete;
- public Operation options;
- public Operation head;
- public Operation patch;
- public IList<Parameter> parameters;
- }
- public class Operation
- {
- public IList<string> tags;
- public string summary;
- public string description;
- public ExternalDocs externalDocs;
- public string operationId;
- public IList<string> consumes;
- public IList<string> produces;
- public IList<Parameter> parameters;
- public IDictionary<string, Response> responses;
- public IList<string> schemes;
- public bool? deprecated;
- public IList<IDictionary<string, IEnumerable<string>>> security;
- }
- public class Tag
- {
- public string name;
- public string description;
- public ExternalDocs externalDocs;
- }
- public class ExternalDocs
- {
- public string description;
- public string url;
- }
- public class Parameter : PartialSchema
- {
- [JsonProperty("$ref")]
- public string @ref;
- public string name;
- public string @in;
- public string description;
- public bool? required;
- public Schema schema;
- }
- public class Schema
- {
- [JsonProperty("$ref")]
- public string @ref;
- public string format;
- public string title;
- public string description;
- public object @default;
- public int? multipleOf;
- public int? maximum;
- public bool? exclusiveMaximum;
- public int? minimum;
- public bool? exclusiveMinimum;
- public int? maxLength;
- public int? minLength;
- public string pattern;
- public int? maxItems;
- public int? minItems;
- public bool? uniqueItems;
- public int? maxProperties;
- public int? minProperties;
- public IList<string> required;
- public IList<object> @enum;
- public string type;
- public Schema items;
- public IList<Schema> allOf;
- public IDictionary<string, Schema> properties;
- public Schema additionalProperties;
- public string discriminator;
- public bool? readOnly;
- public Xml xml;
- public ExternalDocs externalDocs;
- public object example;
- }
- public class PartialSchema
- {
- public string type;
- public string format;
- public PartialSchema items;
- public string collectionFormat;
- public object @default;
- public int? maximum;
- public bool? exclusiveMaximum;
- public int? minimum;
- public bool? exclusiveMinimum;
- public int? maxLength;
- public int? minLength;
- public string pattern;
- public int? maxItems;
- public int? minItems;
- public bool? uniqueItems;
- public IList<object> @enum;
- public int? multipleOf;
- }
- public class Response
- {
- public string description;
- public Schema schema;
- public IDictionary<string, Header> headers;
- public object examples;
- }
- public class Header : PartialSchema
- {
- public string description;
- }
- public class Xml
- {
- public string name;
- public string @namespace;
- public string prefix;
- public bool? attribute;
- public bool? wrapped;
- }
- public class SecurityScheme
- {
- public string type;
- public string description;
- public string name;
- public string @in;
- public string flow;
- public string authorizationUrl;
- public string tokenUrl;
- public IDictionary<string, string> scopes;
- }
- }
|