Expand description
Library for accessing the Untis JSON-RPC API.
The core of this crate is the untis::Client
struct. You can log in using untis::Client::login()
.
§API
This client uses the public Untis JSON-RPC API, which only has read-only, limited access.
§Examples
fn main() -> Result<(), untis::Error> {
let results = untis::schools::search("School Name")?;
let school = match results.first() {
None => {
println!("No school found");
return Ok(());
},
Some(v) => v
};
let mut client = school.client_login("username", "password")?;
let timetable = client.own_timetable_current_week()?;
// profit
Ok(())
}
For more examples, see the examples/
directory.
Modules§
Structs§
- Represents a school class.
- Client for accessing the Untis API. Can be constructed by
Client::login()
orSchool::client_login()
. - Wrapper around chrono::NaiveDate for working with Untis more easily.
- Represents a school department.
- A school holiday.
- Represents an element that is part of a lesson.
- A school lesson.
- Represents a room for school lessons.
- A school that uses Untis.
- A schoolyear.
- A Untis session.
- A set of colors that can be used to display a timetable.
- Color information to display a specific lesson.
- Represents a student.
- Represents a school subject.
- Represents a teacher.
- Wrapper around chrono::NaiveDate for working with Untis more easily.
Enums§
- The different types of elements that exist in the Untis API.
- Represents all errors that can occur during an Untis API request.
- Represents the status of a lesson (regular, cancelled, etc.)
- Represents the type of lesson.