moodle_client

Crates.iomoodle_client
lib.rsmoodle_client
version0.1.0
sourcesrc
created_at2023-09-18 17:13:43.289671
updated_at2023-09-18 17:13:43.289671
descriptionMoodle Webservice Client in Rust.
homepagehttps://github.com/JacobLinCool/moodle-rs
repositoryhttps://github.com/JacobLinCool/moodle-rs
max_upload_size
id976126
size9,533
JacobLinCool (JacobLinCool)

documentation

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.

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);
}
Commit count: 4

cargo fmt