@budibase/server 1.0.6 → 1.0.8-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/builder/assets/{index.4fb3f887.css → index.9337c392.css} +1 -1
  2. package/builder/assets/{index.8b07ec4f.js → index.db2ce927.js} +160 -160
  3. package/builder/assets/{vendor.470042a4.js → vendor.a9288856.js} +1 -1
  4. package/builder/index.html +3 -3
  5. package/coverage/clover.xml +369 -330
  6. package/coverage/coverage-final.json +11 -10
  7. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/application.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/component.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/datasource.js.html +14 -14
  16. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/hosting.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/index.html +9 -24
  19. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/query/index.html +126 -0
  24. package/coverage/lcov-report/api/controllers/{query.js.html → query/index.js.html} +150 -24
  25. package/coverage/lcov-report/api/controllers/query/validation.js.html +200 -0
  26. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  30. package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  36. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  38. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/table/internal.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/table/utils.js.html +5 -2
  41. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  43. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/view/index.html +15 -15
  45. package/coverage/lcov-report/api/controllers/view/index.js.html +52 -10
  46. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  47. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  48. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  49. package/coverage/lcov-report/api/index.html +1 -1
  50. package/coverage/lcov-report/api/index.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/hosting.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/index.html +9 -9
  64. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/query.js.html +11 -98
  70. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/static.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  77. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  78. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  79. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  80. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  81. package/coverage/lcov-report/automations/actions.js.html +1 -1
  82. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  83. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  84. package/coverage/lcov-report/automations/index.html +1 -1
  85. package/coverage/lcov-report/automations/index.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/index.html +1 -1
  95. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  97. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  98. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  99. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  100. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  101. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  102. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  103. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  104. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  105. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  106. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  107. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  108. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  109. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  110. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  111. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  112. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  113. package/coverage/lcov-report/automations/utils.js.html +1 -1
  114. package/coverage/lcov-report/constants/index.html +1 -1
  115. package/coverage/lcov-report/constants/index.js.html +1 -1
  116. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  117. package/coverage/lcov-report/constants/screens.js.html +1 -1
  118. package/coverage/lcov-report/db/client.js.html +1 -1
  119. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  120. package/coverage/lcov-report/db/index.html +1 -1
  121. package/coverage/lcov-report/db/index.js.html +1 -1
  122. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  123. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  124. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  125. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  126. package/coverage/lcov-report/db/newid.js.html +4 -4
  127. package/coverage/lcov-report/db/utils.js.html +58 -58
  128. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  129. package/coverage/lcov-report/events/index.html +1 -1
  130. package/coverage/lcov-report/events/index.js.html +1 -1
  131. package/coverage/lcov-report/events/utils.js.html +1 -1
  132. package/coverage/lcov-report/index.html +55 -40
  133. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  134. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  135. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  136. package/coverage/lcov-report/middleware/authorized.js.html +2 -2
  137. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  138. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  139. package/coverage/lcov-report/middleware/index.html +1 -1
  140. package/coverage/lcov-report/middleware/joi-validator.js.html +3 -3
  141. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  142. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  143. package/coverage/lcov-report/middleware/usageQuota.js.html +1 -1
  144. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  145. package/coverage/lcov-report/threads/automation.js.html +1 -1
  146. package/coverage/lcov-report/threads/index.html +1 -1
  147. package/coverage/lcov-report/threads/index.js.html +1 -1
  148. package/coverage/lcov-report/threads/query.js.html +1 -1
  149. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  150. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  151. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  152. package/coverage/lcov-report/utilities/csvParser.js.html +19 -10
  153. package/coverage/lcov-report/utilities/global.js.html +1 -1
  154. package/coverage/lcov-report/utilities/index.html +14 -14
  155. package/coverage/lcov-report/utilities/index.js.html +1 -1
  156. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  157. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  158. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  159. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  160. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  161. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  162. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  163. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  164. package/coverage/lcov-report/utilities/security.js.html +1 -1
  165. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  166. package/coverage/lcov-report/utilities/users.js.html +1 -1
  167. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  168. package/coverage/lcov.info +538 -480
  169. package/dist/api/controllers/query/import/index.js +79 -0
  170. package/dist/api/controllers/query/import/sources/base/index.js +63 -0
  171. package/dist/api/controllers/query/import/sources/base/openapi.js +42 -0
  172. package/dist/api/controllers/query/import/sources/curl.js +90 -0
  173. package/dist/api/controllers/query/import/sources/openapi2.js +139 -0
  174. package/dist/api/controllers/query/import/sources/tests/openapi2/data/crud/crud.json +253 -0
  175. package/dist/api/controllers/query/import/sources/tests/openapi2/data/petstore/petstore.json +1054 -0
  176. package/dist/api/controllers/{query.js → query/index.js} +38 -4
  177. package/dist/api/controllers/query/validation.js +36 -0
  178. package/dist/api/controllers/view/index.js +15 -2
  179. package/dist/api/routes/query.js +2 -32
  180. package/dist/package.json +8 -4
  181. package/dist/tsconfig.tsbuildinfo +1 -1
  182. package/dist/utilities/csvParser.js +5 -2
  183. package/package.json +9 -5
  184. package/src/api/controllers/query/import/index.ts +85 -0
  185. package/src/api/controllers/query/import/sources/base/index.ts +86 -0
  186. package/src/api/controllers/query/import/sources/base/openapi.ts +24 -0
  187. package/src/api/controllers/query/import/sources/curl.ts +94 -0
  188. package/src/api/controllers/query/import/sources/openapi2.ts +159 -0
  189. package/src/api/controllers/query/import/sources/tests/curl/curl.spec.js +104 -0
  190. package/src/api/controllers/query/import/sources/tests/curl/data/delete.txt +1 -0
  191. package/src/api/controllers/query/import/sources/tests/curl/data/empty-body.txt +2 -0
  192. package/src/api/controllers/query/import/sources/tests/curl/data/get.txt +1 -0
  193. package/src/api/controllers/query/import/sources/tests/curl/data/headers.txt +3 -0
  194. package/src/api/controllers/query/import/sources/tests/curl/data/patch.txt +2 -0
  195. package/src/api/controllers/query/import/sources/tests/curl/data/path.txt +1 -0
  196. package/src/api/controllers/query/import/sources/tests/curl/data/post.txt +2 -0
  197. package/src/api/controllers/query/import/sources/tests/curl/data/put.txt +2 -0
  198. package/src/api/controllers/query/import/sources/tests/curl/data/query.txt +1 -0
  199. package/src/api/controllers/query/import/sources/tests/openapi2/data/crud/crud.json +253 -0
  200. package/src/api/controllers/query/import/sources/tests/openapi2/data/crud/crud.yaml +160 -0
  201. package/src/api/controllers/query/import/sources/tests/openapi2/data/petstore/petstore.json +1054 -0
  202. package/src/api/controllers/query/import/sources/tests/openapi2/data/petstore/petstore.yaml +711 -0
  203. package/src/api/controllers/query/import/sources/tests/openapi2/openapi2.spec.js +239 -0
  204. package/src/api/controllers/query/import/tests/index.spec.js +115 -0
  205. package/src/api/controllers/{query.js → query/index.js} +46 -4
  206. package/src/api/controllers/query/validation.js +40 -0
  207. package/src/api/controllers/table/utils.js +1 -0
  208. package/src/api/controllers/view/index.js +16 -2
  209. package/src/api/routes/query.js +5 -34
  210. package/src/definitions/common.ts +22 -0
  211. package/src/integrations/oracle.ts +1 -1
  212. package/src/utilities/csvParser.js +5 -2
