aboutsummaryrefslogtreecommitdiff
path: root/reference/Steam-Exporter.yaml
blob: 8af7b2363707e8f38067e33899f7bb9489a9a3f5 (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
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
swagger: '2.0'
info:
  description: Steam exporter API
  title: Steam Exporter
  version: '1.0'
  contact:
    name: Mitchell
    url: 'https://riedstra.dev'
    email: mitch@riedstra.dev
host: 'localhost:8899'
schemes:
  - http
produces:
  - application/json
consumes:
  - application/json
paths:
  /quit:
    put:
      summary: ''
      operationId: put-quit
      responses:
        '200':
          description: OK
      description: Quits the application
  /lib/games:
    get:
      summary: Your GET endpoint
      tags: []
      responses:
        '200':
          description: OK
          schema:
            type: array
            items:
              $ref: '#/definitions/Game'
      operationId: get-library
      description: Returns the games in the Steam Library
    parameters: []
  /lib:
    get:
      summary: Your GET endpoint
      tags: []
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/Status'
      operationId: get-lib
      description: Returns basic status about the library
  /lib/refresh:
    post:
      summary: ''
      operationId: post-lib-refresh
      responses:
        '200':
          description: OK
      description: Calls for a refresh of the library
  /lib/path:
    parameters: []
    post:
      summary: ''
      operationId: post-lib-path-path
      responses:
        '200':
          description: OK
        '409':
          description: Conflict. Returns all running jobs.
          schema:
            type: array
            items:
              $ref: '#/definitions/Job'
      description: Changes the library to the specified directory if possible.
      parameters:
        - type: string
          in: query
          name: path
          description: Path to set the library to
  /lib/install:
    post:
      summary: ''
      operationId: post-lib-extract
      responses:
        '200':
          description: OK
        '409':
          description: Conflict
          schema:
            type: object
            properties: {}
      description: Extract a game from a specified URL
      parameters:
        - type: string
          in: query
          name: url
          description: URL to extract the game from
    parameters: []
  '/lib/game/{game}':
    parameters:
      - type: string
        name: game
        in: path
        required: true
        description: The game to operate on
    get:
      summary: Your GET endpoint
      tags: []
      responses:
        '200':
          description: OK
          schema:
            type: object
            properties: {}
        '404':
          description: Not Found
          schema:
            type: object
            properties: {}
      operationId: get-lib-game-package
      description: 'Packages up the game, streaming the tarball to the client.'
      parameters:
        - type: integer
          in: header
          name: Estimated-size
          description: Estimated size of the game in bytes
    delete:
      summary: ''
      operationId: delete-lib-game-game
      responses:
        '200':
          description: OK
          schema:
            type: object
            properties: {}
        '409':
          description: Conflict
      description: Deletes the game in question
  /version:
    get:
      responses:
        '200':
          description: OK
          schema:
            type: object
            properties: {}
      summary: Your GET endpoint
      tags: []
      operationId: get-version
      description: Returns the version information about the application
      parameters:
        - in: body
          name: body
          schema:
            type:
              - string
              - object
  /share-link:
    get:
      summary: Your GET endpoint
      tags: []
      responses:
        '200':
          description: OK
          schema:
            type: object
            properties: {}
      operationId: get-share-link
      description: Returns the share link
      parameters:
        - in: body
          name: body
          schema:
            type: string
definitions:
  Status:
    title: Status
    type: object
    description: Returned from the Status Endpoint
    properties:
      Running:
        type: array
        items:
          $ref: '#/definitions/Job'
      Previous:
        type: array
        items:
          $ref: '#/definitions/Job'
    x-examples:
      example-1:
        Running:
          - Action: string
            Target:
              Name: string
              LibraryPath: string
              Size: 0
            Running: true
            Start: '2019-08-24T14:15:22Z'
            Errors:
              - {}
            Size: 0
            Transferred: 0
            ETA: 0
        Previous:
          - Action: string
            Target:
              Name: string
              LibraryPath: string
              Size: 0
            Running: true
            Start: '2019-08-24T14:15:22Z'
            Errors:
              - {}
            Size: 0
            Transferred: 0
            ETA: 0
  Game:
    title: Game
    type: object
    x-examples:
      example-1:
        Name: Counter-Strike Source
        LibraryPath: 'C:\Program Files (x86)\Steam\steamapps\'
        Size: 123456
    properties:
      Name:
        type: string
      LibraryPath:
        type: string
      Size:
        type: integer
        description: Size in bytes
  Job:
    description: Information about a specific job
    type: object
    x-examples:
      example-1:
        action: extractFile
        Target:
          Name: Counter-Strike Source
          LibraryPath: /home/mitch/Downloads/Counter Strike Source
          Size: 0
        Running: false
        Start: '2021-08-09T19:35:56.360665389-04:00'
        Errors: []
        Size: 4586057216
        Transferred: 4582277120
        ETA: 0
    properties:
      Action:
        type: string
        minLength: 1
      Target:
        $ref: '#/definitions/Game'
      Running:
        type: boolean
      Start:
        type: string
        minLength: 1
        format: date-time
      Errors:
        type: array
        uniqueItems: true
        minItems: 0
        items:
          type: object
      Size:
        type: integer
        x-nullable: true
      Transferred:
        type: integer
        x-nullable: true
      ETA:
        type: integer
        x-nullable: true
    required:
      - Action
      - Target
      - Running
      - Start
      - Errors
basePath: /api/v1
securityDefinitions: {}