aboutsummaryrefslogtreecommitdiff
path: root/docs/swagger.yaml
blob: 81d407383267b33d15afa6abfae40bcad39f8aba (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
basePath: /v1
definitions:
  models.LoginResponse:
    properties:
      token:
        type: string
    type: object
  models.ProfileResponse:
    properties:
      avatar_link:
        type: string
      country_code:
        type: string
      profile:
        type: boolean
      scores_mp:
        items:
          $ref: '#/definitions/models.ScoreResponse'
        type: array
      scores_sp:
        items:
          $ref: '#/definitions/models.ScoreResponse'
        type: array
      steam_id:
        type: string
      username:
        type: string
    type: object
  models.Response:
    properties:
      data: {}
      message:
        type: string
      success:
        type: boolean
    type: object
  models.ScoreResponse:
    properties:
      map_id:
        type: integer
      records: {}
    type: object
host: localhost:4000/api
info:
  contact: {}
  description: Backend API endpoints for Least Portals Database.
  license:
    name: GNU General Public License, Version 2
    url: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
  title: Least Portals Database API
  version: "1.0"
paths:
  /login:
    get:
      consumes:
      - application/json
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/models.Response'
            - properties:
                data:
                  $ref: '#/definitions/models.LoginResponse'
              type: object
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/models.Response'
      summary: Get (redirect) login page for Steam auth.
  /profile:
    get:
      consumes:
      - application/json
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/models.Response'
            - properties:
                data:
                  $ref: '#/definitions/models.ProfileResponse'
              type: object
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/models.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/models.Response'
      summary: Get profile page of session user.
    post:
      consumes:
      - application/json
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/models.Response'
            - properties:
                data:
                  $ref: '#/definitions/models.ProfileResponse'
              type: object
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/models.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/models.Response'
      summary: Update profile page of session user.
    put:
      consumes:
      - application/json
      parameters:
      - description: Country Code [XX]
        in: query
        name: country_code
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/models.Response'
            - properties:
                data:
                  $ref: '#/definitions/models.ProfileResponse'
              type: object
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/models.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/models.Response'
      summary: Update country code of session user.
  /user/{id}:
    get:
      consumes:
      - application/json
      parameters:
      - description: User ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/models.Response'
            - properties:
                data:
                  $ref: '#/definitions/models.ProfileResponse'
              type: object
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/models.Response'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/models.Response'
      summary: Get profile page of another user.
swagger: "2.0"