@@ -0,0 +1,1054 @@
1
+ {
2
+ "swagger": "2.0",
3
+ "info": {
4
+ "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
5
+ "version": "1.0.5",
6
+ "title": "Swagger Petstore",
7
+ "termsOfService": "http://swagger.io/terms/",
8
+ "contact": {
9
+ "email": "apiteam@swagger.io"
10
+ },
11
+ "license": {
12
+ "name": "Apache 2.0",
13
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
14
+ }
15
+ },
16
+ "host": "petstore.swagger.io",
17
+ "basePath": "/v2",
18
+ "tags": [
19
+ {
20
+ "name": "pet",
21
+ "description": "Everything about your Pets",
22
+ "externalDocs": {
23
+ "description": "Find out more",
24
+ "url": "http://swagger.io"
25
+ }
26
+ },
27
+ {
28
+ "name": "store",
29
+ "description": "Access to Petstore orders"
30
+ },
31
+ {
32
+ "name": "user",
33
+ "description": "Operations about user",
34
+ "externalDocs": {
35
+ "description": "Find out more about our store",
36
+ "url": "http://swagger.io"
37
+ }
38
+ }
39
+ ],
40
+ "schemes": [
41
+ "https",
42
+ "http"
43
+ ],
44
+ "paths": {
45
+ "/pet/{petId}/uploadImage": {
46
+ "post": {
47
+ "tags": [
48
+ "pet"
49
+ ],
50
+ "summary": "uploads an image",
51
+ "description": "",
52
+ "operationId": "uploadFile",
53
+ "consumes": [
54
+ "multipart/form-data"
55
+ ],
56
+ "produces": [
57
+ "application/json"
58
+ ],
59
+ "parameters": [
60
+ {
61
+ "name": "petId",
62
+ "in": "path",
63
+ "description": "ID of pet to update",
64
+ "required": true,
65
+ "type": "integer",
66
+ "format": "int64"
67
+ },
68
+ {
69
+ "name": "additionalMetadata",
70
+ "in": "formData",
71
+ "description": "Additional data to pass to server",
72
+ "required": false,
73
+ "type": "string"
74
+ },
75
+ {
76
+ "name": "file",
77
+ "in": "formData",
78
+ "description": "file to upload",
79
+ "required": false,
80
+ "type": "file"
81
+ }
82
+ ],
83
+ "responses": {
84
+ "200": {
85
+ "description": "successful operation",
86
+ "schema": {
87
+ "$ref": "#/definitions/ApiResponse"
88
+ }
89
+ }
90
+ },
91
+ "security": [
92
+ {
93
+ "petstore_auth": [
94
+ "write:pets",
95
+ "read:pets"
96
+ ]
97
+ }
98
+ ]
99
+ }
100
+ },
101
+ "/pet": {
102
+ "post": {
103
+ "tags": [
104
+ "pet"
105
+ ],
106
+ "summary": "Add a new pet to the store",
107
+ "description": "",
108
+ "operationId": "addPet",
109
+ "consumes": [
110
+ "application/json",
111
+ "application/xml"
112
+ ],
113
+ "produces": [
114
+ "application/json",
115
+ "application/xml"
116
+ ],
117
+ "parameters": [
118
+ {
119
+ "in": "body",
120
+ "name": "body",
121
+ "description": "Pet object that needs to be added to the store",
122
+ "required": true,
123
+ "schema": {
124
+ "$ref": "#/definitions/Pet"
125
+ }
126
+ }
127
+ ],
128
+ "responses": {
129
+ "405": {
130
+ "description": "Invalid input"
131
+ }
132
+ },
133
+ "security": [
134
+ {
135
+ "petstore_auth": [
136
+ "write:pets",
137
+ "read:pets"
138
+ ]
139
+ }
140
+ ]
141
+ },
142
+ "put": {
143
+ "tags": [
144
+ "pet"
145
+ ],
146
+ "summary": "Update an existing pet",
147
+ "description": "",
148
+ "operationId": "updatePet",
149
+ "consumes": [
150
+ "application/json",
151
+ "application/xml"
152
+ ],
153
+ "produces": [
154
+ "application/json",
155
+ "application/xml"
156
+ ],
157
+ "parameters": [
158
+ {
159
+ "in": "body",
160
+ "name": "body",
161
+ "description": "Pet object that needs to be added to the store",
162
+ "required": true,
163
+ "schema": {
164
+ "$ref": "#/definitions/Pet"
165
+ }
166
+ }
167
+ ],
168
+ "responses": {
169
+ "400": {
170
+ "description": "Invalid ID supplied"
171
+ },
172
+ "404": {
173
+ "description": "Pet not found"
174
+ },
175
+ "405": {
176
+ "description": "Validation exception"
177
+ }
178
+ },
179
+ "security": [
180
+ {
181
+ "petstore_auth": [
182
+ "write:pets",
183
+ "read:pets"
184
+ ]
185
+ }
186
+ ]
187
+ }
188
+ },
189
+ "/pet/findByStatus": {
190
+ "get": {
191
+ "tags": [
192
+ "pet"
193
+ ],
194
+ "summary": "Finds Pets by status",
195
+ "description": "Multiple status values can be provided with comma separated strings",
196
+ "operationId": "findPetsByStatus",
197
+ "produces": [
198
+ "application/json",
199
+ "application/xml"
200
+ ],
201
+ "parameters": [
202
+ {
203
+ "name": "status",
204
+ "in": "query",
205
+ "description": "Status values that need to be considered for filter",
206
+ "required": true,
207
+ "type": "array",
208
+ "items": {
209
+ "type": "string",
210
+ "enum": [
211
+ "available",
212
+ "pending",
213
+ "sold"
214
+ ],
215
+ "default": "available"
216
+ },
217
+ "collectionFormat": "multi"
218
+ }
219
+ ],
220
+ "responses": {
221
+ "200": {
222
+ "description": "successful operation",
223
+ "schema": {
224
+ "type": "array",
225
+ "items": {
226
+ "$ref": "#/definitions/Pet"
227
+ }
228
+ }
229
+ },
230
+ "400": {
231
+ "description": "Invalid status value"
232
+ }
233
+ },
234
+ "security": [
235
+ {
236
+ "petstore_auth": [
237
+ "write:pets",
238
+ "read:pets"
239
+ ]
240
+ }
241
+ ]
242
+ }
243
+ },
244
+ "/pet/findByTags": {
245
+ "get": {
246
+ "tags": [
247
+ "pet"
248
+ ],
249
+ "summary": "Finds Pets by tags",
250
+ "description": "Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.",
251
+ "operationId": "findPetsByTags",
252
+ "produces": [
253
+ "application/json",
254
+ "application/xml"
255
+ ],
256
+ "parameters": [
257
+ {
258
+ "name": "tags",
259
+ "in": "query",
260
+ "description": "Tags to filter by",
261
+ "required": true,
262
+ "type": "array",
263
+ "items": {
264
+ "type": "string"
265
+ },
266
+ "collectionFormat": "multi"
267
+ }
268
+ ],
269
+ "responses": {
270
+ "200": {
271
+ "description": "successful operation",
272
+ "schema": {
273
+ "type": "array",
274
+ "items": {
275
+ "$ref": "#/definitions/Pet"
276
+ }
277
+ }
278
+ },
279
+ "400": {
280
+ "description": "Invalid tag value"
281
+ }
282
+ },
283
+ "security": [
284
+ {
285
+ "petstore_auth": [
286
+ "write:pets",
287
+ "read:pets"
288
+ ]
289
+ }
290
+ ],
291
+ "deprecated": true
292
+ }
293
+ },
294
+ "/pet/{petId}": {
295
+ "get": {
296
+ "tags": [
297
+ "pet"
298
+ ],
299
+ "summary": "Find pet by ID",
300
+ "description": "Returns a single pet",
301
+ "operationId": "getPetById",
302
+ "produces": [
303
+ "application/json",
304
+ "application/xml"
305
+ ],
306
+ "parameters": [
307
+ {
308
+ "name": "petId",
309
+ "in": "path",
310
+ "description": "ID of pet to return",
311
+ "required": true,
312
+ "type": "integer",
313
+ "format": "int64"
314
+ }
315
+ ],
316
+ "responses": {
317
+ "200": {
318
+ "description": "successful operation",
319
+ "schema": {
320
+ "$ref": "#/definitions/Pet"
321
+ }
322
+ },
323
+ "400": {
324
+ "description": "Invalid ID supplied"
325
+ },
326
+ "404": {
327
+ "description": "Pet not found"
328
+ }
329
+ },
330
+ "security": [
331
+ {
332
+ "api_key": []
333
+ }
334
+ ]
335
+ },
336
+ "post": {
337
+ "tags": [
338
+ "pet"
339
+ ],
340
+ "summary": "Updates a pet in the store with form data",
341
+ "description": "",
342
+ "operationId": "updatePetWithForm",
343
+ "consumes": [
344
+ "application/x-www-form-urlencoded"
345
+ ],
346
+ "produces": [
347
+ "application/json",
348
+ "application/xml"
349
+ ],
350
+ "parameters": [
351
+ {
352
+ "name": "petId",
353
+ "in": "path",
354
+ "description": "ID of pet that needs to be updated",
355
+ "required": true,
356
+ "type": "integer",
357
+ "format": "int64"
358
+ },
359
+ {
360
+ "name": "name",
361
+ "in": "formData",
362
+ "description": "Updated name of the pet",
363
+ "required": false,
364
+ "type": "string"
365
+ },
366
+ {
367
+ "name": "status",
368
+ "in": "formData",
369
+ "description": "Updated status of the pet",
370
+ "required": false,
371
+ "type": "string"
372
+ }
373
+ ],
374
+ "responses": {
375
+ "405": {
376
+ "description": "Invalid input"
377
+ }
378
+ },
379
+ "security": [
380
+ {
381
+ "petstore_auth": [
382
+ "write:pets",
383
+ "read:pets"
384
+ ]
385
+ }
386
+ ]
387
+ },
388
+ "delete": {
389
+ "tags": [
390
+ "pet"
391
+ ],
392
+ "summary": "Deletes a pet",
393
+ "description": "",
394
+ "operationId": "deletePet",
395
+ "produces": [
396
+ "application/json",
397
+ "application/xml"
398
+ ],
399
+ "parameters": [
400
+ {
401
+ "name": "api_key",
402
+ "in": "header",
403
+ "required": false,
404
+ "type": "string"
405
+ },
406
+ {
407
+ "name": "petId",
408
+ "in": "path",
409
+ "description": "Pet id to delete",
410
+ "required": true,
411
+ "type": "integer",
412
+ "format": "int64"
413
+ }
414
+ ],
415
+ "responses": {
416
+ "400": {
417
+ "description": "Invalid ID supplied"
418
+ },
419
+ "404": {
420
+ "description": "Pet not found"
421
+ }
422
+ },
423
+ "security": [
424
+ {
425
+ "petstore_auth": [
426
+ "write:pets",
427
+ "read:pets"
428
+ ]
429
+ }
430
+ ]
431
+ }
432
+ },
433
+ "/store/inventory": {
434
+ "get": {
435
+ "tags": [
436
+ "store"
437
+ ],
438
+ "summary": "Returns pet inventories by status",
439
+ "description": "Returns a map of status codes to quantities",
440
+ "operationId": "getInventory",
441
+ "produces": [
442
+ "application/json"
443
+ ],
444
+ "parameters": [],
445
+ "responses": {
446
+ "200": {
447
+ "description": "successful operation",
448
+ "schema": {
449
+ "type": "object",
450
+ "additionalProperties": {
451
+ "type": "integer",
452
+ "format": "int32"
453
+ }
454
+ }
455
+ }
456
+ },
457
+ "security": [
458
+ {
459
+ "api_key": []
460
+ }
461
+ ]
462
+ }
463
+ },
464
+ "/store/order": {
465
+ "post": {
466
+ "tags": [
467
+ "store"
468
+ ],
469
+ "summary": "Place an order for a pet",
470
+ "description": "",
471
+ "operationId": "placeOrder",
472
+ "consumes": [
473
+ "application/json"
474
+ ],
475
+ "produces": [
476
+ "application/json",
477
+ "application/xml"
478
+ ],
479
+ "parameters": [
480
+ {
481
+ "in": "body",
482
+ "name": "body",
483
+ "description": "order placed for purchasing the pet",
484
+ "required": true,
485
+ "schema": {
486
+ "$ref": "#/definitions/Order"
487
+ }
488
+ }
489
+ ],
490
+ "responses": {
491
+ "200": {
492
+ "description": "successful operation",
493
+ "schema": {
494
+ "$ref": "#/definitions/Order"
495
+ }
496
+ },
497
+ "400": {
498
+ "description": "Invalid Order"
499
+ }
500
+ }
501
+ }
502
+ },
503
+ "/store/order/{orderId}": {
504
+ "get": {
505
+ "tags": [
506
+ "store"
507
+ ],
508
+ "summary": "Find purchase order by ID",
509
+ "description": "For valid response try integer IDs with value >= 1 and <= 10. Other values will generated exceptions",
510
+ "operationId": "getOrderById",
511
+ "produces": [
512
+ "application/json",
513
+ "application/xml"
514
+ ],
515
+ "parameters": [
516
+ {
517
+ "name": "orderId",
518
+ "in": "path",
519
+ "description": "ID of pet that needs to be fetched",
520
+ "required": true,
521
+ "type": "integer",
522
+ "maximum": 10,
523
+ "minimum": 1,
524
+ "format": "int64"
525
+ }
526
+ ],
527
+ "responses": {
528
+ "200": {
529
+ "description": "successful operation",
530
+ "schema": {
531
+ "$ref": "#/definitions/Order"
532
+ }
533
+ },
534
+ "400": {
535
+ "description": "Invalid ID supplied"
536
+ },
537
+ "404": {
538
+ "description": "Order not found"
539
+ }
540
+ }
541
+ },
542
+ "delete": {
543
+ "tags": [
544
+ "store"
545
+ ],
546
+ "summary": "Delete purchase order by ID",
547
+ "description": "For valid response try integer IDs with positive integer value. Negative or non-integer values will generate API errors",
548
+ "operationId": "deleteOrder",
549
+ "produces": [
550
+ "application/json",
551
+ "application/xml"
552
+ ],
553
+ "parameters": [
554
+ {
555
+ "name": "orderId",
556
+ "in": "path",
557
+ "description": "ID of the order that needs to be deleted",
558
+ "required": true,
559
+ "type": "integer",
560
+ "minimum": 1,
561
+ "format": "int64"
562
+ }
563
+ ],
564
+ "responses": {
565
+ "400": {
566
+ "description": "Invalid ID supplied"
567
+ },
568
+ "404": {
569
+ "description": "Order not found"
570
+ }
571
+ }
572
+ }
573
+ },
574
+ "/user/createWithList": {
575
+ "post": {
576
+ "tags": [
577
+ "user"
578
+ ],
579
+ "summary": "Creates list of users with given input array",
580
+ "description": "",
581
+ "operationId": "createUsersWithListInput",
582
+ "consumes": [
583
+ "application/json"
584
+ ],
585
+ "produces": [
586
+ "application/json",
587
+ "application/xml"
588
+ ],
589
+ "parameters": [
590
+ {
591
+ "in": "body",
592
+ "name": "body",
593
+ "description": "List of user object",
594
+ "required": true,
595
+ "schema": {
596
+ "type": "array",
597
+ "items": {
598
+ "$ref": "#/definitions/User"
599
+ }
600
+ }
601
+ }
602
+ ],
603
+ "responses": {
604
+ "default": {
605
+ "description": "successful operation"
606
+ }
607
+ }
608
+ }
609
+ },
610
+ "/user/{username}": {
611
+ "get": {
612
+ "tags": [
613
+ "user"
614
+ ],
615
+ "summary": "Get user by user name",
616
+ "description": "",
617
+ "operationId": "getUserByName",
618
+ "produces": [
619
+ "application/json",
620
+ "application/xml"
621
+ ],
622
+ "parameters": [
623
+ {
624
+ "name": "username",
625
+ "in": "path",
626
+ "description": "The name that needs to be fetched. Use user1 for testing. ",
627
+ "required": true,
628
+ "type": "string"
629
+ }
630
+ ],
631
+ "responses": {
632
+ "200": {
633
+ "description": "successful operation",
634
+ "schema": {
635
+ "$ref": "#/definitions/User"
636
+ }
637
+ },
638
+ "400": {
639
+ "description": "Invalid username supplied"
640
+ },
641
+ "404": {
642
+ "description": "User not found"
643
+ }
644
+ }
645
+ },
646
+ "put": {
647
+ "tags": [
648
+ "user"
649
+ ],
650
+ "summary": "Updated user",
651
+ "description": "This can only be done by the logged in user.",
652
+ "operationId": "updateUser",
653
+ "consumes": [
654
+ "application/json"
655
+ ],
656
+ "produces": [
657
+ "application/json",
658
+ "application/xml"
659
+ ],
660
+ "parameters": [
661
+ {
662
+ "name": "username",
663
+ "in": "path",
664
+ "description": "name that need to be updated",
665
+ "required": true,
666
+ "type": "string"
667
+ },
668
+ {
669
+ "in": "body",
670
+ "name": "body",
671
+ "description": "Updated user object",
672
+ "required": true,
673
+ "schema": {
674
+ "$ref": "#/definitions/User"
675
+ }
676
+ }
677
+ ],
678
+ "responses": {
679
+ "400": {
680
+ "description": "Invalid user supplied"
681
+ },
682
+ "404": {
683
+ "description": "User not found"
684
+ }
685
+ }
686
+ },
687
+ "delete": {
688
+ "tags": [
689
+ "user"
690
+ ],
691
+ "summary": "Delete user",
692
+ "description": "This can only be done by the logged in user.",
693
+ "operationId": "deleteUser",
694
+ "produces": [
695
+ "application/json",
696
+ "application/xml"
697
+ ],
698
+ "parameters": [
699
+ {
700
+ "name": "username",
701
+ "in": "path",
702
+ "description": "The name that needs to be deleted",
703
+ "required": true,
704
+ "type": "string"
705
+ }
706
+ ],
707
+ "responses": {
708
+ "400": {
709
+ "description": "Invalid username supplied"
710
+ },
711
+ "404": {
712
+ "description": "User not found"
713
+ }
714
+ }
715
+ }
716
+ },
717
+ "/user/login": {
718
+ "get": {
719
+ "tags": [
720
+ "user"
721
+ ],
722
+ "summary": "Logs user into the system",
723
+ "description": "",
724
+ "operationId": "loginUser",
725
+ "produces": [
726
+ "application/json",
727
+ "application/xml"
728
+ ],
729
+ "parameters": [
730
+ {
731
+ "name": "username",
732
+ "in": "query",
733
+ "description": "The user name for login",
734
+ "required": true,
735
+ "type": "string"
736
+ },
737
+ {
738
+ "name": "password",
739
+ "in": "query",
740
+ "description": "The password for login in clear text",
741
+ "required": true,
742
+ "type": "string"
743
+ }
744
+ ],
745
+ "responses": {
746
+ "200": {
747
+ "description": "successful operation",
748
+ "headers": {
749
+ "X-Expires-After": {
750
+ "type": "string",
751
+ "format": "date-time",
752
+ "description": "date in UTC when token expires"
753
+ },
754
+ "X-Rate-Limit": {
755
+ "type": "integer",
756
+ "format": "int32",
757
+ "description": "calls per hour allowed by the user"
758
+ }
759
+ },
760
+ "schema": {
761
+ "type": "string"
762
+ }
763
+ },
764
+ "400": {
765
+ "description": "Invalid username/password supplied"
766
+ }
767
+ }
768
+ }
769
+ },
770
+ "/user/logout": {
771
+ "get": {
772
+ "tags": [
773
+ "user"
774
+ ],
775
+ "summary": "Logs out current logged in user session",
776
+ "description": "",
777
+ "operationId": "logoutUser",
778
+ "produces": [
779
+ "application/json",
780
+ "application/xml"
781
+ ],
782
+ "parameters": [],
783
+ "responses": {
784
+ "default": {
785
+ "description": "successful operation"
786
+ }
787
+ }
788
+ }
789
+ },
790
+ "/user/createWithArray": {
791
+ "post": {
792
+ "tags": [
793
+ "user"
794
+ ],
795
+ "summary": "Creates list of users with given input array",
796
+ "description": "",
797
+ "operationId": "createUsersWithArrayInput",
798
+ "consumes": [
799
+ "application/json"
800
+ ],
801
+ "produces": [
802
+ "application/json",
803
+ "application/xml"
804
+ ],
805
+ "parameters": [
806
+ {
807
+ "in": "body",
808
+ "name": "body",
809
+ "description": "List of user object",
810
+ "required": true,
811
+ "schema": {
812
+ "type": "array",
813
+ "items": {
814
+ "$ref": "#/definitions/User"
815
+ }
816
+ }
817
+ }
818
+ ],
819
+ "responses": {
820
+ "default": {
821
+ "description": "successful operation"
822
+ }
823
+ }
824
+ }
825
+ },
826
+ "/user": {
827
+ "post": {
828
+ "tags": [
829
+ "user"
830
+ ],
831
+ "summary": "Create user",
832
+ "description": "This can only be done by the logged in user.",
833
+ "operationId": "createUser",
834
+ "consumes": [
835
+ "application/json"
836
+ ],
837
+ "produces": [
838
+ "application/json",
839
+ "application/xml"
840
+ ],
841
+ "parameters": [
842
+ {
843
+ "in": "body",
844
+ "name": "body",
845
+ "description": "Created user object",
846
+ "required": true,
847
+ "schema": {
848
+ "$ref": "#/definitions/User"
849
+ }
850
+ }
851
+ ],
852
+ "responses": {
853
+ "default": {
854
+ "description": "successful operation"
855
+ }
856
+ }
857
+ }
858
+ }
859
+ },
860
+ "securityDefinitions": {
861
+ "api_key": {
862
+ "type": "apiKey",
863
+ "name": "api_key",
864
+ "in": "header"
865
+ },
866
+ "petstore_auth": {
867
+ "type": "oauth2",
868
+ "authorizationUrl": "https://petstore.swagger.io/oauth/authorize",
869
+ "flow": "implicit",
870
+ "scopes": {
871
+ "read:pets": "read your pets",
872
+ "write:pets": "modify pets in your account"
873
+ }
874
+ }
875
+ },
876
+ "definitions": {
877
+ "ApiResponse": {
878
+ "type": "object",
879
+ "properties": {
880
+ "code": {
881
+ "type": "integer",
882
+ "format": "int32"
883
+ },
884
+ "type": {
885
+ "type": "string"
886
+ },
887
+ "message": {
888
+ "type": "string"
889
+ }
890
+ }
891
+ },
892
+ "Category": {
893
+ "type": "object",
894
+ "properties": {
895
+ "id": {
896
+ "type": "integer",
897
+ "format": "int64"
898
+ },
899
+ "name": {
900
+ "type": "string"
901
+ }
902
+ },
903
+ "xml": {
904
+ "name": "Category"
905
+ }
906
+ },
907
+ "Pet": {
908
+ "type": "object",
909
+ "required": [
910
+ "name",
911
+ "photoUrls"
912
+ ],
913
+ "properties": {
914
+ "id": {
915
+ "type": "integer",
916
+ "format": "int64"
917
+ },
918
+ "category": {
919
+ "$ref": "#/definitions/Category"
920
+ },
921
+ "name": {
922
+ "type": "string",
923
+ "example": "doggie"
924
+ },
925
+ "photoUrls": {
926
+ "type": "array",
927
+ "xml": {
928
+ "wrapped": true
929
+ },
930
+ "items": {
931
+ "type": "string",
932
+ "xml": {
933
+ "name": "photoUrl"
934
+ }
935
+ }
936
+ },
937
+ "tags": {
938
+ "type": "array",
939
+ "xml": {
940
+ "wrapped": true
941
+ },
942
+ "items": {
943
+ "xml": {
944
+ "name": "tag"
945
+ },
946
+ "$ref": "#/definitions/Tag"
947
+ }
948
+ },
949
+ "status": {
950
+ "type": "string",
951
+ "description": "pet status in the store",
952
+ "enum": [
953
+ "available",
954
+ "pending",
955
+ "sold"
956
+ ]
957
+ }
958
+ },
959
+ "xml": {
960
+ "name": "Pet"
961
+ }
962
+ },
963
+ "Tag": {
964
+ "type": "object",
965
+ "properties": {
966
+ "id": {
967
+ "type": "integer",
968
+ "format": "int64"
969
+ },
970
+ "name": {
971
+ "type": "string"
972
+ }
973
+ },
974
+ "xml": {
975
+ "name": "Tag"
976
+ }
977
+ },
978
+ "Order": {
979
+ "type": "object",
980
+ "properties": {
981
+ "id": {
982
+ "type": "integer",
983
+ "format": "int64"
984
+ },
985
+ "petId": {
986
+ "type": "integer",
987
+ "format": "int64"
988
+ },
989
+ "quantity": {
990
+ "type": "integer",
991
+ "format": "int32"
992
+ },
993
+ "shipDate": {
994
+ "type": "string",
995
+ "format": "date-time"
996
+ },
997
+ "status": {
998
+ "type": "string",
999
+ "description": "Order Status",
1000
+ "enum": [
1001
+ "placed",
1002
+ "approved",
1003
+ "delivered"
1004
+ ]
1005
+ },
1006
+ "complete": {
1007
+ "type": "boolean"
1008
+ }
1009
+ },
1010
+ "xml": {
1011
+ "name": "Order"
1012
+ }
1013
+ },
1014
+ "User": {
1015
+ "type": "object",
1016
+ "properties": {
1017
+ "id": {
1018
+ "type": "integer",
1019
+ "format": "int64"
1020
+ },
1021
+ "username": {
1022
+ "type": "string"
1023
+ },
1024
+ "firstName": {
1025
+ "type": "string"
1026
+ },
1027
+ "lastName": {
1028
+ "type": "string"
1029
+ },
1030
+ "email": {
1031
+ "type": "string"
1032
+ },
1033
+ "password": {
1034
+ "type": "string"
1035
+ },
1036
+ "phone": {
1037
+ "type": "string"
1038
+ },
1039
+ "userStatus": {
1040
+ "type": "integer",
1041
+ "format": "int32",
1042
+ "description": "User Status"
1043
+ }
1044
+ },
1045
+ "xml": {
1046
+ "name": "User"
1047
+ }
1048
+ }
1049
+ },
1050
+ "externalDocs": {
1051
+ "description": "Find out more about Swagger",
1052
+ "url": "http://swagger.io"
1053
+ }
1054
+ }