[][src]Module epitok::event

Event management

Event handling

Here you can get events, registered students with their statuses, you can modify and upload them back to the intra.

Example

use epitok::event::{Event, list_events_today};
use epitok::student::fetch_students;

let autologin = "https://intra.epitech.eu/auth-autologin";
let mut events: Vec<Event> = Vec::new();

// Get list of today's events
list_events_today(&mut events, &autologin).await?;

// Select the first event
let first_event = &mut events[0];

// Print information about event
println!("code: {}", first_event.code());
println!("title: {}", first_event.title());
println!("module: {}", first_event.module());

// Fetch list of registered students
first_event.fetch_students(autologin).await?;

// Reset status of all students
first_event.set_all_students_none();

// Modify presence status to some students
first_event.set_student_present("first.last@epitech.eu");
first_event.set_student_missing("anony.mous@epitech.eu");
first_event.set_student_not_applicable("a.b@epitech.eu");

// Upload changes to the intra
first_event.save_changes(autologin).await?;

// Display new presence statuses
for student in first_event.students().iter() {
    println!("{} - {}", student.get_login(), student.get_presence());
}

Structs

Code

Raw information about event

Event

Event

Enums

Error

Error possibilities

Functions

get_event

Get a single event from its code

list_events

Show events of a particular date

list_events_today

Get today's events