aboutsummaryrefslogtreecommitdiff
path: root/docs/swagger.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'docs/swagger.yaml')
-rw-r--r--docs/swagger.yaml383
1 files changed, 266 insertions, 117 deletions
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index 7571073..6b1e6ea 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -1,20 +1,6 @@
1basePath: /v1 1basePath: /v1
2definitions: 2definitions:
3 models.Category: 3 handlers.ChapterMapsResponse:
4 properties:
5 id:
6 type: integer
7 name:
8 type: string
9 type: object
10 models.Chapter:
11 properties:
12 id:
13 type: integer
14 name:
15 type: string
16 type: object
17 models.ChapterMapsResponse:
18 properties: 4 properties:
19 chapter: 5 chapter:
20 $ref: '#/definitions/models.Chapter' 6 $ref: '#/definitions/models.Chapter'
@@ -23,7 +9,7 @@ definitions:
23 $ref: '#/definitions/models.MapShort' 9 $ref: '#/definitions/models.MapShort'
24 type: array 10 type: array
25 type: object 11 type: object
26 models.ChaptersResponse: 12 handlers.ChaptersResponse:
27 properties: 13 properties:
28 chapters: 14 chapters:
29 items: 15 items:
@@ -32,7 +18,7 @@ definitions:
32 game: 18 game:
33 $ref: '#/definitions/models.Game' 19 $ref: '#/definitions/models.Game'
34 type: object 20 type: object
35 models.CreateMapSummaryRequest: 21 handlers.CreateMapSummaryRequest:
36 properties: 22 properties:
37 category_id: 23 category_id:
38 type: integer 24 type: integer
@@ -53,21 +39,21 @@ definitions:
53 - score_count 39 - score_count
54 - user_name 40 - user_name
55 type: object 41 type: object
56 models.DeleteMapSummaryRequest: 42 handlers.DeleteMapSummaryRequest:
57 properties: 43 properties:
58 route_id: 44 route_id:
59 type: integer 45 type: integer
60 required: 46 required:
61 - route_id 47 - route_id
62 type: object 48 type: object
63 models.EditMapImageRequest: 49 handlers.EditMapImageRequest:
64 properties: 50 properties:
65 image: 51 image:
66 type: string 52 type: string
67 required: 53 required:
68 - image 54 - image
69 type: object 55 type: object
70 models.EditMapSummaryRequest: 56 handlers.EditMapSummaryRequest:
71 properties: 57 properties:
72 description: 58 description:
73 type: string 59 type: string
@@ -88,6 +74,182 @@ definitions:
88 - score_count 74 - score_count
89 - user_name 75 - user_name
90 type: object 76 type: object
77 handlers.LoginResponse:
78 properties:
79 token:
80 type: string
81 type: object
82 handlers.LogsResponse:
83 properties:
84 logs:
85 items:
86 $ref: '#/definitions/handlers.LogsResponseDetails'
87 type: array
88 type: object
89 handlers.LogsResponseDetails:
90 properties:
91 date:
92 type: string
93 detail:
94 type: string
95 user:
96 $ref: '#/definitions/models.UserShort'
97 type: object
98 handlers.MapLeaderboardsResponse:
99 properties:
100 map:
101 $ref: '#/definitions/models.Map'
102 records: {}
103 type: object
104 handlers.MapSummaryResponse:
105 properties:
106 map:
107 $ref: '#/definitions/models.Map'
108 summary:
109 $ref: '#/definitions/models.MapSummary'
110 type: object
111 handlers.ProfileRankings:
112 properties:
113 cooperative:
114 $ref: '#/definitions/handlers.ProfileRankingsDetails'
115 overall:
116 $ref: '#/definitions/handlers.ProfileRankingsDetails'
117 singleplayer:
118 $ref: '#/definitions/handlers.ProfileRankingsDetails'
119 type: object
120 handlers.ProfileRankingsDetails:
121 properties:
122 completion_count:
123 type: integer
124 completion_total:
125 type: integer
126 rank:
127 type: integer
128 type: object
129 handlers.ProfileRecords:
130 properties:
131 category_id:
132 type: integer
133 game_id:
134 type: integer
135 map_id:
136 type: integer
137 map_name:
138 type: string
139 map_wr_count:
140 type: integer
141 scores:
142 items:
143 $ref: '#/definitions/handlers.ProfileScores'
144 type: array
145 type: object
146 handlers.ProfileResponse:
147 properties:
148 avatar_link:
149 type: string
150 country_code:
151 type: string
152 links:
153 $ref: '#/definitions/models.Links'
154 profile:
155 type: boolean
156 rankings:
157 $ref: '#/definitions/handlers.ProfileRankings'
158 records:
159 items:
160 $ref: '#/definitions/handlers.ProfileRecords'
161 type: array
162 steam_id:
163 type: string
164 titles:
165 items:
166 $ref: '#/definitions/models.Title'
167 type: array
168 user_name:
169 type: string
170 type: object
171 handlers.ProfileScores:
172 properties:
173 date:
174 type: string
175 demo_id:
176 type: string
177 score_count:
178 type: integer
179 score_time:
180 type: integer
181 type: object
182 handlers.RankingsResponse:
183 properties:
184 rankings_multiplayer:
185 items:
186 $ref: '#/definitions/models.UserRanking'
187 type: array
188 rankings_overall:
189 items:
190 $ref: '#/definitions/models.UserRanking'
191 type: array
192 rankings_singleplayer:
193 items:
194 $ref: '#/definitions/models.UserRanking'
195 type: array
196 type: object
197 handlers.RecordResponse:
198 properties:
199 score_count:
200 type: integer
201 score_time:
202 type: integer
203 type: object
204 handlers.ScoreLogsResponse:
205 properties:
206 scores:
207 items:
208 $ref: '#/definitions/handlers.ScoreLogsResponseDetails'
209 type: array
210 type: object
211 handlers.ScoreLogsResponseDetails:
212 properties:
213 date:
214 type: string
215 demo_id:
216 type: string
217 game:
218 $ref: '#/definitions/models.Game'
219 map:
220 $ref: '#/definitions/models.MapShort'
221 score_count:
222 type: integer
223 score_time:
224 type: integer
225 user:
226 $ref: '#/definitions/models.UserShort'
227 type: object
228 handlers.SearchResponse:
229 properties:
230 maps:
231 items:
232 $ref: '#/definitions/models.MapShort'
233 type: array
234 players:
235 items:
236 $ref: '#/definitions/models.UserShort'
237 type: array
238 type: object
239 models.Category:
240 properties:
241 id:
242 type: integer
243 name:
244 type: string
245 type: object
246 models.Chapter:
247 properties:
248 id:
249 type: integer
250 name:
251 type: string
252 type: object
91 models.Game: 253 models.Game:
92 properties: 254 properties:
93 id: 255 id:
@@ -97,9 +259,15 @@ definitions:
97 name: 259 name:
98 type: string 260 type: string
99 type: object 261 type: object
100 models.LoginResponse: 262 models.Links:
101 properties: 263 properties:
102 token: 264 p2sr:
265 type: string
266 stream:
267 type: string
268 twitch:
269 type: string
270 youtube:
103 type: string 271 type: string
104 type: object 272 type: object
105 models.Map: 273 models.Map:
@@ -126,10 +294,6 @@ definitions:
126 score_count: 294 score_count:
127 type: integer 295 type: integer
128 type: object 296 type: object
129 models.MapRecords:
130 properties:
131 records: {}
132 type: object
133 models.MapRoute: 297 models.MapRoute:
134 properties: 298 properties:
135 category: 299 category:
@@ -159,52 +323,6 @@ definitions:
159 $ref: '#/definitions/models.MapRoute' 323 $ref: '#/definitions/models.MapRoute'
160 type: array 324 type: array
161 type: object 325 type: object
162 models.MapSummaryResponse:
163 properties:
164 map:
165 $ref: '#/definitions/models.Map'
166 summary:
167 $ref: '#/definitions/models.MapSummary'
168 type: object
169 models.ProfileResponse:
170 properties:
171 avatar_link:
172 type: string
173 country_code:
174 type: string
175 profile:
176 type: boolean
177 scores_mp:
178 items:
179 $ref: '#/definitions/models.ScoreResponse'
180 type: array
181 scores_sp:
182 items:
183 $ref: '#/definitions/models.ScoreResponse'
184 type: array
185 steam_id:
186 type: string
187 user_name:
188 type: string
189 type: object
190 models.RankingsResponse:
191 properties:
192 rankings_mp:
193 items:
194 $ref: '#/definitions/models.UserRanking'
195 type: array
196 rankings_sp:
197 items:
198 $ref: '#/definitions/models.UserRanking'
199 type: array
200 type: object
201 models.RecordResponse:
202 properties:
203 score_count:
204 type: integer
205 score_time:
206 type: integer
207 type: object
208 models.Response: 326 models.Response:
209 properties: 327 properties:
210 data: {} 328 data: {}
@@ -213,31 +331,19 @@ definitions:
213 success: 331 success:
214 type: boolean 332 type: boolean
215 type: object 333 type: object
216 models.ScoreResponse: 334 models.Title:
217 properties:
218 map_id:
219 type: integer
220 records: {}
221 type: object
222 models.SearchResponse:
223 properties: 335 properties:
224 maps: 336 color:
225 items: 337 type: string
226 $ref: '#/definitions/models.MapShort' 338 name:
227 type: array 339 type: string
228 players:
229 items:
230 $ref: '#/definitions/models.UserShort'
231 type: array
232 type: object 340 type: object
233 models.UserRanking: 341 models.UserRanking:
234 properties: 342 properties:
235 total_score: 343 total_score:
236 type: integer 344 type: integer
237 user_id: 345 user:
238 type: string 346 $ref: '#/definitions/models.UserShort'
239 user_name:
240 type: string
241 type: object 347 type: object
242 models.UserShort: 348 models.UserShort:
243 properties: 349 properties:
@@ -275,7 +381,7 @@ paths:
275 - $ref: '#/definitions/models.Response' 381 - $ref: '#/definitions/models.Response'
276 - properties: 382 - properties:
277 data: 383 data:
278 $ref: '#/definitions/models.ChapterMapsResponse' 384 $ref: '#/definitions/handlers.ChapterMapsResponse'
279 type: object 385 type: object
280 "400": 386 "400":
281 description: Bad Request 387 description: Bad Request
@@ -349,7 +455,7 @@ paths:
349 - $ref: '#/definitions/models.Response' 455 - $ref: '#/definitions/models.Response'
350 - properties: 456 - properties:
351 data: 457 data:
352 $ref: '#/definitions/models.ChaptersResponse' 458 $ref: '#/definitions/handlers.ChaptersResponse'
353 type: object 459 type: object
354 "400": 460 "400":
355 description: Bad Request 461 description: Bad Request
@@ -372,7 +478,7 @@ paths:
372 - $ref: '#/definitions/models.Response' 478 - $ref: '#/definitions/models.Response'
373 - properties: 479 - properties:
374 data: 480 data:
375 $ref: '#/definitions/models.LoginResponse' 481 $ref: '#/definitions/handlers.LoginResponse'
376 type: object 482 type: object
377 "400": 483 "400":
378 description: Bad Request 484 description: Bad Request
@@ -380,6 +486,54 @@ paths:
380 $ref: '#/definitions/models.Response' 486 $ref: '#/definitions/models.Response'
381 tags: 487 tags:
382 - login 488 - login
489 /logs/mod:
490 get:
491 description: Get mod logs.
492 parameters:
493 - description: JWT Token
494 in: header
495 name: Authorization
496 required: true
497 type: string
498 produces:
499 - application/json
500 responses:
501 "200":
502 description: OK
503 schema:
504 allOf:
505 - $ref: '#/definitions/models.Response'
506 - properties:
507 data:
508 $ref: '#/definitions/handlers.LogsResponse'
509 type: object
510 "400":
511 description: Bad Request
512 schema:
513 $ref: '#/definitions/models.Response'
514 tags:
515 - logs
516 /logs/score:
517 get:
518 description: Get score logs of every player.
519 produces:
520 - application/json
521 responses:
522 "200":
523 description: OK
524 schema:
525 allOf:
526 - $ref: '#/definitions/models.Response'
527 - properties:
528 data:
529 $ref: '#/definitions/handlers.ScoreLogsResponse'
530 type: object
531 "400":
532 description: Bad Request
533 schema:
534 $ref: '#/definitions/models.Response'
535 tags:
536 - logs
383 /maps/{id}/image: 537 /maps/{id}/image:
384 put: 538 put:
385 description: Edit map image with specified map id. 539 description: Edit map image with specified map id.
@@ -399,7 +553,7 @@ paths:
399 name: request 553 name: request
400 required: true 554 required: true
401 schema: 555 schema:
402 $ref: '#/definitions/models.EditMapImageRequest' 556 $ref: '#/definitions/handlers.EditMapImageRequest'
403 produces: 557 produces:
404 - application/json 558 - application/json
405 responses: 559 responses:
@@ -410,7 +564,7 @@ paths:
410 - $ref: '#/definitions/models.Response' 564 - $ref: '#/definitions/models.Response'
411 - properties: 565 - properties:
412 data: 566 data:
413 $ref: '#/definitions/models.EditMapImageRequest' 567 $ref: '#/definitions/handlers.EditMapImageRequest'
414 type: object 568 type: object
415 "400": 569 "400":
416 description: Bad Request 570 description: Bad Request
@@ -437,12 +591,7 @@ paths:
437 - $ref: '#/definitions/models.Response' 591 - $ref: '#/definitions/models.Response'
438 - properties: 592 - properties:
439 data: 593 data:
440 allOf: 594 $ref: '#/definitions/handlers.MapLeaderboardsResponse'
441 - $ref: '#/definitions/models.Map'
442 - properties:
443 data:
444 $ref: '#/definitions/models.MapRecords'
445 type: object
446 type: object 595 type: object
447 "400": 596 "400":
448 description: Bad Request 597 description: Bad Request
@@ -493,7 +642,7 @@ paths:
493 - $ref: '#/definitions/models.Response' 642 - $ref: '#/definitions/models.Response'
494 - properties: 643 - properties:
495 data: 644 data:
496 $ref: '#/definitions/models.RecordResponse' 645 $ref: '#/definitions/handlers.RecordResponse'
497 type: object 646 type: object
498 "400": 647 "400":
499 description: Bad Request 648 description: Bad Request
@@ -524,7 +673,7 @@ paths:
524 name: request 673 name: request
525 required: true 674 required: true
526 schema: 675 schema:
527 $ref: '#/definitions/models.DeleteMapSummaryRequest' 676 $ref: '#/definitions/handlers.DeleteMapSummaryRequest'
528 produces: 677 produces:
529 - application/json 678 - application/json
530 responses: 679 responses:
@@ -535,7 +684,7 @@ paths:
535 - $ref: '#/definitions/models.Response' 684 - $ref: '#/definitions/models.Response'
536 - properties: 685 - properties:
537 data: 686 data:
538 $ref: '#/definitions/models.DeleteMapSummaryRequest' 687 $ref: '#/definitions/handlers.DeleteMapSummaryRequest'
539 type: object 688 type: object
540 "400": 689 "400":
541 description: Bad Request 690 description: Bad Request
@@ -561,7 +710,7 @@ paths:
561 - $ref: '#/definitions/models.Response' 710 - $ref: '#/definitions/models.Response'
562 - properties: 711 - properties:
563 data: 712 data:
564 $ref: '#/definitions/models.MapSummaryResponse' 713 $ref: '#/definitions/handlers.MapSummaryResponse'
565 type: object 714 type: object
566 "400": 715 "400":
567 description: Bad Request 716 description: Bad Request
@@ -587,7 +736,7 @@ paths:
587 name: request 736 name: request
588 required: true 737 required: true
589 schema: 738 schema:
590 $ref: '#/definitions/models.CreateMapSummaryRequest' 739 $ref: '#/definitions/handlers.CreateMapSummaryRequest'
591 produces: 740 produces:
592 - application/json 741 - application/json
593 responses: 742 responses:
@@ -598,7 +747,7 @@ paths:
598 - $ref: '#/definitions/models.Response' 747 - $ref: '#/definitions/models.Response'
599 - properties: 748 - properties:
600 data: 749 data:
601 $ref: '#/definitions/models.CreateMapSummaryRequest' 750 $ref: '#/definitions/handlers.CreateMapSummaryRequest'
602 type: object 751 type: object
603 "400": 752 "400":
604 description: Bad Request 753 description: Bad Request
@@ -624,7 +773,7 @@ paths:
624 name: request 773 name: request
625 required: true 774 required: true
626 schema: 775 schema:
627 $ref: '#/definitions/models.EditMapSummaryRequest' 776 $ref: '#/definitions/handlers.EditMapSummaryRequest'
628 produces: 777 produces:
629 - application/json 778 - application/json
630 responses: 779 responses:
@@ -635,7 +784,7 @@ paths:
635 - $ref: '#/definitions/models.Response' 784 - $ref: '#/definitions/models.Response'
636 - properties: 785 - properties:
637 data: 786 data:
638 $ref: '#/definitions/models.EditMapSummaryRequest' 787 $ref: '#/definitions/handlers.EditMapSummaryRequest'
639 type: object 788 type: object
640 "400": 789 "400":
641 description: Bad Request 790 description: Bad Request
@@ -664,7 +813,7 @@ paths:
664 - $ref: '#/definitions/models.Response' 813 - $ref: '#/definitions/models.Response'
665 - properties: 814 - properties:
666 data: 815 data:
667 $ref: '#/definitions/models.ProfileResponse' 816 $ref: '#/definitions/handlers.ProfileResponse'
668 type: object 817 type: object
669 "400": 818 "400":
670 description: Bad Request 819 description: Bad Request
@@ -696,7 +845,7 @@ paths:
696 - $ref: '#/definitions/models.Response' 845 - $ref: '#/definitions/models.Response'
697 - properties: 846 - properties:
698 data: 847 data:
699 $ref: '#/definitions/models.ProfileResponse' 848 $ref: '#/definitions/handlers.ProfileResponse'
700 type: object 849 type: object
701 "400": 850 "400":
702 description: Bad Request 851 description: Bad Request
@@ -753,7 +902,7 @@ paths:
753 - $ref: '#/definitions/models.Response' 902 - $ref: '#/definitions/models.Response'
754 - properties: 903 - properties:
755 data: 904 data:
756 $ref: '#/definitions/models.RankingsResponse' 905 $ref: '#/definitions/handlers.RankingsResponse'
757 type: object 906 type: object
758 "400": 907 "400":
759 description: Bad Request 908 description: Bad Request
@@ -779,7 +928,7 @@ paths:
779 - $ref: '#/definitions/models.Response' 928 - $ref: '#/definitions/models.Response'
780 - properties: 929 - properties:
781 data: 930 data:
782 $ref: '#/definitions/models.SearchResponse' 931 $ref: '#/definitions/handlers.SearchResponse'
783 type: object 932 type: object
784 "400": 933 "400":
785 description: Bad Request 934 description: Bad Request
@@ -800,7 +949,7 @@ paths:
800 - $ref: '#/definitions/models.Response' 949 - $ref: '#/definitions/models.Response'
801 - properties: 950 - properties:
802 data: 951 data:
803 $ref: '#/definitions/models.LoginResponse' 952 $ref: '#/definitions/handlers.LoginResponse'
804 type: object 953 type: object
805 "404": 954 "404":
806 description: Not Found 955 description: Not Found
@@ -820,7 +969,7 @@ paths:
820 - $ref: '#/definitions/models.Response' 969 - $ref: '#/definitions/models.Response'
821 - properties: 970 - properties:
822 data: 971 data:
823 $ref: '#/definitions/models.LoginResponse' 972 $ref: '#/definitions/handlers.LoginResponse'
824 type: object 973 type: object
825 "404": 974 "404":
826 description: Not Found 975 description: Not Found
@@ -849,7 +998,7 @@ paths:
849 - $ref: '#/definitions/models.Response' 998 - $ref: '#/definitions/models.Response'
850 - properties: 999 - properties:
851 data: 1000 data:
852 $ref: '#/definitions/models.ProfileResponse' 1001 $ref: '#/definitions/handlers.ProfileResponse'
853 type: object 1002 type: object
854 "400": 1003 "400":
855 description: Bad Request 1004 description: Bad Request