1
|
|
|
/** |
2
|
|
|
* @typedef {Object} Swagger20 |
3
|
|
|
* Swagger 2.0 specification object |
4
|
|
|
* |
5
|
|
|
* @property {String} swagger Required. Specifies the Swagger Specification version being used. It can be used by the Swagger UI and other clients to interpret the API listing. The value MUST be "2.0". |
6
|
|
|
* @property {Swagger20InfoObject} info Required. Provides metadata about the API. The metadata can be used by the clients if needed. |
7
|
|
|
* @property {String} host The host (name or ip) serving the API. This MUST be the host only and does not include the scheme nor sub-paths. It MAY include a port. If the host is not included, the host serving the documentation is to be used (including the port). The host does not support path templating. |
8
|
|
|
* @property {String} basePath The base path on which the API is served, which is relative to the host. If it is not included, the API is served directly under the host. The value MUST start with a leading slash (/). The basePath does not support path templating. |
9
|
|
|
* @property {Array.<string>} schemes The transfer protocol of the API. Values MUST be from the list: "http", "https", "ws", "wss". If the schemes is not included, the default scheme to be used is the one used to access the Swagger definition itself. |
10
|
|
|
* @property {Array.<string>} consumes A list of MIME types the APIs can consume. This is global to all APIs but can be overridden on specific API calls |
11
|
|
|
* @property {Array.<string>} produces A list of MIME types the APIs can produce. This is global to all APIs but can be overridden on specific API calls |
12
|
|
|
* @property {Object.<Swagger20PathObject>} paths Required. The available paths and operations for the API. |
13
|
|
|
*/ |
14
|
|
|
|
15
|
|
|
/** |
16
|
|
|
* @typedef {Object} Swagger20PathObject |
17
|
|
|
* Swagger 2.0 api endpoints object |
18
|
|
|
* |
19
|
|
|
* @property {string} $ref Allows for an external definition of this path item. The referenced structure MUST be in the format of a Path Item Object. If there are conflicts between the referenced definition and this Path Item's definition, the behavior is undefined. |
20
|
|
|
* @property {Swagger20OperationDefinition} get A definition of a GET operation on this path. |
21
|
|
|
* @property {Swagger20OperationDefinition} put A definition of a PUT operation on this path. |
22
|
|
|
* @property {Swagger20OperationDefinition} post A definition of a POST operation on this path. |
23
|
|
|
* @property {Swagger20OperationDefinition} delete A definition of a DELETE operation on this path. |
24
|
|
|
* @property {Swagger20OperationDefinition} options A definition of a OPTIONS operation on this path. |
25
|
|
|
* @property {Swagger20OperationDefinition} head A definition of a HEAD operation on this path. |
26
|
|
|
* @property {Array.<Swagger20ParameterObject>|Array.<Swagger20ReferenceObject>} parameters A definition of a GET operation on this path. |
27
|
|
|
* |
28
|
|
|
* @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#pathItemObject |
29
|
|
|
* for more details |
30
|
|
|
*/ |
31
|
|
|
|
32
|
|
|
/** |
33
|
|
|
* @typedef {Object} Swagger20OperationDefinition |
34
|
|
|
* Swagger 2.0 operation definition |
35
|
|
|
* |
36
|
|
|
* @property {Array.<string>} A list of tags for API documentation control. Tags can be used for logical grouping of operations by resources or any other qualifier. |
37
|
|
|
* @property {String} summary A short summary of what the operation does. For maximum readability in the swagger-ui, this field SHOULD be less than 120 characters. |
38
|
|
|
* @property {String} description A verbose explanation of the operation behavior |
39
|
|
|
* @property {Swagger20ExternalDocObject} externalDocs Additional external documentation for this operation. |
40
|
|
|
* @property {String} operationId Unique string used to identify the operation. The id MUST be unique among all operations described in the API. Tools and libraries MAY use the operationId to uniquely identify an operation, therefore, it is recommended to follow common programming naming conventions. |
41
|
|
|
* @property {Array.<string>} consumes A list of MIME types the operation can consume. This overrides the consumes definition at the Swagger Object. An empty value MAY be used to clear the global definition. |
42
|
|
|
* @property {Array.<string>} produces A list of MIME types the operation can produce. This overrides the produces definition at the Swagger Object. An empty value MAY be used to clear the global definition |
43
|
|
|
* @property {Array.<Swagger20ParameterObject>} parameters A list of parameters that are applicable for this operation. If a parameter is already defined at the Path Item, the new definition will override it, but can never remove it. The list MUST NOT include duplicated parameters. A unique parameter is defined by a combination of a name and location. The list can use the Reference Object to link to parameters that are defined at the Swagger Object's parameters. There can be one "body" parameter at most. |
44
|
|
|
* @property {Object.<Swagger20ResponseObject>|Object.<Swagger20ReferenceObject>} responses Required. The list of possible responses as they are returned from executing this operation. |
45
|
|
|
* @property {Array.<string>} schemes The transfer protocol for the operation. Values MUST be from the list: "http", "https", "ws", "wss" |
46
|
|
|
* @property {boolean} deprecated Declares this operation to be deprecated. Usage of the declared operation should be refrained. Default value is false. |
47
|
|
|
* @property {Array.<Swagger20SecurityObject>} security A declaration of which security schemes are applied for this operation. The list of values describes alternative security schemes that can be used (that is, there is a logical OR between the security requirements) |
48
|
|
|
* |
49
|
|
|
* @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#operationObject |
50
|
|
|
* for more details |
51
|
|
|
*/ |
52
|
|
|
|
53
|
|
|
/** |
54
|
|
|
* @typedef {Object} Swagger20SecurityObject |
55
|
|
|
* Swagger 20 security object |
56
|
|
|
* |
57
|
|
|
* @property {Array.<string>} {name} Each name must correspond to a security scheme which is declared in the Security Definitions. If the security scheme is of type "oauth2", then the value is a list of scope names required for the execution. For other security scheme types, the array MUST be empty. |
58
|
|
|
* |
59
|
|
|
* @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#securityRequirementObject |
60
|
|
|
* for more details |
61
|
|
|
*/ |
62
|
|
|
|
63
|
|
|
/** |
64
|
|
|
* @typedef {Object} Swagger20ResponseObject |
65
|
|
|
* Swagger 2.0 response object |
66
|
|
|
* |
67
|
|
|
* @property {string} description Required. A short description of the response |
68
|
|
|
* @property {Object.<Swagger20SchemaObject>} schema A definition of the response structure. It can be a primitive, an array or an object. If this field does not exist, it means no content is returned as part of the response. As an extension to the Schema Object, its root type value may also be "file". This SHOULD be accompanied by a relevant produces mime-type. |
69
|
|
|
* @property {Object.<Swagger20HeaderObject>} headers A list of headers that are sent with the response. |
70
|
|
|
* @property {Object.<Swagger20ExampleObject>} examples An example of the response message. |
71
|
|
|
* |
72
|
|
|
* @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#responseObject |
73
|
|
|
* for more details |
74
|
|
|
*/ |
75
|
|
|
|
76
|
|
|
/** |
77
|
|
|
* @typedef {Object} Swagger20ExampleObject |
78
|
|
|
* Example object |
79
|
|
|
* |
80
|
|
|
* @property {*} {mime type} The name of the property MUST be one of the Operation produces values (either implicit or inherited). The value SHOULD be an example of what such a response would look like. |
81
|
|
|
* |
82
|
|
|
* @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#exampleObject |
83
|
|
|
* for more details |
84
|
|
|
*/ |
85
|
|
|
|
86
|
|
|
/** |
87
|
|
|
* @typedef {Object} Swagger20HeaderObject |
88
|
|
|
* Header object |
89
|
|
|
* |
90
|
|
|
* @property {String} description A short description of the header. |
91
|
|
|
* @property {String} type Required. The type of the object. The value MUST be one of "string", "number", "integer", "boolean", or "array". |
92
|
|
|
* @property {String} format The extending format for the previously mentioned type. See Data Type Formats for further details. |
93
|
|
|
* @property {Object.<Swagger20ItemObject>} items Required if type is "array". Describes the type of items in the array. |
94
|
|
|
* @property {String} collectionFormat Determines the format of the array if type array is used. Possible values are: |
95
|
|
|
* <ul> |
96
|
|
|
* <li><code>csv</code> - comma separated values <code>foo,bar</code>.</li> |
97
|
|
|
* <li><code>ssv</code> - space separated values <code>foo bar</code>.</li> |
98
|
|
|
* <li><code>tsv</code> - tab separated values <code>foo\tbar</code>.</li> |
99
|
|
|
* <li>pipes - pipe separated values <code>foo|bar</code>.</li> |
100
|
|
|
* Default value is <code>csv</code>. |
101
|
|
|
* </ul> |
102
|
|
|
* @property {*} default Declares the value of the item that the server will use if none is provided. (Note: "default" has no meaning for required items.) |
103
|
|
|
* @property {Number} maximum @see https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.1.2. |
104
|
|
|
* @property {Boolean} exclusiveMaximum @see https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.1.2. |
105
|
|
|
* @property {Number} minimum @see https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.1.3. |
106
|
|
|
* @property {Boolean} exclusiveMinimum @see https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.1.3. |
107
|
|
|
* @property {Number} maxLength @see https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.2.1. |
108
|
|
|
* @property {Number} minLength @see https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.2.2. |
109
|
|
|
* @property {String} pattern @see https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.2.3. |
110
|
|
|
* @property {Number} maxItems @see https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.3.2. |
111
|
|
|
* @property {Number} minItems @see https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.3.3. |
112
|
|
|
* @property {Boolean} uniqueItems @see https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.3.4. |
113
|
|
|
* @property {Array.<*>} enum @see https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.5.1. |
114
|
|
|
* @property {Number} multipleOf @see https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.1.1. |
115
|
|
|
* |
116
|
|
|
* @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#headerObject |
117
|
|
|
* for more details |
118
|
|
|
*/ |
119
|
|
|
|
120
|
|
|
/** |
121
|
|
|
* @typedef {Object} Swagger20ItemObject |
122
|
|
|
* Item object |
123
|
|
|
* |
124
|
|
|
* @property {String} type Required. The type of the object. The value MUST be one of "string", "number", "integer", "boolean", or "array". |
125
|
|
|
* @property {String} format The extending format for the previously mentioned type. See Data Type Formats for further details. |
126
|
|
|
* @property {Object.<Swagger20ItemObject>} items Required if type is "array". Describes the type of items in the array. |
127
|
|
|
* @property {String} collectionFormat Determines the format of the array if type array is used. Possible values are: |
128
|
|
|
* <ul> |
129
|
|
|
* <li><code>csv</code> - comma separated values <code>foo,bar</code>.</li> |
130
|
|
|
* <li><code>ssv</code> - space separated values <code>foo bar</code>.</li> |
131
|
|
|
* <li><code>tsv</code> - tab separated values <code>foo\tbar</code>.</li> |
132
|
|
|
* <li>pipes - pipe separated values <code>foo|bar</code>.</li> |
133
|
|
|
* Default value is <code>csv</code>. |
134
|
|
|
* </ul> |
135
|
|
|
* @property {*} default Declares the value of the item that the server will use if none is provided. (Note: "default" has no meaning for required items.) |
136
|
|
|
* @property {Number} maximum @see https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.1.2. |
137
|
|
|
* @property {Boolean} exclusiveMaximum @see https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.1.2. |
138
|
|
|
* @property {Number} minimum @see https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.1.3. |
139
|
|
|
* @property {Boolean} exclusiveMinimum @see https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.1.3. |
140
|
|
|
* @property {Number} maxLength @see https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.2.1. |
141
|
|
|
* @property {Number} minLength @see https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.2.2. |
142
|
|
|
* @property {String} pattern @see https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.2.3. |
143
|
|
|
* @property {Number} maxItems @see https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.3.2. |
144
|
|
|
* @property {Number} minItems @see https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.3.3. |
145
|
|
|
* @property {Boolean} uniqueItems @see https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.3.4. |
146
|
|
|
* @property {Array.<*>} enum @see https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.5.1. |
147
|
|
|
* @property {Number} multipleOf @see https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.1.1. |
148
|
|
|
* |
149
|
|
|
* @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#itemsObject |
150
|
|
|
* for more details |
151
|
|
|
*/ |
152
|
|
|
|
153
|
|
|
/** |
154
|
|
|
* @typedef {Object} Swagger20ReferenceObject |
155
|
|
|
* Swagger 2.0 response object |
156
|
|
|
* |
157
|
|
|
* @property string $ref Required. The reference string. |
158
|
|
|
* |
159
|
|
|
* @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#referenceObject |
160
|
|
|
* for more details |
161
|
|
|
*/ |
162
|
|
|
|
163
|
|
|
/** |
164
|
|
|
* @typedef {Object} Swagger20ParameterObject |
165
|
|
|
* |
166
|
|
|
* @property {String} name Required. The name of the parameter. Parameter names are case sensitive. |
167
|
|
|
* @property {String} in Required. The location of the parameter. Possible values are "query", "header", "path", "formData" or "body". |
168
|
|
|
* @property {String} description A brief description of the parameter. This could contain examples of use. GFM syntax can be used for rich text representation. |
169
|
|
|
* @property {boolean} required Determines whether this parameter is mandatory. If the parameter is in "path", this property is required and its value MUST be true. Otherwise, the property MAY be included and its default value is false. |
170
|
|
|
* @property {Swagger20SchemaObject} schema Required if <i>in</i> is <code>"body"</code> . The schema defining the type used for the body parameter. |
171
|
|
|
* @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#parameterObject |
172
|
|
|
* for more details |
173
|
|
|
*/ |
174
|
|
|
|
175
|
|
|
/** |
176
|
|
|
* @typedef {Object} Swagger20SchemaObject |
177
|
|
|
* |
178
|
|
|
* @property {String} title Required. The name of the parameter. |
179
|
|
|
* @property {String} format Data type format |
180
|
|
|
* @property {String} type Data type |
181
|
|
|
* @property {String} description Parameter description |
182
|
|
|
* @property {*} default Default parameter value |
183
|
|
|
* @property {String} description A short description for the tag |
184
|
|
|
* @property {String} discriminator Adds support for polymorphism. The discriminator is the schema property name that is used to differentiate between other schema that inherit this schema. The property name used MUST be defined at this schema and it MUST be in the required property list. When used, the value MUST be the name of this schema or any schema that inherits it. |
185
|
|
|
* @property {boolean} readOnly Relevant only for Schema "properties" definitions. Declares the property as "read only". This means that it MAY be sent as part of a response but MUST NOT be sent as part of the request. Properties marked as readOnly being true SHOULD NOT be in the required list of the defined schema. Default value is false. |
186
|
|
|
* @property {Swagger20XMLObject} xml This MAY be used only on properties schemas. It has no effect on root schemas. Adds Additional metadata to describe the XML representation format of this property. |
187
|
|
|
* @property {Swagger20ExternalDocObject} externalDocs Additional external documentation for this schema. |
188
|
|
|
* @property {*} example A free-form property to include an example of an instance for this schema. |
189
|
|
|
* |
190
|
|
|
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#schema-object |
191
|
|
|
* for more details |
192
|
|
|
*/ |
193
|
|
|
|
194
|
|
|
/** |
195
|
|
|
* @typedef {Object} Swagger20XMLObject |
196
|
|
|
* @property {String} name Replaces the name of the element/attribute used for the described schema property. When defined within the Items Object (items), it will affect the name of the individual XML elements within the list. When defined alongside type being array (outside the items), it will affect the wrapping element and only if wrapped is true. If wrapped is false, it will be ignored. |
197
|
|
|
* @property {String} namespace The URL of the namespace definition. Value SHOULD be in the form of a URL. |
198
|
|
|
* @property {String} prefix The prefix to be used for the name. |
199
|
|
|
* @property {boolean} attribute Declares whether the property definition translates to an attribute instead of an element. Default value is false. |
200
|
|
|
* @property {boolean} wrapped MAY be used only for an array definition. Signifies whether the array is wrapped (for example, <books><book/><book/></books>) or unwrapped (<book/><book/>). Default value is false. The definition takes effect only when defined alongside type being array (outside the items). |
201
|
|
|
*/ |
202
|
|
|
|
203
|
|
|
/** |
204
|
|
|
* @typedef {Object} Swagger20ExternalDocObject |
205
|
|
|
* Allows referencing an external resource for extended documentation. |
206
|
|
|
* |
207
|
|
|
* @property {String} description A short description of the target documentation. GFM syntax can be used for rich text representation. |
208
|
|
|
* @property {String} url Required. The URL for the target documentation. Value MUST be in the format of a URL. |
209
|
|
|
* |
210
|
|
|
* @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#externalDocumentationObject |
211
|
|
|
* for more details |
212
|
|
|
*/ |
213
|
|
|
|
214
|
|
|
/** |
215
|
|
|
* @typedef {Object} Swagger20InfoObject |
216
|
|
|
* Swagger 20 info object |
217
|
|
|
* |
218
|
|
|
* @property {String} title Required. The title of the application. |
219
|
|
|
* @property {String} description A short description of the application |
220
|
|
|
* @property {String} termsOfService The Terms of Service for the API. |
221
|
|
|
* @property {Swagger20ContactObject} contact The contact information for the exposed API. |
222
|
|
|
* @property {Swagger20LicenseObject} license The license information for the exposed API. |
223
|
|
|
* @property {String} version Required Provides the version of the application API (not to be confused with the specification version). |
224
|
|
|
* |
225
|
|
|
* @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#infoObject |
226
|
|
|
* for more details |
227
|
|
|
*/ |
228
|
|
|
|
229
|
|
|
/** |
230
|
|
|
* @typedef {Object} Swagger20LicenseObject |
231
|
|
|
* Swagger 20 license object |
232
|
|
|
* |
233
|
|
|
* @property {String} name Required. The license name used for the API. |
234
|
|
|
* @property {String} url A URL to the license used for the API. MUST be in the format of a URL. |
235
|
|
|
* |
236
|
|
|
* @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#licenseObject |
237
|
|
|
* for more details |
238
|
|
|
*/ |
239
|
|
|
|
240
|
|
|
/** |
241
|
|
|
* @typedef {Object} Swagger20ContactObject |
242
|
|
|
* Swagger 20 contact information object |
243
|
|
|
* |
244
|
|
|
* @property {String} name The identifying name of the contact person/organization. |
245
|
|
|
* @property {String} url The URL pointing to the contact information. MUST be in the format of a URL. |
246
|
|
|
* @property {String} email The email address of the contact person/organization. MUST be in the format of an email address. |
247
|
|
|
* |
248
|
|
|
* @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#contactObject |
249
|
|
|
* for more details |
250
|
|
|
*/ |
251
|
|
|
|
252
|
|
|
/** |
253
|
|
|
* @typedef {Object} ParserOptions |
254
|
|
|
* @property {String} getTagCommand Command for get tag list |
255
|
|
|
* @property {String} repoPath Path to repository with project |
256
|
|
|
* @property {String|undefined} packageVersion Package version |
257
|
|
|
* @property {String} packageName Package name |
258
|
|
|
* @property {String} moduleName Module name |
259
|
|
|
* @property {String} className Class name |
260
|
|
|
* @property {ParserOptions} methodsParserConfig Method parser config |
261
|
|
|
* @property {String} modelPath Model path |
262
|
|
|
* @property {String} docsPath Methods path |
263
|
|
|
*/ |
264
|
|
|
|
265
|
|
|
// Package definitions |
266
|
|
|
|
267
|
|
|
/** |
268
|
|
|
* @typedef {Object} SecurityObject |
269
|
|
|
* Definitions object (for model) |
270
|
|
|
* |
271
|
|
|
* @property {String} type Required. The type of the security scheme. Valid values are "basic", "apiKey" or "oauth2". |
272
|
|
|
* @property {String} description A short description for security scheme. |
273
|
|
|
* @property {String} name Required. The name of the header or query parameter to be used. |
274
|
|
|
* @property {String} in Required The location of the API key. Valid values are "query" or "header". |
275
|
|
|
* @property {String} flow Required. The flow used by the OAuth2 security scheme. Valid values are "implicit", "password", "application" or "accessCode". |
276
|
|
|
* @property {String} authorizationUrl Required. The authorization URL to be used for this flow. This SHOULD be in the form of a URL. |
277
|
|
|
* @property {String} tokenUrl Required. The token URL to be used for this flow. This SHOULD be in the form of a URL. |
278
|
|
|
* @property {Array.<Scope>} scopes Required. The available scopes for the OAuth2 security scheme. |
279
|
|
|
* |
280
|
|
|
* @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#security-scheme-object |
281
|
|
|
* for more information |
282
|
|
|
*/ |
283
|
|
|
|
284
|
|
|
/** |
285
|
|
|
* @typedef {Object} Scope |
286
|
|
|
* Scope object |
287
|
|
|
* |
288
|
|
|
* @property {String} name Maps between a name of a scope to a short description of it (as the value of the property). |
289
|
|
|
* |
290
|
|
|
* @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#scopesObject |
291
|
|
|
* for more details |
292
|
|
|
*/ |
293
|
|
|
|
294
|
|
|
/** |
295
|
|
|
* @typedef {Object} ParameterObject |
296
|
|
|
* Custom property object |
297
|
|
|
* |
298
|
|
|
* @property {String} name The name of the parameter. Parameter names are case sensitive. |
299
|
|
|
* @property {String} camelCaseName The name of the parameter. Parameter names are camelCase sensitive. |
300
|
|
|
* @property {String} description A brief description of the parameter |
301
|
|
|
* @property {boolean} required Determines whether this parameter is mandatory. If the parameter is in "path", this property is required and its value MUST be true. Otherwise, the property MAY be included and its default value is false. |
302
|
|
|
* @property {String} description Short parameter description |
303
|
|
|
* |
304
|
|
|
*/ |
305
|
|
|
|
306
|
|
|
/** |
307
|
|
|
* @typedef {Object} HeaderObject |
308
|
|
|
* Header object |
309
|
|
|
* |
310
|
|
|
* @property {String} description Header description |
311
|
|
|
* @property {String} name Header name |
312
|
|
|
* @property {String} camelCaseName Header camelcase name |
313
|
|
|
* @property {Array.<String>} Header values |
314
|
|
|
* |
315
|
|
|
*/ |
316
|
|
|
|
317
|
|
|
/** |
318
|
|
|
* @typedef {Object} ParameterParserOptionsObject |
319
|
|
|
* Parameters parser options object |
320
|
|
|
* @property {boolean} addEnumDescription Add description for enum. Default is true |
321
|
|
|
*/ |
322
|
|
|
|
323
|
|
|
/** |
324
|
|
|
* @typedef {Object} MethodConfigObject |
325
|
|
|
* Parsed method object |
326
|
|
|
* |
327
|
|
|
* @property {String} path Method URL |
328
|
|
|
* @property {String} method HTTP request method |
329
|
|
|
* @property {Array.<String>} tags Mathod tags |
330
|
|
|
* @property {String} summary A short summary of what the operation does. For maximum readability in the swagger-ui, this field SHOULD be less than 120 characters. |
331
|
|
|
* @property {String} description A verbose explanation of the operation behavior |
332
|
|
|
* @property {Swagger20ExternalDocObject} externalDocs Additional external documentation for this operation. |
333
|
|
|
* @property {String} operationId Unique string used to identify the operation. The id MUST be unique among all operations described in the API. Tools and libraries MAY use the operationId to uniquely identify an operation, therefore, it is recommended to follow common programming naming conventions. |
334
|
|
|
* @property {Array.<string>} consumes A list of MIME types the operation can consume. This overrides the consumes definition at the Swagger Object. An empty value MAY be used to clear the global definition. |
335
|
|
|
* @property {Array.<string>} produces A list of MIME types the operation can produce. This overrides the produces definition at the Swagger Object. An empty value MAY be used to clear the global definition |
336
|
|
|
* @property {Array.<ParameterObject>} parameters A list of parameters that are applicable for this operation. If a parameter is already defined at the Path Item, the new definition will override it, but can never remove it. The list MUST NOT include duplicated parameters. A unique parameter is defined by a combination of a name and location. The list can use the Reference Object to link to parameters that are defined at the Swagger Object's parameters. There can be one "body" parameter at most. |
337
|
|
|
* @property {Array.<ParameterObject>} headers A list of headers that are applicable for this operation |
338
|
|
|
* @property {Array.<ParameterObject>} bodyParams A list of body request parameters that are applicable for this operation |
339
|
|
|
* @property {Array.<ParameterObject>} queryParams A list of query parameters that are applicable for this operation |
340
|
|
|
* @property {Array.<ParameterObject>} formDataParams A list of multipart/form-data parameters that are applicable for this operation |
341
|
|
|
* @property {Array.<ParameterObject>} pathParams A list of path parameters that are applicable for this operation |
342
|
|
|
* @property {Object.<Swagger20ResponseObject>|Object.<Swagger20ReferenceObject>} responses Required. The list of possible responses as they are returned from executing this operation. |
343
|
|
|
* @property {Array.<string>} schemes The transfer protocol for the operation. Values MUST be from the list: "http", "https", "ws", "wss" |
344
|
|
|
* @property {boolean} isDeprecated Declares this operation to be deprecated. Usage of the declared operation should be refrained. Default value is false. |
345
|
|
|
* @property {boolean} isSecure Method has security schemes |
346
|
|
|
* @property {boolean} isGET Method is HTTP GET request |
347
|
|
|
* @property {boolean} isPUT Method is HTTP PUT request |
348
|
|
|
* @property {boolean} isDELETE Method is HTTP DELETE request |
349
|
|
|
* @property {boolean} isOPTIONS Method is HTTP OPTIONS request |
350
|
|
|
* @property {boolean} isHEAD Method is HTTP HEAD request |
351
|
|
|
* @property {boolean} isCONNECT Method is HTTP CONNECT request |
352
|
|
|
* @property {boolean} isTRACE Method is HTTP TRACE request |
353
|
|
|
* @property {boolean} isPATCH Method is HTTP PATCH request |
354
|
|
|
* @property {boolean} isPOST Method is HTTP POST request |
355
|
|
|
* @property {Array.<ParameterObject>} enums Enum list |
356
|
|
|
* @property {Array.<Swagger20SecurityObject>} security A declaration of which security schemes are applied for this operation. The list of values describes alternative security schemes that can be used (that is, there is a logical OR between the security requirements) |
357
|
|
|
* |
358
|
|
|
*/ |
359
|
|
|
|
360
|
|
|
// Generator API |
361
|
|
|
|
362
|
|
|
/** |
363
|
|
|
* @typedef {Object} GeneratorOptions |
364
|
|
|
* |
365
|
|
|
* @property {String} moduleName Module name |
366
|
|
|
* @property {String} className Class name |
367
|
|
|
* @property {String|undefined} outFile Destination swagger api object |
368
|
|
|
* @property {String} moduleName Module name |
369
|
|
|
* @property {String} className Class name |
370
|
|
|
* @property {String} packageVersion Package version |
371
|
|
|
* @property {String} docsPath Method definitions path |
372
|
|
|
* @property {String} modelPath Model path |
373
|
|
|
*/ |
374
|
|
|
|
375
|
|
|
/** |
376
|
|
|
* @typedef {Object} DocGeneratorOptionsObject |
377
|
|
|
* |
378
|
|
|
* @property {String} type Output documentation type |
379
|
|
|
* @property {String} templatePath Path to template |
380
|
|
|
* @property {Function} generatorCallback Custom generator callback |
381
|
|
|
* @property {String} docsPath Documentation path |
382
|
|
|
* @property {String} modelPath Path for models definitions |
383
|
|
|
* @property {String} destination Docs destination |
384
|
|
|
* @property {Object.<Object>} additionalLayouts Additional layouts for Handlebars in format <code><file-name-or-relative-path>: <template-name></code> |
385
|
|
|
* @property {Object.<Object>} additionalHelpers Additional helpers for Handlebars in format <code><helper-name>: function (templateName, Handlebars) { |
386
|
|
|
* // Some helper detail |
387
|
|
|
* }</code> |
388
|
|
|
* @property {String} moduleName Module name |
389
|
|
|
* @property {String} className Class name |
390
|
|
|
* @property {String} packageVersion Package version |
391
|
|
|
* @property {String} docsPath Method definitions path |
392
|
|
|
* @property {String} modelPath Model path |
393
|
|
|
*/ |