open_api-loader 0.0.1

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 (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