sis-login

A library to login to the sis system and get the moodle session

Example

```rust use sislogin::Sis; use sislogin::sis::types::user_type::UserType;

[tokio::main]

async fn main() { let username = std::env::var("SISUSERNAME").unwrap(); let password = std::env::var("SISPASSWORD").unwrap();

// Crate Sis instance let headersbuilder = sislogin::headersbuilder::DefaultHeadersBuilder::new( "Mozilla/5.0 (X11; Linux x8664; rv:78.0) Gecko/20100101 Firefox/78.0".tostring(), "https://sis.eelu.edu.eg/static/PortalStudent.html".tostring() );

let loginurl: &str = "https://sis.eelu.edu.eg/studentLogin"; let getmoodlesessionurl: &str = "https://sis.eelu.edu.eg/getJCI"; let mut sis = Sis::new(loginurl, getmoodlesessionurl, &headers_builder);

// Login to sis match sis.login(&username, &password, UserType::Student).await { Ok() => { println!("Login Success"); // Get moodle session link let Ok(moodlesessionlink) = sis.getmoodlesessionlink().await else { panic!("Failed to get moodle session link") }; println!("Moodle session link: {}", moodlesessionlink); }, Err(err) => println!("Login Failed: {}", err), } } ```

Features

License: MIT OR Apache-2.0