| Crates.io | r1-api-layer |
| lib.rs | r1-api-layer |
| version | 1.0.2 |
| created_at | 2025-03-04 12:18:07.966031+00 |
| updated_at | 2025-03-04 13:47:44.641316+00 |
| description | This is the API for the in class project of the TINF22B6 course at DHBW Karlsruhe. Here we create a OSU-like game which also sends some of the game run data to a server to do statistical analysis with Julia. |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1577189 |
| size | 332,340 |
This is the API for the in class project of the TINF22B6 course at DHBW Karlsruhe. Here we create a OSU-like game which also sends some of the game run data to a server to do statistical analysis with Julia.
This client/server was generated by the [openapi-generator] (https://openapi-generator.tech) project. By using the OpenAPI-Spec from a remote server, you can easily generate a server stub.
To see how to make this your own, look here:
API version: 1.0.2
Build date: 2025-03-04T14:43:38.042048+01:00[Europe/Berlin]
Generator version: 7.11.0
This autogenerated project defines an API crate openapi_client which contains:
Api trait defining the API in Rust.Client type which implements Api and issues HTTP requests for each operation.Api method for each operation.It also contains an example server and client which make use of openapi_client:
openapi_client
router, and supplies a trivial implementation of Api which returns failure
for every operation.openapi_client client by passing appropriate
arguments on the command line.You can use the example server and client as a basis for your own code. See below for more detail on the examples.
Run the included CLI tool with:
cargo run --bin cli --features=cli
To pass in arguments, put them after --, for example:
cargo run --bin cli --features=cli -- --help
See the help text for available options.
To build a standalone tool, use:
cargo build --bin cli --features=cli --release
You'll find the binary at target/release/cli.
Run examples with:
cargo run --example <example-name>
To pass in arguments to the examples, put them after --, for example:
cargo run --example client -- --help
To run the server, follow these simple steps:
cargo run --example server
To run a client, follow one of the following simple steps:
cargo run --example client BobbyDelete
cargo run --example client MapsGet
cargo run --example client StatisticsGet
cargo run --example client MapLevelGet
cargo run --example client StatisticsUuidGet
cargo run --example client UserUuidGet
The examples can be run in HTTPS mode by passing in the flag --https, for example:
cargo run --example server -- --https
This will use the keys/certificates from the examples directory. Note that the
server chain is signed with CN=localhost.
The generated library has a few optional features that can be activated through Cargo.
server
client
conversions
cli
See https://doc.rust-lang.org/cargo/reference/manifest.html#the-features-section for how to use features in your Cargo.toml.
All URIs are relative to https://tbd.freemine.de
| Method | HTTP request | Description |
|---|---|---|
| **** | DELETE /bobby | Calls for Booby Drop Tables |
| **** | POST /game | Submit game end data |
| **** | GET /maps | Fetch all existing maps. |
| **** | POST /register | Creates a User in our System. |
| **** | GET /statistics | Fetch all statistics |
| **** | GET /map/{level} | Fetch BeatMap of a specific level. |
| **** | GET /statistics/{UUID} | Fetch details for a specific run. |
| **** | GET /user/{UUID} | Gets user Details from UUID. |
Endpoints do not require authorization.