open_api-loader 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +7 -0
  2. data/.codeclimate.yml +15 -0
  3. data/.gitignore +13 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +28 -0
  6. data/.travis.yml +24 -0
  7. data/CHANGELOG.md +10 -0
  8. data/Gemfile +8 -0
  9. data/LICENSE.txt +21 -0
  10. data/README.md +99 -0
  11. data/Rakefile +10 -0
  12. data/bin/console +6 -0
  13. data/bin/setup +6 -0
  14. data/lib/open_api-loader.rb +1 -0
  15. data/lib/open_api/loader.rb +44 -0
  16. data/lib/open_api/loader/collector.rb +61 -0
  17. data/lib/open_api/loader/denormalizer.rb +27 -0
  18. data/lib/open_api/loader/denormalizer/parameters.rb +46 -0
  19. data/lib/open_api/loader/denormalizer/security.rb +35 -0
  20. data/lib/open_api/loader/denormalizer/servers.rb +36 -0
  21. data/lib/open_api/loader/denormalizer/variables.rb +54 -0
  22. data/lib/open_api/loader/reader.rb +47 -0
  23. data/lib/open_api/loader/ref.rb +85 -0
  24. data/lib/open_api/loader/translator.rb +50 -0
  25. data/lib/open_api/loader/translator/clean_definitions.rb +16 -0
  26. data/lib/open_api/loader/translator/convert_bodies.rb +77 -0
  27. data/lib/open_api/loader/translator/convert_forms.rb +71 -0
  28. data/lib/open_api/loader/translator/convert_parameters.rb +135 -0
  29. data/lib/open_api/loader/translator/convert_responses.rb +63 -0
  30. data/lib/open_api/loader/translator/convert_security_schemes.rb +49 -0
  31. data/lib/open_api/loader/translator/convert_servers.rb +46 -0
  32. data/lib/open_api/loader/translator/convert_version.rb +12 -0
  33. data/lib/open_api/loader/translator/denormalize_consumes.rb +44 -0
  34. data/lib/open_api/loader/translator/denormalize_parameters.rb +55 -0
  35. data/lib/open_api/loader/translator/denormalize_produces.rb +53 -0
  36. data/open_api-loader.gemspec +25 -0
  37. data/spec/fixtures/oas2/collected.yaml +1012 -0
  38. data/spec/fixtures/oas2/denormalized.yaml +1462 -0
  39. data/spec/fixtures/oas2/loaded.yaml +564 -0
  40. data/spec/fixtures/oas2/models.yaml +118 -0
  41. data/spec/fixtures/oas2/source.json +1 -0
  42. data/spec/fixtures/oas2/source.yaml +569 -0
  43. data/spec/fixtures/oas2/translated.yaml +1396 -0
  44. data/spec/fixtures/oas3/collected.yaml +233 -0
  45. data/spec/fixtures/oas3/denormalized.yaml +233 -0
  46. data/spec/fixtures/oas3/source.json +1 -0
  47. data/spec/fixtures/oas3/source.yaml +217 -0
  48. data/spec/loader_spec.rb +53 -0
  49. data/spec/spec_helper.rb +17 -0
  50. data/spec/support/fixture_helpers.rb +18 -0
  51. data/spec/support/path_helpers.rb +27 -0
  52. data/spec/unit/collector_spec.rb +31 -0
  53. data/spec/unit/denormalizer_spec.rb +17 -0
  54. data/spec/unit/reader_spec.rb +53 -0
  55. data/spec/unit/ref_spec.rb +107 -0
  56. data/spec/unit/translator_spec.rb +15 -0
  57. metadata +232 -0
