blob: 20d06a88b94e787883e56a9b9686c8737170a2a5 (
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
|
basePath: /api/v1
definitions:
main.respError:
properties:
error:
example: Descriptive Error message
type: string
type: object
main.respStatus:
properties:
status:
example: OK
type: string
type: object
steam.Game:
properties:
LibraryPath:
example: C:\Program Files (x86)\Steam\steamapps
type: string
Name:
example: Doom
type: string
Size:
example: 12345
type: integer
type: object
host: localhost:8899
info:
contact:
email: steam-export@riedstra.dev
name: Mitchell Riedstra
url: https://riedstra.dev/steam-export
description: The steam exporter is designed to make it easy to export steam games
across the network.
license:
name: ISC
url: https://opensource.org/licenses/ISC
title: Steam Exporter API
version: "1.0"
paths:
/lib/game/{game}:
delete:
consumes:
- application/json
description: Handle deletion of a game
parameters:
- description: Name of the videogame
in: path
name: game
required: true
type: string
produces:
- application/json
responses:
"200":
description: Game was deleted
schema:
$ref: '#/definitions/main.respStatus'
"400":
description: Bad request, most likely no game supplied
schema:
$ref: '#/definitions/main.respError'
"404":
description: Game not found
schema:
$ref: '#/definitions/main.respError'
"409":
description: Another operation is currently running
schema:
$ref: '#/definitions/main.respError'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/main.respError'
summary: Delete a videogame
tags:
- all
- game
get:
consumes:
- application/json
description: |-
Streams a tarball of the game including the ACF file down
to the client machine
parameters:
- description: Name of the videogame
in: path
name: game
required: true
type: string
produces:
- application/tar
responses:
"200":
description: ""
summary: Handles downloading of a game
tags:
- all
- game
/lib/games:
get:
consumes:
- application/json
description: Returns a list of all currently installed and available games
produces:
- application/json
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/steam.Game'
type: array
summary: Get available games
tags:
- all
- game
/lib/install:
post:
consumes:
- application/json
description: |-
Attemps to install a game from the provided URI
It tries to be smart about it, http, https, or a location
on disk are supported.
parameters:
- description: URI to fetch from
in: query
name: url
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/main.respStatus'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/main.respError'
summary: Installs a game
tags:
- all
- game
/lib/path:
post:
consumes:
- application/json
description: |-
If no other operatoins are currently running this will change
the path in which the current library is pointed. Implies a
refresh.
parameters:
- description: Path on disk to search for a steam library
in: query
name: path
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/main.respStatus'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/main.respError'
summary: Set library path to new location on disk
tags:
- all
- library
/lib/refresh:
post:
consumes:
- application/json
description: |-
if no other actions are running on the library it will trigger a
refre
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/main.respStatus'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/main.respError'
summary: Refresh the current steam library
tags:
- all
- library
/share-link:
get:
consumes:
- application/json
description: |-
The URL returned is a best effort guess at what your internal
network IP is, on Windows this involves automatically using
the IP from the interface associated with your default route.
On other platforms this involves simply returning the first
sane looking IP address with no regard for anything else.
produces:
- application/json
responses:
"200":
description: URL to currently running server
schema:
type: string
summary: Return share link
tags:
- all
- information
/version:
get:
consumes:
- application/json
description: Returns the version of the server
produces:
- application/json
responses:
"200":
description: Version string
schema:
type: string
summary: Return the version string
tags:
- all
securityDefinitions:
ApiKeyAuth:
in: header
name: Authorization
type: apiKey
BasicAuth:
type: basic
swagger: "2.0"
|