[](LICENSE)
[](https://crates.io/crates/tasvideos-api-rs)
[](https://docs.rs/tasvideos-api-rs)
### Description
Rust API wrapper crate for the redesigned TASVideos website ([Swagger Docs](https://tasvideos.org/api/)).
Implementation note: Different endpoints provide a various set of optional filters. For now, this is handled by an enum
containing a variant for every filter type. This design is a little clunky to use, but it works. If you provide a filter
that's not supported by the endpoint, it will be quietly ignored.
### Supported Endpoints
```
GET /api/v1/Games/{id}
GET /api/v1/Games
GET /api/v1/Publications/{id}
GET /api/v1/Publications
GET /api/v1/Submissions/{id}
GET /api/v1/Submissions
GET /api/v1/Systems/{id}
GET /api/v1/Systems
```
Movie downloads are also supported for publications, submissions, and userfiles.
### User Agent
It's highly recommended that you set a user-agent. A default user-agent will _not_ be provided in any requests unless you set one:
```Rust
unsafe { tasvideos_api_rs::USER_AGENT = "John Smith (johnsmith@gmail.com)"; }
```
### Building
If you wish to build from source, for your own system, Rust is integrated with the `cargo` build system. To install Rust and `cargo`, just follow [these instructions](https://doc.rust-lang.org/cargo/getting-started/installation.html). Once installed, while in the project directory, run `cargo build --release` to build.