@@ -0,0 +1,1462 @@
1
+ ---
2
+ openapi: 3.0.0
3
+ info:
4
+ description: 'This is a sample server Petstore server. You can find out more about Swagger
5
+ at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For
6
+ this sample, you can use the api key `special-key` to test the authorization filters.'
7
+ version: 1.0.0
8
+ title: Swagger Petstore
9
+ termsOfService: http://swagger.io/terms/
10
+ contact:
11
+ email: apiteam@swagger.io
12
+ license:
13
+ name: Apache 2.0
14
+ url: http://www.apache.org/licenses/LICENSE-2.0.html
15
+ tags:
16
+ - name: pet
17
+ description: Everything about your Pets
18
+ externalDocs:
19
+ description: Find out more
20
+ url: http://swagger.io
21
+ - name: store
22
+ description: Access to Petstore orders
23
+ - name: user
24
+ description: Operations about user
25
+ externalDocs:
26
+ description: Find out more about our store
27
+ url: http://swagger.io
28
+ paths:
29
+ "/pet":
30
+ post:
31
+ tags:
32
+ - pet
33
+ summary: Add a new pet to the store
34
+ description: ''
35
+ operationId: addPet
36
+ servers:
37
+ - url: http://petstore.swagger.io/v2
38
+ requestBody:
39
+ description: Pet object that needs to be added to the store
40
+ required: true
41
+ content:
42
+ application/json:
43
+ schema:
44
+ type: object
45
+ required:
46
+ - name
47
+ - photoUrls
48
+ properties:
49
+ id:
50
+ type: integer
51
+ format: int64
52
+ category:
53
+ type: object
54
+ properties:
55
+ id:
56
+ type: integer
57
+ format: int64
58
+ name:
59
+ type: string
60
+ name:
61
+ type: string
62
+ example: doggie
63
+ photoUrls:
64
+ type: array
65
+ items:
66
+ type: string
67
+ tags:
68
+ type: array
69
+ items:
70
+ type: object
71
+ properties:
72
+ id:
73
+ type: integer
74
+ format: int64
75
+ name:
76
+ type: string
77
+ status:
78
+ type: string
79
+ description: pet status in the store
80
+ enum:
81
+ - available
82
+ - pending
83
+ - sold
84
+ application/xml:
85
+ schema:
86
+ type: object
87
+ required:
88
+ - name
89
+ - photoUrls
90
+ properties:
91
+ id:
92
+ type: integer
93
+ format: int64
94
+ category:
95
+ type: object
96
+ properties:
97
+ id:
98
+ type: integer
99
+ format: int64
100
+ name:
101
+ type: string
102
+ xml:
103
+ name: Category
104
+ name:
105
+ type: string
106
+ example: doggie
107
+ photoUrls:
108
+ type: array
109
+ xml:
110
+ name: photoUrl
111
+ wrapped: true
112
+ items:
113
+ type: string
114
+ tags:
115
+ type: array
116
+ xml:
117
+ name: tag
118
+ wrapped: true
119
+ items:
120
+ type: object
121
+ properties:
122
+ id:
123
+ type: integer
124
+ format: int64
125
+ name:
126
+ type: string
127
+ xml:
128
+ name: Tag
129
+ status:
130
+ type: string
131
+ description: pet status in the store
132
+ enum:
133
+ - available
134
+ - pending
135
+ - sold
136
+ xml:
137
+ name: Pet
138
+ responses:
139
+ '405':
140
+ description: Invalid input
141
+ security:
142
+ - petstore_auth:
143
+ - write:pets
144
+ - read:pets
145
+ put:
146
+ tags:
147
+ - pet
148
+ summary: Update an existing pet
149
+ description: ''
150
+ operationId: updatePet
151
+ servers:
152
+ - url: http://petstore.swagger.io/v2
153
+ requestBody:
154
+ description: Pet object that needs to be added to the store
155
+ required: true
156
+ content:
157
+ application/json:
158
+ schema:
159
+ type: object
160
+ required:
161
+ - name
162
+ - photoUrls
163
+ properties:
164
+ id:
165
+ type: integer
166
+ format: int64
167
+ category:
168
+ type: object
169
+ properties:
170
+ id:
171
+ type: integer
172
+ format: int64
173
+ name:
174
+ type: string
175
+ name:
176
+ type: string
177
+ example: doggie
178
+ photoUrls:
179
+ type: array
180
+ items:
181
+ type: string
182
+ tags:
183
+ type: array
184
+ items:
185
+ type: object
186
+ properties:
187
+ id:
188
+ type: integer
189
+ format: int64
190
+ name:
191
+ type: string
192
+ status:
193
+ type: string
194
+ description: pet status in the store
195
+ enum:
196
+ - available
197
+ - pending
198
+ - sold
199
+ application/xml:
200
+ schema:
201
+ type: object
202
+ required:
203
+ - name
204
+ - photoUrls
205
+ properties:
206
+ id:
207
+ type: integer
208
+ format: int64
209
+ category:
210
+ type: object
211
+ properties:
212
+ id:
213
+ type: integer
214
+ format: int64
215
+ name:
216
+ type: string
217
+ xml:
218
+ name: Category
219
+ name:
220
+ type: string
221
+ example: doggie
222
+ photoUrls:
223
+ type: array
224
+ xml:
225
+ name: photoUrl
226
+ wrapped: true
227
+ items:
228
+ type: string
229
+ tags:
230
+ type: array
231
+ xml:
232
+ name: tag
233
+ wrapped: true
234
+ items:
235
+ type: object
236
+ properties:
237
+ id:
238
+ type: integer
239
+ format: int64
240
+ name:
241
+ type: string
242
+ xml:
243
+ name: Tag
244
+ status:
245
+ type: string
246
+ description: pet status in the store
247
+ enum:
248
+ - available
249
+ - pending
250
+ - sold
251
+ xml:
252
+ name: Pet
253
+ responses:
254
+ '400':
255
+ description: Invalid ID supplied
256
+ '404':
257
+ description: Pet not found
258
+ '405':
259
+ description: Validators exception
260
+ security:
261
+ - petstore_auth:
262
+ - write:pets
263
+ - read:pets
264
+ "/pet/findByStatus":
265
+ get:
266
+ tags:
267
+ - pet
268
+ summary: Finds Pets by status
269
+ description: Multiple status values can be provided with comma separated strings
270
+ operationId: findPetsByStatus
271
+ servers:
272
+ - url: http://petstore.swagger.io/v2
273
+ parameters:
274
+ - name: status
275
+ in: query
276
+ description: Status values that need to be considered for filter
277
+ required: true
278
+ schema:
279
+ type: array
280
+ items:
281
+ type: string
282
+ enum:
283
+ - available
284
+ - pending
285
+ - sold
286
+ default: available
287
+ style: form
288
+ explode: true
289
+ responses:
290
+ '200':
291
+ description: successful operation
292
+ content:
293
+ application/json:
294
+ schema:
295
+ type: array
296
+ items:
297
+ type: object
298
+ required:
299
+ - name
300
+ - photoUrls
301
+ properties:
302
+ id:
303
+ type: integer
304
+ format: int64
305
+ category:
306
+ type: object
307
+ properties:
308
+ id:
309
+ type: integer
310
+ format: int64
311
+ name:
312
+ type: string
313
+ name:
314
+ type: string
315
+ example: doggie
316
+ photoUrls:
317
+ type: array
318
+ items:
319
+ type: string
320
+ tags:
321
+ type: array
322
+ items:
323
+ type: object
324
+ properties:
325
+ id:
326
+ type: integer
327
+ format: int64
328
+ name:
329
+ type: string
330
+ status:
331
+ type: string
332
+ description: pet status in the store
333
+ enum:
334
+ - available
335
+ - pending
336
+ - sold
337
+ application/xml:
338
+ schema:
339
+ type: array
340
+ items:
341
+ type: object
342
+ required:
343
+ - name
344
+ - photoUrls
345
+ properties:
346
+ id:
347
+ type: integer
348
+ format: int64
349
+ category:
350
+ type: object
351
+ properties:
352
+ id:
353
+ type: integer
354
+ format: int64
355
+ name:
356
+ type: string
357
+ xml:
358
+ name: Category
359
+ name:
360
+ type: string
361
+ example: doggie
362
+ photoUrls:
363
+ type: array
364
+ xml:
365
+ name: photoUrl
366
+ wrapped: true
367
+ items:
368
+ type: string
369
+ tags:
370
+ type: array
371
+ xml:
372
+ name: tag
373
+ wrapped: true
374
+ items:
375
+ type: object
376
+ properties:
377
+ id:
378
+ type: integer
379
+ format: int64
380
+ name:
381
+ type: string
382
+ xml:
383
+ name: Tag
384
+ status:
385
+ type: string
386
+ description: pet status in the store
387
+ enum:
388
+ - available
389
+ - pending
390
+ - sold
391
+ xml:
392
+ name: Pet
393
+ '400':
394
+ description: Invalid status value
395
+ security:
396
+ - petstore_auth:
397
+ - write:pets
398
+ - read:pets
399
+ "/pet/findByTags":
400
+ get:
401
+ tags:
402
+ - pet
403
+ summary: Finds Pets by tags
404
+ description: Muliple tags can be provided with comma separated strings. Use tag1,
405
+ tag2, tag3 for testing.
406
+ operationId: findPetsByTags
407
+ servers:
408
+ - url: http://petstore.swagger.io/v2
409
+ parameters:
410
+ - name: tags
411
+ in: query
412
+ description: Tags to filter by
413
+ required: true
414
+ schema:
415
+ type: array
416
+ items:
417
+ type: string
418
+ style: form
419
+ explode: true
420
+ responses:
421
+ '200':
422
+ description: successful operation
423
+ content:
424
+ application/json:
425
+ schema:
426
+ type: array
427
+ items:
428
+ type: object
429
+ required:
430
+ - name
431
+ - photoUrls
432
+ properties:
433
+ id:
434
+ type: integer
435
+ format: int64
436
+ category:
437
+ type: object
438
+ properties:
439
+ id:
440
+ type: integer
441
+ format: int64
442
+ name:
443
+ type: string
444
+ name:
445
+ type: string
446
+ example: doggie
447
+ photoUrls:
448
+ type: array
449
+ items:
450
+ type: string
451
+ tags:
452
+ type: array
453
+ items:
454
+ type: object
455
+ properties:
456
+ id:
457
+ type: integer
458
+ format: int64
459
+ name:
460
+ type: string
461
+ status:
462
+ type: string
463
+ description: pet status in the store
464
+ enum:
465
+ - available
466
+ - pending
467
+ - sold
468
+ application/xml:
469
+ schema:
470
+ type: array
471
+ items:
472
+ type: object
473
+ required:
474
+ - name
475
+ - photoUrls
476
+ properties:
477
+ id:
478
+ type: integer
479
+ format: int64
480
+ category:
481
+ type: object
482
+ properties:
483
+ id:
484
+ type: integer
485
+ format: int64
486
+ name:
487
+ type: string
488
+ xml:
489
+ name: Category
490
+ name:
491
+ type: string
492
+ example: doggie
493
+ photoUrls:
494
+ type: array
495
+ xml:
496
+ name: photoUrl
497
+ wrapped: true
498
+ items:
499
+ type: string
500
+ tags:
501
+ type: array
502
+ xml:
503
+ name: tag
504
+ wrapped: true
505
+ items:
506
+ type: object
507
+ properties:
508
+ id:
509
+ type: integer
510
+ format: int64
511
+ name:
512
+ type: string
513
+ xml:
514
+ name: Tag
515
+ status:
516
+ type: string
517
+ description: pet status in the store
518
+ enum:
519
+ - available
520
+ - pending
521
+ - sold
522
+ xml:
523
+ name: Pet
524
+ '400':
525
+ description: Invalid tag value
526
+ security:
527
+ - petstore_auth:
528
+ - write:pets
529
+ - read:pets
530
+ deprecated: true
531
+ "/pet/{petId}":
532
+ get:
533
+ tags:
534
+ - pet
535
+ summary: Find pet by ID
536
+ description: Returns a single pet
537
+ operationId: getPetById
538
+ servers:
539
+ - url: http://petstore.swagger.io/v2
540
+ parameters:
541
+ - name: petId
542
+ in: path
543
+ description: ID of pet
544
+ required: true
545
+ schema:
546
+ type: integer
547
+ format: int64
548
+ responses:
549
+ '200':
550
+ description: successful operation
551
+ content:
552
+ application/xml:
553
+ schema:
554
+ type: object
555
+ required:
556
+ - name
557
+ - photoUrls
558
+ properties:
559
+ id:
560
+ type: integer
561
+ format: int64
562
+ category:
563
+ type: object
564
+ properties:
565
+ id:
566
+ type: integer
567
+ format: int64
568
+ name:
569
+ type: string
570
+ xml:
571
+ name: Category
572
+ name:
573
+ type: string
574
+ example: doggie
575
+ photoUrls:
576
+ type: array
577
+ xml:
578
+ name: photoUrl
579
+ wrapped: true
580
+ items:
581
+ type: string
582
+ tags:
583
+ type: array
584
+ xml:
585
+ name: tag
586
+ wrapped: true
587
+ items:
588
+ type: object
589
+ properties:
590
+ id:
591
+ type: integer
592
+ format: int64
593
+ name:
594
+ type: string
595
+ xml:
596
+ name: Tag
597
+ status:
598
+ type: string
599
+ description: pet status in the store
600
+ enum:
601
+ - available
602
+ - pending
603
+ - sold
604
+ xml:
605
+ name: Pet
606
+ application/json:
607
+ schema:
608
+ type: object
609
+ required:
610
+ - name
611
+ - photoUrls
612
+ properties:
613
+ id:
614
+ type: integer
615
+ format: int64
616
+ category:
617
+ type: object
618
+ properties:
619
+ id:
620
+ type: integer
621
+ format: int64
622
+ name:
623
+ type: string
624
+ name:
625
+ type: string
626
+ example: doggie
627
+ photoUrls:
628
+ type: array
629
+ items:
630
+ type: string
631
+ tags:
632
+ type: array
633
+ items:
634
+ type: object
635
+ properties:
636
+ id:
637
+ type: integer
638
+ format: int64
639
+ name:
640
+ type: string
641
+ status:
642
+ type: string
643
+ description: pet status in the store
644
+ enum:
645
+ - available
646
+ - pending
647
+ - sold
648
+ '400':
649
+ description: Invalid ID supplied
650
+ '404':
651
+ description: Pet not found
652
+ security:
653
+ - api_key: []
654
+ post:
655
+ tags:
656
+ - pet
657
+ summary: Updates a pet in the store with form data
658
+ description: ''
659
+ operationId: updatePetWithForm
660
+ servers:
661
+ - url: http://petstore.swagger.io/v2
662
+ parameters:
663
+ - name: petId
664
+ in: path
665
+ description: ID of pet
666
+ required: true
667
+ schema:
668
+ type: integer
669
+ format: int64
670
+ requestBody:
671
+ content:
672
+ application/x-www-form-urlencoded:
673
+ schema:
674
+ type: object
675
+ properties:
676
+ name:
677
+ description: Updated name of the pet
678
+ required: false
679
+ type: string
680
+ status:
681
+ description: Updated status of the pet
682
+ required: false
683
+ type: string
684
+ responses:
685
+ '405':
686
+ description: Invalid input
687
+ security:
688
+ - petstore_auth:
689
+ - write:pets
690
+ - read:pets
691
+ delete:
692
+ tags:
693
+ - pet
694
+ summary: Deletes a pet
695
+ description: ''
696
+ operationId: deletePet
697
+ servers:
698
+ - url: http://petstore.swagger.io/v2
699
+ parameters:
700
+ - name: petId
701
+ in: path
702
+ description: ID of pet
703
+ required: true
704
+ schema:
705
+ type: integer
706
+ format: int64
707
+ - name: api_key
708
+ in: header
709
+ required: false
710
+ schema:
711
+ type: string
712
+ responses:
713
+ '400':
714
+ description: Invalid ID supplied
715
+ '404':
716
+ description: Pet not found
717
+ security:
718
+ - petstore_auth:
719
+ - write:pets
720
+ - read:pets
721
+ "/pet/{petId}/uploadImage":
722
+ post:
723
+ tags:
724
+ - pet
725
+ summary: uploads an image
726
+ description: ''
727
+ operationId: uploadFile
728
+ servers:
729
+ - url: http://petstore.swagger.io/v2
730
+ parameters:
731
+ - name: petId
732
+ in: path
733
+ description: ID of pet
734
+ required: true
735
+ schema:
736
+ type: integer
737
+ format: int64
738
+ requestBody:
739
+ content:
740
+ multipart/form-data:
741
+ schema:
742
+ type: object
743
+ properties:
744
+ additionalMetadata:
745
+ description: Additional data to pass to server
746
+ required: false
747
+ type: string
748
+ file:
749
+ description: file to upload
750
+ required: false
751
+ type: string
752
+ responses:
753
+ '200':
754
+ description: successful operation
755
+ content:
756
+ application/json:
757
+ schema:
758
+ type: object
759
+ properties:
760
+ code:
761
+ type: integer
762
+ format: int32
763
+ type:
764
+ type: string
765
+ message:
766
+ type: string
767
+ security:
768
+ - petstore_auth:
769
+ - write:pets
770
+ - read:pets
771
+ "/store/inventory":
772
+ get:
773
+ tags:
774
+ - store
775
+ summary: Returns pet inventories by status
776
+ description: Returns a map of status codes to quantities
777
+ operationId: getInventory
778
+ servers:
779
+ - url: http://petstore.swagger.io/v2
780
+ responses:
781
+ '200':
782
+ description: successful operation
783
+ content:
784
+ application/json:
785
+ schema:
786
+ type: object
787
+ additionalProperties:
788
+ type: integer
789
+ format: int32
790
+ security:
791
+ - api_key: []
792
+ "/store/order":
793
+ post:
794
+ tags:
795
+ - store
796
+ summary: Place an order for a pet
797
+ description: ''
798
+ operationId: placeOrder
799
+ servers:
800
+ - url: http://petstore.swagger.io/v2
801
+ requestBody:
802
+ required: true
803
+ description: order placed for purchasing the pet
804
+ content:
805
+ application/json:
806
+ schema:
807
+ type: object
808
+ properties:
809
+ id:
810
+ type: integer
811
+ format: int64
812
+ petId:
813
+ type: integer
814
+ format: int64
815
+ quantity:
816
+ type: integer
817
+ format: int32
818
+ shipDate:
819
+ type: string
820
+ format: date-time
821
+ status:
822
+ type: string
823
+ description: Order Status
824
+ enum:
825
+ - placed
826
+ - approved
827
+ - delivered
828
+ complete:
829
+ type: boolean
830
+ default: false
831
+ application/xml:
832
+ schema:
833
+ type: object
834
+ properties:
835
+ id:
836
+ type: integer
837
+ format: int64
838
+ petId:
839
+ type: integer
840
+ format: int64
841
+ quantity:
842
+ type: integer
843
+ format: int32
844
+ shipDate:
845
+ type: string
846
+ format: date-time
847
+ status:
848
+ type: string
849
+ description: Order Status
850
+ enum:
851
+ - placed
852
+ - approved
853
+ - delivered
854
+ complete:
855
+ type: boolean
856
+ default: false
857
+ xml:
858
+ name: Order
859
+ responses:
860
+ '200':
861
+ description: successful operation
862
+ content:
863
+ application/json:
864
+ schema:
865
+ type: object
866
+ properties:
867
+ id:
868
+ type: integer
869
+ format: int64
870
+ petId:
871
+ type: integer
872
+ format: int64
873
+ quantity:
874
+ type: integer
875
+ format: int32
876
+ shipDate:
877
+ type: string
878
+ format: date-time
879
+ status:
880
+ type: string
881
+ description: Order Status
882
+ enum:
883
+ - placed
884
+ - approved
885
+ - delivered
886
+ complete:
887
+ type: boolean
888
+ default: false
889
+ application/xml:
890
+ schema:
891
+ type: object
892
+ properties:
893
+ id:
894
+ type: integer
895
+ format: int64
896
+ petId:
897
+ type: integer
898
+ format: int64
899
+ quantity:
900
+ type: integer
901
+ format: int32
902
+ shipDate:
903
+ type: string
904
+ format: date-time
905
+ status:
906
+ type: string
907
+ description: Order Status
908
+ enum:
909
+ - placed
910
+ - approved
911
+ - delivered
912
+ complete:
913
+ type: boolean
914
+ default: false
915
+ xml:
916
+ name: Order
917
+ '400':
918
+ description: Invalid Order
919
+ "/store/order/{orderId}":
920
+ get:
921
+ tags:
922
+ - store
923
+ summary: Find purchase order by ID
924
+ description: For valid response try integer IDs with value >= 1 and <= 10. Other
925
+ values will generated exceptions
926
+ operationId: getOrderById
927
+ servers:
928
+ - url: http://petstore.swagger.io/v2
929
+ parameters:
930
+ - name: "orderId"
931
+ in: "path"
932
+ description: ID of purchase order
933
+ required: true
934
+ schema:
935
+ type: "integer"
936
+ maximum: 10.0
937
+ minimum: 1.0
938
+ format: "int64"
939
+ responses:
940
+ '200':
941
+ description: successful operation
942
+ content:
943
+ application/json:
944
+ schema:
945
+ type: object
946
+ properties:
947
+ id:
948
+ type: integer
949
+ format: int64
950
+ petId:
951
+ type: integer
952
+ format: int64
953
+ quantity:
954
+ type: integer
955
+ format: int32
956
+ shipDate:
957
+ type: string
958
+ format: date-time
959
+ status:
960
+ type: string
961
+ description: Order Status
962
+ enum:
963
+ - placed
964
+ - approved
965
+ - delivered
966
+ complete:
967
+ type: boolean
968
+ default: false
969
+ application/xml:
970
+ schema:
971
+ type: object
972
+ properties:
973
+ id:
974
+ type: integer
975
+ format: int64
976
+ petId:
977
+ type: integer
978
+ format: int64
979
+ quantity:
980
+ type: integer
981
+ format: int32
982
+ shipDate:
983
+ type: string
984
+ format: date-time
985
+ status:
986
+ type: string
987
+ description: Order Status
988
+ enum:
989
+ - placed
990
+ - approved
991
+ - delivered
992
+ complete:
993
+ type: boolean
994
+ default: false
995
+ xml:
996
+ name: Order
997
+ '400':
998
+ description: Invalid ID supplied
999
+ '404':
1000
+ description: Order not found
1001
+ delete:
1002
+ tags:
1003
+ - store
1004
+ summary: Delete purchase order by ID
1005
+ description: For valid response try integer IDs with positive integer value. Negative
1006
+ or non-integer values will generate API errors
1007
+ operationId: deleteOrder
1008
+ servers:
1009
+ - url: http://petstore.swagger.io/v2
1010
+ parameters:
1011
+ - name: "orderId"
1012
+ in: "path"
1013
+ description: ID of purchase order
1014
+ required: true
1015
+ schema:
1016
+ type: "integer"
1017
+ maximum: 10.0
1018
+ minimum: 1.0
1019
+ format: "int64"
1020
+ responses:
1021
+ '400':
1022
+ description: Invalid ID supplied
1023
+ '404':
1024
+ description: Order not found
1025
+ "/user":
1026
+ post:
1027
+ tags:
1028
+ - user
1029
+ summary: Create user
1030
+ description: This can only be done by the logged in user.
1031
+ operationId: createUser
1032
+ servers:
1033
+ - url: http://petstore.swagger.io/v2
1034
+ requestBody:
1035
+ description: Created user object
1036
+ required: true
1037
+ content:
1038
+ application/json:
1039
+ schema:
1040
+ type: object
1041
+ properties:
1042
+ id:
1043
+ type: integer
1044
+ format: int64
1045
+ username:
1046
+ type: string
1047
+ firstName:
1048
+ type: string
1049
+ lastName:
1050
+ type: string
1051
+ email:
1052
+ type: string
1053
+ password:
1054
+ type: string
1055
+ phone:
1056
+ type: string
1057
+ userStatus:
1058
+ type: integer
1059
+ format: int32
1060
+ description: User Status
1061
+ application/xml:
1062
+ schema:
1063
+ type: object
1064
+ properties:
1065
+ id:
1066
+ type: integer
1067
+ format: int64
1068
+ username:
1069
+ type: string
1070
+ firstName:
1071
+ type: string
1072
+ lastName:
1073
+ type: string
1074
+ email:
1075
+ type: string
1076
+ password:
1077
+ type: string
1078
+ phone:
1079
+ type: string
1080
+ userStatus:
1081
+ type: integer
1082
+ format: int32
1083
+ description: User Status
1084
+ xml:
1085
+ name: User
1086
+ responses:
1087
+ default:
1088
+ description: successful operation
1089
+ "/user/createWithArray":
1090
+ post:
1091
+ tags:
1092
+ - user
1093
+ summary: Creates list of users with given input array
1094
+ description: ''
1095
+ operationId: createUsersWithArrayInput
1096
+ servers:
1097
+ - url: http://petstore.swagger.io/v2
1098
+ requestBody:
1099
+ description: List of user object
1100
+ required: true
1101
+ content:
1102
+ application/json:
1103
+ schema:
1104
+ type: array
1105
+ items:
1106
+ type: object
1107
+ properties:
1108
+ id:
1109
+ type: integer
1110
+ format: int64
1111
+ username:
1112
+ type: string
1113
+ firstName:
1114
+ type: string
1115
+ lastName:
1116
+ type: string
1117
+ email:
1118
+ type: string
1119
+ password:
1120
+ type: string
1121
+ phone:
1122
+ type: string
1123
+ userStatus:
1124
+ type: integer
1125
+ format: int32
1126
+ description: User Status
1127
+ application/xml:
1128
+ schema:
1129
+ type: array
1130
+ items:
1131
+ type: object
1132
+ properties:
1133
+ id:
1134
+ type: integer
1135
+ format: int64
1136
+ username:
1137
+ type: string
1138
+ firstName:
1139
+ type: string
1140
+ lastName:
1141
+ type: string
1142
+ email:
1143
+ type: string
1144
+ password:
1145
+ type: string
1146
+ phone:
1147
+ type: string
1148
+ userStatus:
1149
+ type: integer
1150
+ format: int32
1151
+ description: User Status
1152
+ xml:
1153
+ name: User
1154
+ responses:
1155
+ default:
1156
+ description: successful operation
1157
+ "/user/createWithList":
1158
+ post:
1159
+ tags:
1160
+ - user
1161
+ summary: Creates list of users with given input array
1162
+ description: ''
1163
+ operationId: createUsersWithListInput
1164
+ servers:
1165
+ - url: http://petstore.swagger.io/v2
1166
+ requestBody:
1167
+ description: List of user object
1168
+ required: true
1169
+ content:
1170
+ application/json:
1171
+ schema:
1172
+ type: array
1173
+ items:
1174
+ type: object
1175
+ properties:
1176
+ id:
1177
+ type: integer
1178
+ format: int64
1179
+ username:
1180
+ type: string
1181
+ firstName:
1182
+ type: string
1183
+ lastName:
1184
+ type: string
1185
+ email:
1186
+ type: string
1187
+ password:
1188
+ type: string
1189
+ phone:
1190
+ type: string
1191
+ userStatus:
1192
+ type: integer
1193
+ format: int32
1194
+ description: User Status
1195
+ application/xml:
1196
+ schema:
1197
+ type: array
1198
+ items:
1199
+ type: object
1200
+ properties:
1201
+ id:
1202
+ type: integer
1203
+ format: int64
1204
+ username:
1205
+ type: string
1206
+ firstName:
1207
+ type: string
1208
+ lastName:
1209
+ type: string
1210
+ email:
1211
+ type: string
1212
+ password:
1213
+ type: string
1214
+ phone:
1215
+ type: string
1216
+ userStatus:
1217
+ type: integer
1218
+ format: int32
1219
+ description: User Status
1220
+ xml:
1221
+ name: User
1222
+ responses:
1223
+ default:
1224
+ description: successful operation
1225
+ "/user/login":
1226
+ get:
1227
+ tags:
1228
+ - user
1229
+ summary: Logs user into the system
1230
+ description: ''
1231
+ operationId: loginUser
1232
+ servers:
1233
+ - url: http://petstore.swagger.io/v2
1234
+ parameters:
1235
+ - name: username
1236
+ in: query
1237
+ description: The user name for login
1238
+ required: true
1239
+ schema:
1240
+ type: string
1241
+ - name: password
1242
+ in: query
1243
+ description: The password for login in clear text
1244
+ required: true
1245
+ schema:
1246
+ type: string
1247
+ responses:
1248
+ '200':
1249
+ description: successful operation
1250
+ headers:
1251
+ X-Rate-Limit:
1252
+ description: calls per hour allowed by the user
1253
+ schema:
1254
+ type: integer
1255
+ format: int32
1256
+ X-Expires-After:
1257
+ description: date in UTC when token expires
1258
+ schema:
1259
+ type: string
1260
+ format: date-time
1261
+ content:
1262
+ application/xml:
1263
+ schema:
1264
+ type: string
1265
+ application/json:
1266
+ schema:
1267
+ type: string
1268
+ '400':
1269
+ description: Invalid username/password supplied
1270
+ "/user/logout":
1271
+ get:
1272
+ tags:
1273
+ - user
1274
+ summary: Logs out current logged in user session
1275
+ description: ''
1276
+ operationId: logoutUser
1277
+ servers:
1278
+ - url: http://petstore.swagger.io/v2
1279
+ responses:
1280
+ default:
1281
+ description: successful operation
1282
+ "/user/{username}":
1283
+ get:
1284
+ tags:
1285
+ - user
1286
+ summary: Get user by user name
1287
+ description: ''
1288
+ operationId: getUserByName
1289
+ servers:
1290
+ - url: http://petstore.swagger.io/v2
1291
+ parameters:
1292
+ - name: username
1293
+ in: path
1294
+ description: 'The name of the user. Use user1 for testing. '
1295
+ required: true
1296
+ schema:
1297
+ type: string
1298
+ responses:
1299
+ '200':
1300
+ description: successful operation
1301
+ content:
1302
+ application/json:
1303
+ schema:
1304
+ type: object
1305
+ properties:
1306
+ id:
1307
+ type: integer
1308
+ format: int64
1309
+ username:
1310
+ type: string
1311
+ firstName:
1312
+ type: string
1313
+ lastName:
1314
+ type: string
1315
+ email:
1316
+ type: string
1317
+ password:
1318
+ type: string
1319
+ phone:
1320
+ type: string
1321
+ userStatus:
1322
+ type: integer
1323
+ format: int32
1324
+ description: User Status
1325
+ application/xml:
1326
+ schema:
1327
+ type: object
1328
+ properties:
1329
+ id:
1330
+ type: integer
1331
+ format: int64
1332
+ username:
1333
+ type: string
1334
+ firstName:
1335
+ type: string
1336
+ lastName:
1337
+ type: string
1338
+ email:
1339
+ type: string
1340
+ password:
1341
+ type: string
1342
+ phone:
1343
+ type: string
1344
+ userStatus:
1345
+ type: integer
1346
+ format: int32
1347
+ description: User Status
1348
+ xml:
1349
+ name: User
1350
+ '400':
1351
+ description: Invalid username supplied
1352
+ '404':
1353
+ description: User not found
1354
+ put:
1355
+ tags:
1356
+ - user
1357
+ summary: Updated user
1358
+ description: This can only be done by the logged in user.
1359
+ operationId: updateUser
1360
+ servers:
1361
+ - url: http://petstore.swagger.io/v2
1362
+ parameters:
1363
+ - name: username
1364
+ in: path
1365
+ description: 'The name of the user. Use user1 for testing. '
1366
+ required: true
1367
+ schema:
1368
+ type: string
1369
+ requestBody:
1370
+ description: Updated user object
1371
+ required: true
1372
+ content:
1373
+ application/json:
1374
+ schema:
1375
+ type: object
1376
+ properties:
1377
+ id:
1378
+ type: integer
1379
+ format: int64
1380
+ username:
1381
+ type: string
1382
+ firstName:
1383
+ type: string
1384
+ lastName:
1385
+ type: string
1386
+ email:
1387
+ type: string
1388
+ password:
1389
+ type: string
1390
+ phone:
1391
+ type: string
1392
+ userStatus:
1393
+ type: integer
1394
+ format: int32
1395
+ description: User Status
1396
+ application/xml:
1397
+ schema:
1398
+ type: object
1399
+ properties:
1400
+ id:
1401
+ type: integer
1402
+ format: int64
1403
+ username:
1404
+ type: string
1405
+ firstName:
1406
+ type: string
1407
+ lastName:
1408
+ type: string
1409
+ email:
1410
+ type: string
1411
+ password:
1412
+ type: string
1413
+ phone:
1414
+ type: string
1415
+ userStatus:
1416
+ type: integer
1417
+ format: int32
1418
+ description: User Status
1419
+ xml:
1420
+ name: User
1421
+ responses:
1422
+ '400':
1423
+ description: Invalid user supplied
1424
+ '404':
1425
+ description: User not found
1426
+ delete:
1427
+ tags:
1428
+ - user
1429
+ summary: Delete user
1430
+ description: This can only be done by the logged in user.
1431
+ operationId: deleteUser
1432
+ servers:
1433
+ - url: http://petstore.swagger.io/v2
1434
+ parameters:
1435
+ - name: username
1436
+ in: path
1437
+ description: 'The name of the user to be deleted. '
1438
+ required: true
1439
+ schema:
1440
+ type: string
1441
+ responses:
1442
+ '400':
1443
+ description: Invalid username supplied
1444
+ '404':
1445
+ description: User not found
1446
+ components:
1447
+ securitySchemes:
1448
+ petstore_auth:
1449
+ type: oauth2
1450
+ flows:
1451
+ implicit:
1452
+ authorizationUrl: http://petstore.swagger.io/oauth/dialog
1453
+ scopes:
1454
+ write:pets: modify pets in your account
1455
+ read:pets: read your pets
1456
+ api_key:
1457
+ type: apiKey
1458
+ name: api_key
1459
+ in: header
1460
+ externalDocs:
1461
+ description: Find out more about Swagger
1462
+ url: http://swagger.io