diff options
| author | Mitchell Riedstra <mitch@riedstra.dev> | 2021-08-24 22:25:40 -0400 |
|---|---|---|
| committer | Mitchell Riedstra <mitch@riedstra.dev> | 2021-08-24 22:25:40 -0400 |
| commit | 0fc3eda77004f41c5f0a804028da2d90b0373ea7 (patch) | |
| tree | edf6d74e6a2b7140350eab1e40d0fbf70e10f87c /cmd/web/docs/swagger.yaml | |
| parent | f4fcd237b2d0eb950fc15a8af1fb0894b6ad6359 (diff) | |
| download | steam-export-0fc3eda77004f41c5f0a804028da2d90b0373ea7.tar.gz steam-export-0fc3eda77004f41c5f0a804028da2d90b0373ea7.tar.xz | |
Another development snapshot. Updated license. Added Swagger documentation--embedded! Note about 'swaggo'
Diffstat (limited to 'cmd/web/docs/swagger.yaml')
| -rw-r--r-- | cmd/web/docs/swagger.yaml | 241 |
1 files changed, 241 insertions, 0 deletions
diff --git a/cmd/web/docs/swagger.yaml b/cmd/web/docs/swagger.yaml new file mode 100644 index 0000000..20d06a8 --- /dev/null +++ b/cmd/web/docs/swagger.yaml @@ -0,0 +1,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" |
