aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--docs/docs.go246
-rw-r--r--docs/swagger.json246
-rw-r--r--docs/swagger.yaml148
3 files changed, 621 insertions, 19 deletions
diff --git a/docs/docs.go b/docs/docs.go
index 22d4362..cd129f0 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -20,6 +20,52 @@ const docTemplate = `{
20 "host": "{{.Host}}", 20 "host": "{{.Host}}",
21 "basePath": "{{.BasePath}}", 21 "basePath": "{{.BasePath}}",
22 "paths": { 22 "paths": {
23 "/chapters/{id}": {
24 "get": {
25 "produces": [
26 "application/json"
27 ],
28 "tags": [
29 "games \u0026 chapters"
30 ],
31 "summary": "Get maps from the specified chapter id.",
32 "parameters": [
33 {
34 "type": "integer",
35 "description": "Chapter ID",
36 "name": "id",
37 "in": "path",
38 "required": true
39 }
40 ],
41 "responses": {
42 "200": {
43 "description": "OK",
44 "schema": {
45 "allOf": [
46 {
47 "$ref": "#/definitions/models.Response"
48 },
49 {
50 "type": "object",
51 "properties": {
52 "data": {
53 "$ref": "#/definitions/models.ChapterMapsResponse"
54 }
55 }
56 }
57 ]
58 }
59 },
60 "400": {
61 "description": "Bad Request",
62 "schema": {
63 "$ref": "#/definitions/models.Response"
64 }
65 }
66 }
67 }
68 },
23 "/demo": { 69 "/demo": {
24 "get": { 70 "get": {
25 "produces": [ 71 "produces": [
@@ -94,6 +140,92 @@ const docTemplate = `{
94 } 140 }
95 } 141 }
96 }, 142 },
143 "/games": {
144 "get": {
145 "produces": [
146 "application/json"
147 ],
148 "tags": [
149 "games \u0026 chapters"
150 ],
151 "summary": "Get games from the leaderboards.",
152 "responses": {
153 "200": {
154 "description": "OK",
155 "schema": {
156 "allOf": [
157 {
158 "$ref": "#/definitions/models.Response"
159 },
160 {
161 "type": "object",
162 "properties": {
163 "data": {
164 "type": "array",
165 "items": {
166 "$ref": "#/definitions/models.Game"
167 }
168 }
169 }
170 }
171 ]
172 }
173 },
174 "400": {
175 "description": "Bad Request",
176 "schema": {
177 "$ref": "#/definitions/models.Response"
178 }
179 }
180 }
181 }
182 },
183 "/games/{id}": {
184 "get": {
185 "produces": [
186 "application/json"
187 ],
188 "tags": [
189 "games \u0026 chapters"
190 ],
191 "summary": "Get chapters from the specified game id.",
192 "parameters": [
193 {
194 "type": "integer",
195 "description": "Game ID",
196 "name": "id",
197 "in": "path",
198 "required": true
199 }
200 ],
201 "responses": {
202 "200": {
203 "description": "OK",
204 "schema": {
205 "allOf": [
206 {
207 "$ref": "#/definitions/models.Response"
208 },
209 {
210 "type": "object",
211 "properties": {
212 "data": {
213 "$ref": "#/definitions/models.ChaptersResponse"
214 }
215 }
216 }
217 ]
218 }
219 },
220 "400": {
221 "description": "Bad Request",
222 "schema": {
223 "$ref": "#/definitions/models.Response"
224 }
225 }
226 }
227 }
228 },
97 "/login": { 229 "/login": {
98 "get": { 230 "get": {
99 "consumes": [ 231 "consumes": [
@@ -136,9 +268,6 @@ const docTemplate = `{
136 }, 268 },
137 "/maps/{id}/leaderboards": { 269 "/maps/{id}/leaderboards": {
138 "get": { 270 "get": {
139 "consumes": [
140 "application/json"
141 ],
142 "produces": [ 271 "produces": [
143 "application/json" 272 "application/json"
144 ], 273 ],
@@ -290,9 +419,6 @@ const docTemplate = `{
290 }, 419 },
291 "/maps/{id}/summary": { 420 "/maps/{id}/summary": {
292 "get": { 421 "get": {
293 "consumes": [
294 "application/json"
295 ],
296 "produces": [ 422 "produces": [
297 "application/json" 423 "application/json"
298 ], 424 ],
@@ -530,7 +656,19 @@ const docTemplate = `{
530 "200": { 656 "200": {
531 "description": "OK", 657 "description": "OK",
532 "schema": { 658 "schema": {
533 "$ref": "#/definitions/models.Response" 659 "allOf": [
660 {
661 "$ref": "#/definitions/models.Response"
662 },
663 {
664 "type": "object",
665 "properties": {
666 "data": {
667 "$ref": "#/definitions/models.SearchResponse"
668 }
669 }
670 }
671 ]
534 } 672 }
535 }, 673 },
536 "400": { 674 "400": {
@@ -599,6 +737,56 @@ const docTemplate = `{
599 } 737 }
600 }, 738 },
601 "definitions": { 739 "definitions": {
740 "models.Chapter": {
741 "type": "object",
742 "properties": {
743 "id": {
744 "type": "integer"
745 },
746 "name": {
747 "type": "string"
748 }
749 }
750 },
751 "models.ChapterMapsResponse": {
752 "type": "object",
753 "properties": {
754 "chapter": {
755 "$ref": "#/definitions/models.Chapter"
756 },
757 "maps": {
758 "type": "array",
759 "items": {
760 "$ref": "#/definitions/models.MapShort"
761 }
762 }
763 }
764 },
765 "models.ChaptersResponse": {
766 "type": "object",
767 "properties": {
768 "chapters": {
769 "type": "array",
770 "items": {
771 "$ref": "#/definitions/models.Chapter"
772 }
773 },
774 "game": {
775 "$ref": "#/definitions/models.Game"
776 }
777 }
778 },
779 "models.Game": {
780 "type": "object",
781 "properties": {
782 "id": {
783 "type": "integer"
784 },
785 "name": {
786 "type": "string"
787 }
788 }
789 },
602 "models.LoginResponse": { 790 "models.LoginResponse": {
603 "type": "object", 791 "type": "object",
604 "properties": { 792 "properties": {
@@ -662,6 +850,17 @@ const docTemplate = `{
662 "records": {} 850 "records": {}
663 } 851 }
664 }, 852 },
853 "models.MapShort": {
854 "type": "object",
855 "properties": {
856 "id": {
857 "type": "integer"
858 },
859 "name": {
860 "type": "string"
861 }
862 }
863 },
665 "models.MapSummary": { 864 "models.MapSummary": {
666 "type": "object", 865 "type": "object",
667 "properties": { 866 "properties": {
@@ -784,6 +983,39 @@ const docTemplate = `{
784 "records": {} 983 "records": {}
785 } 984 }
786 }, 985 },
986 "models.SearchResponse": {
987 "type": "object",
988 "properties": {
989 "maps": {
990 "type": "array",
991 "items": {
992 "type": "object",
993 "properties": {
994 "id": {
995 "type": "integer"
996 },
997 "name": {
998 "type": "string"
999 }
1000 }
1001 }
1002 },
1003 "players": {
1004 "type": "array",
1005 "items": {
1006 "type": "object",
1007 "properties": {
1008 "steam_id": {
1009 "type": "string"
1010 },
1011 "user_name": {
1012 "type": "string"
1013 }
1014 }
1015 }
1016 }
1017 }
1018 },
787 "models.UserRanking": { 1019 "models.UserRanking": {
788 "type": "object", 1020 "type": "object",
789 "properties": { 1021 "properties": {
diff --git a/docs/swagger.json b/docs/swagger.json
index 0bebe1c..442745f 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -13,6 +13,52 @@
13 "host": "lp.ardapektezol.com/api", 13 "host": "lp.ardapektezol.com/api",
14 "basePath": "/v1", 14 "basePath": "/v1",
15 "paths": { 15 "paths": {
16 "/chapters/{id}": {
17 "get": {
18 "produces": [
19 "application/json"
20 ],
21 "tags": [
22 "games \u0026 chapters"
23 ],
24 "summary": "Get maps from the specified chapter id.",
25 "parameters": [
26 {
27 "type": "integer",
28 "description": "Chapter ID",
29 "name": "id",
30 "in": "path",
31 "required": true
32 }
33 ],
34 "responses": {
35 "200": {
36 "description": "OK",
37 "schema": {
38 "allOf": [
39 {
40 "$ref": "#/definitions/models.Response"
41 },
42 {
43 "type": "object",
44 "properties": {
45 "data": {
46 "$ref": "#/definitions/models.ChapterMapsResponse"
47 }
48 }
49 }
50 ]
51 }
52 },
53 "400": {
54 "description": "Bad Request",
55 "schema": {
56 "$ref": "#/definitions/models.Response"
57 }
58 }
59 }
60 }
61 },
16 "/demo": { 62 "/demo": {
17 "get": { 63 "get": {
18 "produces": [ 64 "produces": [
@@ -87,6 +133,92 @@
87 } 133 }
88 } 134 }
89 }, 135 },
136 "/games": {
137 "get": {
138 "produces": [
139 "application/json"
140 ],
141 "tags": [
142 "games \u0026 chapters"
143 ],
144 "summary": "Get games from the leaderboards.",
145 "responses": {
146 "200": {
147 "description": "OK",
148 "schema": {
149 "allOf": [
150 {
151 "$ref": "#/definitions/models.Response"
152 },
153 {
154 "type": "object",
155 "properties": {
156 "data": {
157 "type": "array",
158 "items": {
159 "$ref": "#/definitions/models.Game"
160 }
161 }
162 }
163 }
164 ]
165 }
166 },
167 "400": {
168 "description": "Bad Request",
169 "schema": {
170 "$ref": "#/definitions/models.Response"
171 }
172 }
173 }
174 }
175 },
176 "/games/{id}": {
177 "get": {
178 "produces": [
179 "application/json"
180 ],
181 "tags": [
182 "games \u0026 chapters"
183 ],
184 "summary": "Get chapters from the specified game id.",
185 "parameters": [
186 {
187 "type": "integer",
188 "description": "Game ID",
189 "name": "id",
190 "in": "path",
191 "required": true
192 }
193 ],
194 "responses": {
195 "200": {
196 "description": "OK",
197 "schema": {
198 "allOf": [
199 {
200 "$ref": "#/definitions/models.Response"
201 },
202 {
203 "type": "object",
204 "properties": {
205 "data": {
206 "$ref": "#/definitions/models.ChaptersResponse"
207 }
208 }
209 }
210 ]
211 }
212 },
213 "400": {
214 "description": "Bad Request",
215 "schema": {
216 "$ref": "#/definitions/models.Response"
217 }
218 }
219 }
220 }
221 },
90 "/login": { 222 "/login": {
91 "get": { 223 "get": {
92 "consumes": [ 224 "consumes": [
@@ -129,9 +261,6 @@
129 }, 261 },
130 "/maps/{id}/leaderboards": { 262 "/maps/{id}/leaderboards": {
131 "get": { 263 "get": {
132 "consumes": [
133 "application/json"
134 ],
135 "produces": [ 264 "produces": [
136 "application/json" 265 "application/json"
137 ], 266 ],
@@ -283,9 +412,6 @@
283 }, 412 },
284 "/maps/{id}/summary": { 413 "/maps/{id}/summary": {
285 "get": { 414 "get": {
286 "consumes": [
287 "application/json"
288 ],
289 "produces": [ 415 "produces": [
290 "application/json" 416 "application/json"
291 ], 417 ],
@@ -523,7 +649,19 @@
523 "200": { 649 "200": {
524 "description": "OK", 650 "description": "OK",
525 "schema": { 651 "schema": {
526 "$ref": "#/definitions/models.Response" 652 "allOf": [
653 {
654 "$ref": "#/definitions/models.Response"
655 },
656 {
657 "type": "object",
658 "properties": {
659 "data": {
660 "$ref": "#/definitions/models.SearchResponse"
661 }
662 }
663 }
664 ]
527 } 665 }
528 }, 666 },
529 "400": { 667 "400": {
@@ -592,6 +730,56 @@
592 } 730 }
593 }, 731 },
594 "definitions": { 732 "definitions": {
733 "models.Chapter": {
734 "type": "object",
735 "properties": {
736 "id": {
737 "type": "integer"
738 },
739 "name": {
740 "type": "string"
741 }
742 }
743 },
744 "models.ChapterMapsResponse": {
745 "type": "object",
746 "properties": {
747 "chapter": {
748 "$ref": "#/definitions/models.Chapter"
749 },
750 "maps": {
751 "type": "array",
752 "items": {
753 "$ref": "#/definitions/models.MapShort"
754 }
755 }
756 }
757 },
758 "models.ChaptersResponse": {
759 "type": "object",
760 "properties": {
761 "chapters": {
762 "type": "array",
763 "items": {
764 "$ref": "#/definitions/models.Chapter"
765 }
766 },
767 "game": {
768 "$ref": "#/definitions/models.Game"
769 }
770 }
771 },
772 "models.Game": {
773 "type": "object",
774 "properties": {
775 "id": {
776 "type": "integer"
777 },
778 "name": {
779 "type": "string"
780 }
781 }
782 },
595 "models.LoginResponse": { 783 "models.LoginResponse": {
596 "type": "object", 784 "type": "object",
597 "properties": { 785 "properties": {
@@ -655,6 +843,17 @@
655 "records": {} 843 "records": {}
656 } 844 }
657 }, 845 },
846 "models.MapShort": {
847 "type": "object",
848 "properties": {
849 "id": {
850 "type": "integer"
851 },
852 "name": {
853 "type": "string"
854 }
855 }
856 },
658 "models.MapSummary": { 857 "models.MapSummary": {
659 "type": "object", 858 "type": "object",
660 "properties": { 859 "properties": {
@@ -777,6 +976,39 @@
777 "records": {} 976 "records": {}
778 } 977 }
779 }, 978 },
979 "models.SearchResponse": {
980 "type": "object",
981 "properties": {
982 "maps": {
983 "type": "array",
984 "items": {
985 "type": "object",
986 "properties": {
987 "id": {
988 "type": "integer"
989 },
990 "name": {
991 "type": "string"
992 }
993 }
994 }
995 },
996 "players": {
997 "type": "array",
998 "items": {
999 "type": "object",
1000 "properties": {
1001 "steam_id": {
1002 "type": "string"
1003 },
1004 "user_name": {
1005 "type": "string"
1006 }
1007 }
1008 }
1009 }
1010 }
1011 },
780 "models.UserRanking": { 1012 "models.UserRanking": {
781 "type": "object", 1013 "type": "object",
782 "properties": { 1014 "properties": {
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index f719008..fa1a26d 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -1,5 +1,37 @@
1basePath: /v1 1basePath: /v1
2definitions: 2definitions:
3 models.Chapter:
4 properties:
5 id:
6 type: integer
7 name:
8 type: string
9 type: object
10 models.ChapterMapsResponse:
11 properties:
12 chapter:
13 $ref: '#/definitions/models.Chapter'
14 maps:
15 items:
16 $ref: '#/definitions/models.MapShort'
17 type: array
18 type: object
19 models.ChaptersResponse:
20 properties:
21 chapters:
22 items:
23 $ref: '#/definitions/models.Chapter'
24 type: array
25 game:
26 $ref: '#/definitions/models.Game'
27 type: object
28 models.Game:
29 properties:
30 id:
31 type: integer
32 name:
33 type: string
34 type: object
3 models.LoginResponse: 35 models.LoginResponse:
4 properties: 36 properties:
5 token: 37 token:
@@ -41,6 +73,13 @@ definitions:
41 properties: 73 properties:
42 records: {} 74 records: {}
43 type: object 75 type: object
76 models.MapShort:
77 properties:
78 id:
79 type: integer
80 name:
81 type: string
82 type: object
44 models.MapSummary: 83 models.MapSummary:
45 properties: 84 properties:
46 category_scores: 85 category_scores:
@@ -122,6 +161,27 @@ definitions:
122 type: integer 161 type: integer
123 records: {} 162 records: {}
124 type: object 163 type: object
164 models.SearchResponse:
165 properties:
166 maps:
167 items:
168 properties:
169 id:
170 type: integer
171 name:
172 type: string
173 type: object
174 type: array
175 players:
176 items:
177 properties:
178 steam_id:
179 type: string
180 user_name:
181 type: string
182 type: object
183 type: array
184 type: object
125 models.UserRanking: 185 models.UserRanking:
126 properties: 186 properties:
127 total_score: 187 total_score:
@@ -141,6 +201,33 @@ info:
141 title: Least Portals Database API 201 title: Least Portals Database API
142 version: "1.0" 202 version: "1.0"
143paths: 203paths:
204 /chapters/{id}:
205 get:
206 parameters:
207 - description: Chapter ID
208 in: path
209 name: id
210 required: true
211 type: integer
212 produces:
213 - application/json
214 responses:
215 "200":
216 description: OK
217 schema:
218 allOf:
219 - $ref: '#/definitions/models.Response'
220 - properties:
221 data:
222 $ref: '#/definitions/models.ChapterMapsResponse'
223 type: object
224 "400":
225 description: Bad Request
226 schema:
227 $ref: '#/definitions/models.Response'
228 summary: Get maps from the specified chapter id.
229 tags:
230 - games & chapters
144 /demo: 231 /demo:
145 get: 232 get:
146 produces: 233 produces:
@@ -186,6 +273,56 @@ paths:
186 summary: Get demo with specified demo uuid. 273 summary: Get demo with specified demo uuid.
187 tags: 274 tags:
188 - demo 275 - demo
276 /games:
277 get:
278 produces:
279 - application/json
280 responses:
281 "200":
282 description: OK
283 schema:
284 allOf:
285 - $ref: '#/definitions/models.Response'
286 - properties:
287 data:
288 items:
289 $ref: '#/definitions/models.Game'
290 type: array
291 type: object
292 "400":
293 description: Bad Request
294 schema:
295 $ref: '#/definitions/models.Response'
296 summary: Get games from the leaderboards.
297 tags:
298 - games & chapters
299 /games/{id}:
300 get:
301 parameters:
302 - description: Game ID
303 in: path
304 name: id
305 required: true
306 type: integer
307 produces:
308 - application/json
309 responses:
310 "200":
311 description: OK
312 schema:
313 allOf:
314 - $ref: '#/definitions/models.Response'
315 - properties:
316 data:
317 $ref: '#/definitions/models.ChaptersResponse'
318 type: object
319 "400":
320 description: Bad Request
321 schema:
322 $ref: '#/definitions/models.Response'
323 summary: Get chapters from the specified game id.
324 tags:
325 - games & chapters
189 /login: 326 /login:
190 get: 327 get:
191 consumes: 328 consumes:
@@ -211,8 +348,6 @@ paths:
211 - login 348 - login
212 /maps/{id}/leaderboards: 349 /maps/{id}/leaderboards:
213 get: 350 get:
214 consumes:
215 - application/json
216 parameters: 351 parameters:
217 - description: Map ID 352 - description: Map ID
218 in: path 353 in: path
@@ -305,8 +440,6 @@ paths:
305 - maps 440 - maps
306 /maps/{id}/summary: 441 /maps/{id}/summary:
307 get: 442 get:
308 consumes:
309 - application/json
310 parameters: 443 parameters:
311 - description: Map ID 444 - description: Map ID
312 in: path 445 in: path
@@ -447,7 +580,12 @@ paths:
447 "200": 580 "200":
448 description: OK 581 description: OK
449 schema: 582 schema:
450 $ref: '#/definitions/models.Response' 583 allOf:
584 - $ref: '#/definitions/models.Response'
585 - properties:
586 data:
587 $ref: '#/definitions/models.SearchResponse'
588 type: object
451 "400": 589 "400":
452 description: Bad Request 590 description: Bad Request
453 schema: 591 schema: