aboutsummaryrefslogtreecommitdiff
path: root/docs/swagger.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'docs/swagger.yaml')
-rw-r--r--docs/swagger.yaml353
1 files changed, 245 insertions, 108 deletions
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index 98bd042..b20f762 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -18,6 +18,16 @@ definitions:
18 game: 18 game:
19 $ref: '#/definitions/models.Game' 19 $ref: '#/definitions/models.Game'
20 type: object 20 type: object
21 handlers.CreateMapDiscussionRequest:
22 properties:
23 content:
24 type: string
25 title:
26 type: string
27 required:
28 - content
29 - title
30 type: object
21 handlers.CreateMapSummaryRequest: 31 handlers.CreateMapSummaryRequest:
22 properties: 32 properties:
23 category_id: 33 category_id:
@@ -46,6 +56,16 @@ definitions:
46 required: 56 required:
47 - route_id 57 - route_id
48 type: object 58 type: object
59 handlers.EditMapDiscussionRequest:
60 properties:
61 content:
62 type: string
63 title:
64 type: string
65 required:
66 - content
67 - title
68 type: object
49 handlers.EditMapImageRequest: 69 handlers.EditMapImageRequest:
50 properties: 70 properties:
51 image: 71 image:
@@ -95,6 +115,61 @@ definitions:
95 user: 115 user:
96 $ref: '#/definitions/models.UserShort' 116 $ref: '#/definitions/models.UserShort'
97 type: object 117 type: object
118 handlers.MapDiscussion:
119 properties:
120 comments:
121 items:
122 $ref: '#/definitions/handlers.MapDiscussionComment'
123 type: array
124 content:
125 type: string
126 creator:
127 $ref: '#/definitions/models.UserShortWithAvatar'
128 id:
129 type: integer
130 title:
131 type: string
132 updated_at:
133 description: Upvotes int `json:"upvotes"`
134 type: string
135 type: object
136 handlers.MapDiscussionComment:
137 properties:
138 comment:
139 type: string
140 date:
141 type: string
142 user:
143 $ref: '#/definitions/models.UserShortWithAvatar'
144 type: object
145 handlers.MapDiscussionOnlyTitle:
146 properties:
147 comments:
148 items:
149 $ref: '#/definitions/handlers.MapDiscussionComment'
150 type: array
151 creator:
152 $ref: '#/definitions/models.UserShortWithAvatar'
153 id:
154 type: integer
155 title:
156 type: string
157 updated_at:
158 description: Upvotes int `json:"upvotes"`
159 type: string
160 type: object
161 handlers.MapDiscussionResponse:
162 properties:
163 discussion:
164 $ref: '#/definitions/handlers.MapDiscussion'
165 type: object
166 handlers.MapDiscussionsResponse:
167 properties:
168 discussions:
169 items:
170 $ref: '#/definitions/handlers.MapDiscussionOnlyTitle'
171 type: array
172 type: object
98 handlers.MapLeaderboardsResponse: 173 handlers.MapLeaderboardsResponse:
99 properties: 174 properties:
100 map: 175 map:
@@ -397,13 +472,13 @@ info:
397 title: Least Portals Database API 472 title: Least Portals Database API
398 version: "1.0" 473 version: "1.0"
399paths: 474paths:
400 /chapters/{id}: 475 /chapters/{chapterid}:
401 get: 476 get:
402 description: Get maps from the specified chapter id. 477 description: Get maps from the specified chapter id.
403 parameters: 478 parameters:
404 - description: Chapter ID 479 - description: Chapter ID
405 in: path 480 in: path
406 name: id 481 name: chapterid
407 required: true 482 required: true
408 type: integer 483 type: integer
409 produces: 484 produces:
@@ -442,10 +517,6 @@ paths:
442 description: Demo File 517 description: Demo File
443 schema: 518 schema:
444 type: file 519 type: file
445 "400":
446 description: Bad Request
447 schema:
448 $ref: '#/definitions/models.Response'
449 tags: 520 tags:
450 - demo 521 - demo
451 /games: 522 /games:
@@ -471,13 +542,13 @@ paths:
471 $ref: '#/definitions/models.Response' 542 $ref: '#/definitions/models.Response'
472 tags: 543 tags:
473 - games & chapters 544 - games & chapters
474 /games/{id}: 545 /games/{gameid}:
475 get: 546 get:
476 description: Get chapters from the specified game id. 547 description: Get chapters from the specified game id.
477 parameters: 548 parameters:
478 - description: Game ID 549 - description: Game ID
479 in: path 550 in: path
480 name: id 551 name: gameid
481 required: true 552 required: true
482 type: integer 553 type: integer
483 produces: 554 produces:
@@ -492,10 +563,6 @@ paths:
492 data: 563 data:
493 $ref: '#/definitions/handlers.ChaptersResponse' 564 $ref: '#/definitions/handlers.ChaptersResponse'
494 type: object 565 type: object
495 "400":
496 description: Bad Request
497 schema:
498 $ref: '#/definitions/models.Response'
499 tags: 566 tags:
500 - games & chapters 567 - games & chapters
501 /login: 568 /login:
@@ -515,10 +582,6 @@ paths:
515 data: 582 data:
516 $ref: '#/definitions/handlers.LoginResponse' 583 $ref: '#/definitions/handlers.LoginResponse'
517 type: object 584 type: object
518 "400":
519 description: Bad Request
520 schema:
521 $ref: '#/definitions/models.Response'
522 tags: 585 tags:
523 - login 586 - login
524 /logs/mod: 587 /logs/mod:
@@ -542,10 +605,6 @@ paths:
542 data: 605 data:
543 $ref: '#/definitions/handlers.LogsResponse' 606 $ref: '#/definitions/handlers.LogsResponse'
544 type: object 607 type: object
545 "400":
546 description: Bad Request
547 schema:
548 $ref: '#/definitions/models.Response'
549 tags: 608 tags:
550 - logs 609 - logs
551 /logs/score: 610 /logs/score:
@@ -563,13 +622,163 @@ paths:
563 data: 622 data:
564 $ref: '#/definitions/handlers.ScoreLogsResponse' 623 $ref: '#/definitions/handlers.ScoreLogsResponse'
565 type: object 624 type: object
566 "400": 625 tags:
567 description: Bad Request 626 - logs
627 /maps/{mapid}/discussions:
628 get:
629 description: Get map discussions with specified map id.
630 parameters:
631 - description: Map ID
632 in: path
633 name: mapid
634 required: true
635 type: integer
636 produces:
637 - application/json
638 responses:
639 "200":
640 description: OK
641 schema:
642 allOf:
643 - $ref: '#/definitions/models.Response'
644 - properties:
645 data:
646 $ref: '#/definitions/handlers.MapDiscussionsResponse'
647 type: object
648 tags:
649 - maps
650 post:
651 description: Create map discussion with specified map id.
652 parameters:
653 - description: JWT Token
654 in: header
655 name: Authorization
656 required: true
657 type: string
658 - description: Map ID
659 in: path
660 name: mapid
661 required: true
662 type: integer
663 - description: Discussion ID
664 in: path
665 name: discussionid
666 required: true
667 type: integer
668 - description: Body
669 in: body
670 name: request
671 required: true
672 schema:
673 $ref: '#/definitions/handlers.CreateMapDiscussionRequest'
674 produces:
675 - application/json
676 responses:
677 "200":
678 description: OK
679 schema:
680 allOf:
681 - $ref: '#/definitions/models.Response'
682 - properties:
683 data:
684 $ref: '#/definitions/handlers.CreateMapDiscussionRequest'
685 type: object
686 tags:
687 - maps
688 /maps/{mapid}/discussions/{discussionid}:
689 delete:
690 description: Delete map summary with specified map id.
691 parameters:
692 - description: JWT Token
693 in: header
694 name: Authorization
695 required: true
696 type: string
697 - description: Map ID
698 in: path
699 name: mapid
700 required: true
701 type: integer
702 - description: Discussion ID
703 in: path
704 name: discussionid
705 required: true
706 type: integer
707 produces:
708 - application/json
709 responses:
710 "200":
711 description: OK
568 schema: 712 schema:
569 $ref: '#/definitions/models.Response' 713 $ref: '#/definitions/models.Response'
570 tags: 714 tags:
571 - logs 715 - maps
572 /maps/{id}/image: 716 get:
717 description: Get map discussion with specified map and discussion id.
718 parameters:
719 - description: Map ID
720 in: path
721 name: mapid
722 required: true
723 type: integer
724 - description: Discussion ID
725 in: path
726 name: discussionid
727 required: true
728 type: integer
729 produces:
730 - application/json
731 responses:
732 "200":
733 description: OK
734 schema:
735 allOf:
736 - $ref: '#/definitions/models.Response'
737 - properties:
738 data:
739 $ref: '#/definitions/handlers.MapDiscussionResponse'
740 type: object
741 tags:
742 - maps
743 put:
744 description: Edit map discussion with specified map id.
745 parameters:
746 - description: JWT Token
747 in: header
748 name: Authorization
749 required: true
750 type: string
751 - description: Map ID
752 in: path
753 name: mapid
754 required: true
755 type: integer
756 - description: Discussion ID
757 in: path
758 name: discussionid
759 required: true
760 type: integer
761 - description: Body
762 in: body
763 name: request
764 required: true
765 schema:
766 $ref: '#/definitions/handlers.EditMapDiscussionRequest'
767 produces:
768 - application/json
769 responses:
770 "200":
771 description: OK
772 schema:
773 allOf:
774 - $ref: '#/definitions/models.Response'
775 - properties:
776 data:
777 $ref: '#/definitions/handlers.EditMapDiscussionRequest'
778 type: object
779 tags:
780 - maps
781 /maps/{mapid}/image:
573 put: 782 put:
574 description: Edit map image with specified map id. 783 description: Edit map image with specified map id.
575 parameters: 784 parameters:
@@ -580,7 +789,7 @@ paths:
580 type: string 789 type: string
581 - description: Map ID 790 - description: Map ID
582 in: path 791 in: path
583 name: id 792 name: mapid
584 required: true 793 required: true
585 type: integer 794 type: integer
586 - description: Body 795 - description: Body
@@ -601,19 +810,15 @@ paths:
601 data: 810 data:
602 $ref: '#/definitions/handlers.EditMapImageRequest' 811 $ref: '#/definitions/handlers.EditMapImageRequest'
603 type: object 812 type: object
604 "400":
605 description: Bad Request
606 schema:
607 $ref: '#/definitions/models.Response'
608 tags: 813 tags:
609 - maps 814 - maps
610 /maps/{id}/leaderboards: 815 /maps/{mapid}/leaderboards:
611 get: 816 get:
612 description: Get map leaderboards with specified id. 817 description: Get map leaderboards with specified id.
613 parameters: 818 parameters:
614 - description: Map ID 819 - description: Map ID
615 in: path 820 in: path
616 name: id 821 name: mapid
617 required: true 822 required: true
618 type: integer 823 type: integer
619 - description: 'Page Number (default: 1)' 824 - description: 'Page Number (default: 1)'
@@ -636,13 +841,9 @@ paths:
636 data: 841 data:
637 $ref: '#/definitions/handlers.MapLeaderboardsResponse' 842 $ref: '#/definitions/handlers.MapLeaderboardsResponse'
638 type: object 843 type: object
639 "400":
640 description: Bad Request
641 schema:
642 $ref: '#/definitions/models.Response'
643 tags: 844 tags:
644 - maps 845 - maps
645 /maps/{id}/record: 846 /maps/{mapid}/record:
646 post: 847 post:
647 consumes: 848 consumes:
648 - multipart/form-data 849 - multipart/form-data
@@ -650,7 +851,7 @@ paths:
650 parameters: 851 parameters:
651 - description: Map ID 852 - description: Map ID
652 in: path 853 in: path
653 name: id 854 name: mapid
654 required: true 855 required: true
655 type: integer 856 type: integer
656 - description: JWT Token 857 - description: JWT Token
@@ -687,17 +888,9 @@ paths:
687 data: 888 data:
688 $ref: '#/definitions/handlers.RecordResponse' 889 $ref: '#/definitions/handlers.RecordResponse'
689 type: object 890 type: object
690 "400":
691 description: Bad Request
692 schema:
693 $ref: '#/definitions/models.Response'
694 "401":
695 description: Unauthorized
696 schema:
697 $ref: '#/definitions/models.Response'
698 tags: 891 tags:
699 - maps 892 - maps
700 /maps/{id}/summary: 893 /maps/{mapid}/summary:
701 delete: 894 delete:
702 description: Delete map summary with specified map id. 895 description: Delete map summary with specified map id.
703 parameters: 896 parameters:
@@ -708,7 +901,7 @@ paths:
708 type: string 901 type: string
709 - description: Map ID 902 - description: Map ID
710 in: path 903 in: path
711 name: id 904 name: mapid
712 required: true 905 required: true
713 type: integer 906 type: integer
714 - description: Body 907 - description: Body
@@ -729,10 +922,6 @@ paths:
729 data: 922 data:
730 $ref: '#/definitions/handlers.DeleteMapSummaryRequest' 923 $ref: '#/definitions/handlers.DeleteMapSummaryRequest'
731 type: object 924 type: object
732 "400":
733 description: Bad Request
734 schema:
735 $ref: '#/definitions/models.Response'
736 tags: 925 tags:
737 - maps 926 - maps
738 get: 927 get:
@@ -740,7 +929,7 @@ paths:
740 parameters: 929 parameters:
741 - description: Map ID 930 - description: Map ID
742 in: path 931 in: path
743 name: id 932 name: mapid
744 required: true 933 required: true
745 type: integer 934 type: integer
746 produces: 935 produces:
@@ -755,10 +944,6 @@ paths:
755 data: 944 data:
756 $ref: '#/definitions/handlers.MapSummaryResponse' 945 $ref: '#/definitions/handlers.MapSummaryResponse'
757 type: object 946 type: object
758 "400":
759 description: Bad Request
760 schema:
761 $ref: '#/definitions/models.Response'
762 tags: 947 tags:
763 - maps 948 - maps
764 post: 949 post:
@@ -771,7 +956,7 @@ paths:
771 type: string 956 type: string
772 - description: Map ID 957 - description: Map ID
773 in: path 958 in: path
774 name: id 959 name: mapid
775 required: true 960 required: true
776 type: integer 961 type: integer
777 - description: Body 962 - description: Body
@@ -792,10 +977,6 @@ paths:
792 data: 977 data:
793 $ref: '#/definitions/handlers.CreateMapSummaryRequest' 978 $ref: '#/definitions/handlers.CreateMapSummaryRequest'
794 type: object 979 type: object
795 "400":
796 description: Bad Request
797 schema:
798 $ref: '#/definitions/models.Response'
799 tags: 980 tags:
800 - maps 981 - maps
801 put: 982 put:
@@ -808,7 +989,7 @@ paths:
808 type: string 989 type: string
809 - description: Map ID 990 - description: Map ID
810 in: path 991 in: path
811 name: id 992 name: mapid
812 required: true 993 required: true
813 type: integer 994 type: integer
814 - description: Body 995 - description: Body
@@ -829,10 +1010,6 @@ paths:
829 data: 1010 data:
830 $ref: '#/definitions/handlers.EditMapSummaryRequest' 1011 $ref: '#/definitions/handlers.EditMapSummaryRequest'
831 type: object 1012 type: object
832 "400":
833 description: Bad Request
834 schema:
835 $ref: '#/definitions/models.Response'
836 tags: 1013 tags:
837 - maps 1014 - maps
838 /profile: 1015 /profile:
@@ -858,14 +1035,6 @@ paths:
858 data: 1035 data:
859 $ref: '#/definitions/handlers.ProfileResponse' 1036 $ref: '#/definitions/handlers.ProfileResponse'
860 type: object 1037 type: object
861 "400":
862 description: Bad Request
863 schema:
864 $ref: '#/definitions/models.Response'
865 "401":
866 description: Unauthorized
867 schema:
868 $ref: '#/definitions/models.Response'
869 tags: 1038 tags:
870 - users 1039 - users
871 post: 1040 post:
@@ -890,14 +1059,6 @@ paths:
890 data: 1059 data:
891 $ref: '#/definitions/handlers.ProfileResponse' 1060 $ref: '#/definitions/handlers.ProfileResponse'
892 type: object 1061 type: object
893 "400":
894 description: Bad Request
895 schema:
896 $ref: '#/definitions/models.Response'
897 "401":
898 description: Unauthorized
899 schema:
900 $ref: '#/definitions/models.Response'
901 tags: 1062 tags:
902 - users 1063 - users
903 put: 1064 put:
@@ -922,14 +1083,6 @@ paths:
922 description: OK 1083 description: OK
923 schema: 1084 schema:
924 $ref: '#/definitions/models.Response' 1085 $ref: '#/definitions/models.Response'
925 "400":
926 description: Bad Request
927 schema:
928 $ref: '#/definitions/models.Response'
929 "401":
930 description: Unauthorized
931 schema:
932 $ref: '#/definitions/models.Response'
933 tags: 1086 tags:
934 - users 1087 - users
935 /rankings: 1088 /rankings:
@@ -947,10 +1100,6 @@ paths:
947 data: 1100 data:
948 $ref: '#/definitions/handlers.RankingsResponse' 1101 $ref: '#/definitions/handlers.RankingsResponse'
949 type: object 1102 type: object
950 "400":
951 description: Bad Request
952 schema:
953 $ref: '#/definitions/models.Response'
954 tags: 1103 tags:
955 - rankings 1104 - rankings
956 /search: 1105 /search:
@@ -973,10 +1122,6 @@ paths:
973 data: 1122 data:
974 $ref: '#/definitions/handlers.SearchResponse' 1123 $ref: '#/definitions/handlers.SearchResponse'
975 type: object 1124 type: object
976 "400":
977 description: Bad Request
978 schema:
979 $ref: '#/definitions/models.Response'
980 tags: 1125 tags:
981 - search 1126 - search
982 /token: 1127 /token:
@@ -1020,7 +1165,7 @@ paths:
1020 $ref: '#/definitions/models.Response' 1165 $ref: '#/definitions/models.Response'
1021 tags: 1166 tags:
1022 - auth 1167 - auth
1023 /users/{id}: 1168 /users/{userid}:
1024 get: 1169 get:
1025 consumes: 1170 consumes:
1026 - application/json 1171 - application/json
@@ -1028,7 +1173,7 @@ paths:
1028 parameters: 1173 parameters:
1029 - description: User ID 1174 - description: User ID
1030 in: path 1175 in: path
1031 name: id 1176 name: userid
1032 required: true 1177 required: true
1033 type: integer 1178 type: integer
1034 produces: 1179 produces:
@@ -1043,14 +1188,6 @@ paths:
1043 data: 1188 data:
1044 $ref: '#/definitions/handlers.ProfileResponse' 1189 $ref: '#/definitions/handlers.ProfileResponse'
1045 type: object 1190 type: object
1046 "400":
1047 description: Bad Request
1048 schema:
1049 $ref: '#/definitions/models.Response'
1050 "404":
1051 description: Not Found
1052 schema:
1053 $ref: '#/definitions/models.Response'
1054 tags: 1191 tags:
1055 - users 1192 - users
1056swagger: "2.0" 1193swagger: "2.0"