github.com/s7techlab/cckit@v0.10.5/examples/fabcar/fabcar.swagger.json (about) 1 { 2 "swagger": "2.0", 3 "info": { 4 "title": "fabcar/fabcar.proto", 5 "version": "version not set" 6 }, 7 "consumes": [ 8 "application/json" 9 ], 10 "produces": [ 11 "application/json" 12 ], 13 "paths": { 14 "/fabcar/cars": { 15 "get": { 16 "operationId": "FabCarService_ListCars", 17 "responses": { 18 "200": { 19 "description": "A successful response.", 20 "schema": { 21 "$ref": "#/definitions/fabcarCars" 22 } 23 }, 24 "default": { 25 "description": "An unexpected error response.", 26 "schema": { 27 "$ref": "#/definitions/runtimeError" 28 } 29 } 30 }, 31 "tags": [ 32 "FabCarService" 33 ] 34 }, 35 "post": { 36 "operationId": "FabCarService_CreateCar", 37 "responses": { 38 "200": { 39 "description": "A successful response.", 40 "schema": { 41 "$ref": "#/definitions/fabcarCarView" 42 } 43 }, 44 "default": { 45 "description": "An unexpected error response.", 46 "schema": { 47 "$ref": "#/definitions/runtimeError" 48 } 49 } 50 }, 51 "parameters": [ 52 { 53 "name": "body", 54 "in": "body", 55 "required": true, 56 "schema": { 57 "$ref": "#/definitions/fabcarCreateCarRequest" 58 } 59 } 60 ], 61 "tags": [ 62 "FabCarService" 63 ] 64 } 65 }, 66 "/fabcar/cars/{car_id}/details": { 67 "put": { 68 "operationId": "FabCarService_UpdateCarDetails", 69 "responses": { 70 "200": { 71 "description": "A successful response.", 72 "schema": { 73 "$ref": "#/definitions/fabcarCarDetails" 74 } 75 }, 76 "default": { 77 "description": "An unexpected error response.", 78 "schema": { 79 "$ref": "#/definitions/runtimeError" 80 } 81 } 82 }, 83 "parameters": [ 84 { 85 "name": "car_id", 86 "in": "path", 87 "required": true, 88 "type": "array", 89 "items": { 90 "type": "string" 91 }, 92 "collectionFormat": "csv", 93 "minItems": 1 94 } 95 ], 96 "tags": [ 97 "FabCarService" 98 ] 99 } 100 }, 101 "/fabcar/cars/{car_id}/details/{type}": { 102 "get": { 103 "operationId": "FabCarService_GetCarDetail", 104 "responses": { 105 "200": { 106 "description": "A successful response.", 107 "schema": { 108 "$ref": "#/definitions/fabcarCarDetail" 109 } 110 }, 111 "default": { 112 "description": "An unexpected error response.", 113 "schema": { 114 "$ref": "#/definitions/runtimeError" 115 } 116 } 117 }, 118 "parameters": [ 119 { 120 "name": "car_id", 121 "in": "path", 122 "required": true, 123 "type": "array", 124 "items": { 125 "type": "string" 126 }, 127 "collectionFormat": "csv", 128 "minItems": 1 129 }, 130 { 131 "name": "type", 132 "in": "path", 133 "required": true, 134 "type": "string", 135 "enum": [ 136 "WHEELS", 137 "BATTERY" 138 ] 139 } 140 ], 141 "tags": [ 142 "FabCarService" 143 ] 144 }, 145 "delete": { 146 "operationId": "FabCarService_DeleteCarDetail", 147 "responses": { 148 "200": { 149 "description": "A successful response.", 150 "schema": { 151 "$ref": "#/definitions/fabcarCarDetail" 152 } 153 }, 154 "default": { 155 "description": "An unexpected error response.", 156 "schema": { 157 "$ref": "#/definitions/runtimeError" 158 } 159 } 160 }, 161 "parameters": [ 162 { 163 "name": "car_id", 164 "in": "path", 165 "required": true, 166 "type": "array", 167 "items": { 168 "type": "string" 169 }, 170 "collectionFormat": "csv", 171 "minItems": 1 172 }, 173 { 174 "name": "type", 175 "in": "path", 176 "required": true, 177 "type": "string", 178 "enum": [ 179 "WHEELS", 180 "BATTERY" 181 ] 182 } 183 ], 184 "tags": [ 185 "FabCarService" 186 ] 187 } 188 }, 189 "/fabcar/cars/{car_id}/owners": { 190 "put": { 191 "operationId": "FabCarService_UpdateCarOwners", 192 "responses": { 193 "200": { 194 "description": "A successful response.", 195 "schema": { 196 "$ref": "#/definitions/fabcarCarOwners" 197 } 198 }, 199 "default": { 200 "description": "An unexpected error response.", 201 "schema": { 202 "$ref": "#/definitions/runtimeError" 203 } 204 } 205 }, 206 "parameters": [ 207 { 208 "name": "car_id", 209 "in": "path", 210 "required": true, 211 "type": "array", 212 "items": { 213 "type": "string" 214 }, 215 "collectionFormat": "csv", 216 "minItems": 1 217 } 218 ], 219 "tags": [ 220 "FabCarService" 221 ] 222 } 223 }, 224 "/fabcar/cars/{car_id}/owners/{first_name}/{second_name}": { 225 "get": { 226 "operationId": "FabCarService_GetCarOwner", 227 "responses": { 228 "200": { 229 "description": "A successful response.", 230 "schema": { 231 "$ref": "#/definitions/fabcarCarOwner" 232 } 233 }, 234 "default": { 235 "description": "An unexpected error response.", 236 "schema": { 237 "$ref": "#/definitions/runtimeError" 238 } 239 } 240 }, 241 "parameters": [ 242 { 243 "name": "car_id", 244 "in": "path", 245 "required": true, 246 "type": "array", 247 "items": { 248 "type": "string" 249 }, 250 "collectionFormat": "csv", 251 "minItems": 1 252 }, 253 { 254 "name": "first_name", 255 "in": "path", 256 "required": true, 257 "type": "string" 258 }, 259 { 260 "name": "second_name", 261 "in": "path", 262 "required": true, 263 "type": "string" 264 } 265 ], 266 "tags": [ 267 "FabCarService" 268 ] 269 }, 270 "delete": { 271 "operationId": "FabCarService_DeleteCarOwner", 272 "responses": { 273 "200": { 274 "description": "A successful response.", 275 "schema": { 276 "$ref": "#/definitions/fabcarCarOwner" 277 } 278 }, 279 "default": { 280 "description": "An unexpected error response.", 281 "schema": { 282 "$ref": "#/definitions/runtimeError" 283 } 284 } 285 }, 286 "parameters": [ 287 { 288 "name": "car_id", 289 "in": "path", 290 "required": true, 291 "type": "array", 292 "items": { 293 "type": "string" 294 }, 295 "collectionFormat": "csv", 296 "minItems": 1 297 }, 298 { 299 "name": "first_name", 300 "in": "path", 301 "required": true, 302 "type": "string" 303 }, 304 { 305 "name": "second_name", 306 "in": "path", 307 "required": true, 308 "type": "string" 309 } 310 ], 311 "tags": [ 312 "FabCarService" 313 ] 314 } 315 }, 316 "/fabcar/cars/{id}": { 317 "get": { 318 "operationId": "FabCarService_GetCar", 319 "responses": { 320 "200": { 321 "description": "A successful response.", 322 "schema": { 323 "$ref": "#/definitions/fabcarCar" 324 } 325 }, 326 "default": { 327 "description": "An unexpected error response.", 328 "schema": { 329 "$ref": "#/definitions/runtimeError" 330 } 331 } 332 }, 333 "parameters": [ 334 { 335 "name": "id", 336 "in": "path", 337 "required": true, 338 "type": "array", 339 "items": { 340 "type": "string" 341 }, 342 "collectionFormat": "csv", 343 "minItems": 1 344 } 345 ], 346 "tags": [ 347 "FabCarService" 348 ] 349 }, 350 "delete": { 351 "operationId": "FabCarService_DeleteCar", 352 "responses": { 353 "200": { 354 "description": "A successful response.", 355 "schema": { 356 "$ref": "#/definitions/fabcarCarView" 357 } 358 }, 359 "default": { 360 "description": "An unexpected error response.", 361 "schema": { 362 "$ref": "#/definitions/runtimeError" 363 } 364 } 365 }, 366 "parameters": [ 367 { 368 "name": "id", 369 "in": "path", 370 "required": true, 371 "type": "array", 372 "items": { 373 "type": "string" 374 }, 375 "collectionFormat": "csv", 376 "minItems": 1 377 } 378 ], 379 "tags": [ 380 "FabCarService" 381 ] 382 }, 383 "put": { 384 "operationId": "FabCarService_UpdateCar", 385 "responses": { 386 "200": { 387 "description": "A successful response.", 388 "schema": { 389 "$ref": "#/definitions/fabcarCarView" 390 } 391 }, 392 "default": { 393 "description": "An unexpected error response.", 394 "schema": { 395 "$ref": "#/definitions/runtimeError" 396 } 397 } 398 }, 399 "parameters": [ 400 { 401 "name": "id", 402 "in": "path", 403 "required": true, 404 "type": "array", 405 "items": { 406 "type": "string" 407 }, 408 "collectionFormat": "csv", 409 "minItems": 1 410 }, 411 { 412 "name": "body", 413 "in": "body", 414 "required": true, 415 "schema": { 416 "$ref": "#/definitions/fabcarUpdateCarRequest" 417 } 418 } 419 ], 420 "tags": [ 421 "FabCarService" 422 ] 423 } 424 }, 425 "/fabcar/cars/{id}/details": { 426 "get": { 427 "operationId": "FabCarService_ListCarDetails", 428 "responses": { 429 "200": { 430 "description": "A successful response.", 431 "schema": { 432 "$ref": "#/definitions/fabcarCarDetails" 433 } 434 }, 435 "default": { 436 "description": "An unexpected error response.", 437 "schema": { 438 "$ref": "#/definitions/runtimeError" 439 } 440 } 441 }, 442 "parameters": [ 443 { 444 "name": "id", 445 "in": "path", 446 "required": true, 447 "type": "array", 448 "items": { 449 "type": "string" 450 }, 451 "collectionFormat": "csv", 452 "minItems": 1 453 } 454 ], 455 "tags": [ 456 "FabCarService" 457 ] 458 } 459 }, 460 "/fabcar/cars/{id}/owners": { 461 "get": { 462 "operationId": "FabCarService_ListCarOwners", 463 "responses": { 464 "200": { 465 "description": "A successful response.", 466 "schema": { 467 "$ref": "#/definitions/fabcarCarOwners" 468 } 469 }, 470 "default": { 471 "description": "An unexpected error response.", 472 "schema": { 473 "$ref": "#/definitions/runtimeError" 474 } 475 } 476 }, 477 "parameters": [ 478 { 479 "name": "id", 480 "in": "path", 481 "required": true, 482 "type": "array", 483 "items": { 484 "type": "string" 485 }, 486 "collectionFormat": "csv", 487 "minItems": 1 488 } 489 ], 490 "tags": [ 491 "FabCarService" 492 ] 493 } 494 }, 495 "/fabcar/cars/{id}/view": { 496 "get": { 497 "operationId": "FabCarService_GetCarView", 498 "responses": { 499 "200": { 500 "description": "A successful response.", 501 "schema": { 502 "$ref": "#/definitions/fabcarCarView" 503 } 504 }, 505 "default": { 506 "description": "An unexpected error response.", 507 "schema": { 508 "$ref": "#/definitions/runtimeError" 509 } 510 } 511 }, 512 "parameters": [ 513 { 514 "name": "id", 515 "in": "path", 516 "required": true, 517 "type": "array", 518 "items": { 519 "type": "string" 520 }, 521 "collectionFormat": "csv", 522 "minItems": 1 523 } 524 ], 525 "tags": [ 526 "FabCarService" 527 ] 528 } 529 }, 530 "/fabcar/makers": { 531 "get": { 532 "operationId": "FabCarService_ListMakers", 533 "responses": { 534 "200": { 535 "description": "A successful response.", 536 "schema": { 537 "$ref": "#/definitions/fabcarMakers" 538 } 539 }, 540 "default": { 541 "description": "An unexpected error response.", 542 "schema": { 543 "$ref": "#/definitions/runtimeError" 544 } 545 } 546 }, 547 "tags": [ 548 "FabCarService" 549 ] 550 }, 551 "post": { 552 "operationId": "FabCarService_CreateMaker", 553 "responses": { 554 "200": { 555 "description": "A successful response.", 556 "schema": { 557 "$ref": "#/definitions/fabcarMaker" 558 } 559 }, 560 "default": { 561 "description": "An unexpected error response.", 562 "schema": { 563 "$ref": "#/definitions/runtimeError" 564 } 565 } 566 }, 567 "parameters": [ 568 { 569 "name": "body", 570 "in": "body", 571 "required": true, 572 "schema": { 573 "$ref": "#/definitions/fabcarCreateMakerRequest" 574 } 575 } 576 ], 577 "tags": [ 578 "FabCarService" 579 ] 580 } 581 }, 582 "/fabcar/makers/{name}": { 583 "get": { 584 "operationId": "FabCarService_GetMaker", 585 "responses": { 586 "200": { 587 "description": "A successful response.", 588 "schema": { 589 "$ref": "#/definitions/fabcarMaker" 590 } 591 }, 592 "default": { 593 "description": "An unexpected error response.", 594 "schema": { 595 "$ref": "#/definitions/runtimeError" 596 } 597 } 598 }, 599 "parameters": [ 600 { 601 "name": "name", 602 "in": "path", 603 "required": true, 604 "type": "string" 605 } 606 ], 607 "tags": [ 608 "FabCarService" 609 ] 610 }, 611 "delete": { 612 "operationId": "FabCarService_DeleteMaker", 613 "responses": { 614 "200": { 615 "description": "A successful response.", 616 "schema": { 617 "$ref": "#/definitions/fabcarMaker" 618 } 619 }, 620 "default": { 621 "description": "An unexpected error response.", 622 "schema": { 623 "$ref": "#/definitions/runtimeError" 624 } 625 } 626 }, 627 "parameters": [ 628 { 629 "name": "name", 630 "in": "path", 631 "required": true, 632 "type": "string" 633 } 634 ], 635 "tags": [ 636 "FabCarService" 637 ] 638 } 639 } 640 }, 641 "definitions": { 642 "fabcarCar": { 643 "type": "object", 644 "properties": { 645 "id": { 646 "type": "array", 647 "items": { 648 "type": "string" 649 } 650 }, 651 "make": { 652 "type": "string" 653 }, 654 "model": { 655 "type": "string" 656 }, 657 "colour": { 658 "type": "string" 659 }, 660 "number": { 661 "type": "string", 662 "format": "uint64" 663 }, 664 "updated_at": { 665 "type": "string", 666 "format": "date-time" 667 } 668 } 669 }, 670 "fabcarCarDetail": { 671 "type": "object", 672 "properties": { 673 "car_id": { 674 "type": "array", 675 "items": { 676 "type": "string" 677 } 678 }, 679 "type": { 680 "$ref": "#/definitions/fabcarDetailType" 681 }, 682 "make": { 683 "type": "string" 684 }, 685 "updated_at": { 686 "type": "string", 687 "format": "date-time" 688 } 689 } 690 }, 691 "fabcarCarDetails": { 692 "type": "object", 693 "properties": { 694 "items": { 695 "type": "array", 696 "items": { 697 "$ref": "#/definitions/fabcarCarDetail" 698 } 699 } 700 } 701 }, 702 "fabcarCarOwner": { 703 "type": "object", 704 "properties": { 705 "car_id": { 706 "type": "array", 707 "items": { 708 "type": "string" 709 } 710 }, 711 "first_name": { 712 "type": "string" 713 }, 714 "second_name": { 715 "type": "string" 716 }, 717 "vehicle_passport": { 718 "type": "string" 719 }, 720 "updated_at": { 721 "type": "string", 722 "format": "date-time" 723 } 724 } 725 }, 726 "fabcarCarOwners": { 727 "type": "object", 728 "properties": { 729 "items": { 730 "type": "array", 731 "items": { 732 "$ref": "#/definitions/fabcarCarOwner" 733 } 734 } 735 } 736 }, 737 "fabcarCarView": { 738 "type": "object", 739 "properties": { 740 "car": { 741 "$ref": "#/definitions/fabcarCar" 742 }, 743 "owners": { 744 "$ref": "#/definitions/fabcarCarOwners" 745 }, 746 "details": { 747 "$ref": "#/definitions/fabcarCarDetails" 748 } 749 } 750 }, 751 "fabcarCars": { 752 "type": "object", 753 "properties": { 754 "items": { 755 "type": "array", 756 "items": { 757 "$ref": "#/definitions/fabcarCar" 758 } 759 } 760 } 761 }, 762 "fabcarCreateCarRequest": { 763 "type": "object", 764 "properties": { 765 "make": { 766 "type": "string" 767 }, 768 "model": { 769 "type": "string" 770 }, 771 "colour": { 772 "type": "string" 773 }, 774 "number": { 775 "type": "string", 776 "format": "uint64" 777 }, 778 "owners": { 779 "type": "array", 780 "items": { 781 "$ref": "#/definitions/fabcarSetCarOwner" 782 } 783 }, 784 "details": { 785 "type": "array", 786 "items": { 787 "$ref": "#/definitions/fabcarSetCarDetail" 788 } 789 } 790 } 791 }, 792 "fabcarCreateMakerRequest": { 793 "type": "object", 794 "properties": { 795 "name": { 796 "type": "string" 797 }, 798 "country": { 799 "type": "string" 800 }, 801 "foundation_year": { 802 "type": "string", 803 "format": "uint64" 804 } 805 }, 806 "title": "Entities" 807 }, 808 "fabcarDetailType": { 809 "type": "string", 810 "enum": [ 811 "WHEELS", 812 "BATTERY" 813 ], 814 "default": "WHEELS", 815 "title": "Dictionaries" 816 }, 817 "fabcarMaker": { 818 "type": "object", 819 "properties": { 820 "name": { 821 "type": "string" 822 }, 823 "country": { 824 "type": "string" 825 }, 826 "foundation_year": { 827 "type": "string", 828 "format": "uint64" 829 } 830 } 831 }, 832 "fabcarMakers": { 833 "type": "object", 834 "properties": { 835 "items": { 836 "type": "array", 837 "items": { 838 "$ref": "#/definitions/fabcarMaker" 839 } 840 } 841 } 842 }, 843 "fabcarSetCarDetail": { 844 "type": "object", 845 "properties": { 846 "type": { 847 "$ref": "#/definitions/fabcarDetailType" 848 }, 849 "make": { 850 "type": "string" 851 } 852 } 853 }, 854 "fabcarSetCarOwner": { 855 "type": "object", 856 "properties": { 857 "first_name": { 858 "type": "string" 859 }, 860 "second_name": { 861 "type": "string" 862 }, 863 "vehicle_passport": { 864 "type": "string" 865 } 866 } 867 }, 868 "fabcarUpdateCarRequest": { 869 "type": "object", 870 "properties": { 871 "id": { 872 "type": "array", 873 "items": { 874 "type": "string" 875 } 876 }, 877 "color": { 878 "type": "string" 879 }, 880 "owners": { 881 "type": "array", 882 "items": { 883 "$ref": "#/definitions/fabcarSetCarOwner" 884 } 885 }, 886 "details": { 887 "type": "array", 888 "items": { 889 "$ref": "#/definitions/fabcarSetCarDetail" 890 } 891 } 892 } 893 }, 894 "protobufAny": { 895 "type": "object", 896 "properties": { 897 "type_url": { 898 "type": "string" 899 }, 900 "value": { 901 "type": "string", 902 "format": "byte" 903 } 904 } 905 }, 906 "runtimeError": { 907 "type": "object", 908 "properties": { 909 "error": { 910 "type": "string" 911 }, 912 "code": { 913 "type": "integer", 914 "format": "int32" 915 }, 916 "message": { 917 "type": "string" 918 }, 919 "details": { 920 "type": "array", 921 "items": { 922 "$ref": "#/definitions/protobufAny" 923 } 924 } 925 } 926 } 927 } 928 }