An open API service indexing awesome lists of open source software.

https://github.com/jacoblincool/moodle-rs

Moodle Webservice Client in Rust.
https://github.com/jacoblincool/moodle-rs

moodle

Last synced: about 1 year ago
JSON representation

Moodle Webservice Client in Rust.

Awesome Lists containing this project

README

          

# moodle-rs

Moodle Webservice Client in Rust.

## Features

- Parameters and return values are fully typed.
- However, due to the version differences of Moodle, sometimes you can use `call_raw` to get the raw `serde_json::Value` and parse it yourself.

## Example

See [examples](./examples/).

```rs
use moodle::api::core::course::get_enrolled_courses_by_timeline_classification::{call, Params};
use moodle::client::{login, MoodleClient};

#[tokio::main]
async fn main() {
let base_url = std::env::var("MOODLE_URL").unwrap();
let username = std::env::var("MOODLE_USERNAME").unwrap();
let password = std::env::var("MOODLE_PASSWORD").unwrap();

let token = login(&base_url, &username, &password).await.unwrap();
let mut client = MoodleClient::new(&base_url, &token);

let result = call(
&mut client,
&mut Params {
classification: Some("all".to_string()),
limit: Some(3),
offset: Some(0),
sort: None,
customfieldname: None,
customfieldvalue: None,
searchvalue: None,
},
)
.await;

println!("{:#?}", result);
}
```