diff options
| author | Mitchell Riedstra <mitch@riedstra.dev> | 2021-08-09 21:11:52 -0400 |
|---|---|---|
| committer | Mitchell Riedstra <mitch@riedstra.dev> | 2021-08-09 21:12:03 -0400 |
| commit | 9d5d130038ed90564c3acfb2fd2ff64e3d7b0bd9 (patch) | |
| tree | a95d63e240f0b63ffa4ff2ad3571fa45165b5708 /reference/Steam-Exporter.yaml | |
| parent | c202f2eca32e1ab2e313417168351df1c58ee062 (diff) | |
| download | steam-export-9d5d130038ed90564c3acfb2fd2ff64e3d7b0bd9.tar.gz steam-export-9d5d130038ed90564c3acfb2fd2ff64e3d7b0bd9.tar.xz | |
Fix up cli. Continue fixing up the library and web app. Initial API spec
Diffstat (limited to 'reference/Steam-Exporter.yaml')
| -rw-r--r-- | reference/Steam-Exporter.yaml | 282 |
1 files changed, 282 insertions, 0 deletions
diff --git a/reference/Steam-Exporter.yaml b/reference/Steam-Exporter.yaml new file mode 100644 index 0000000..8af7b23 --- /dev/null +++ b/reference/Steam-Exporter.yaml @@ -0,0 +1,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: {} |
