brass/web/src/models/mod.rs

55 lines
1.4 KiB
Rust

mod area;
mod assignement;
mod assignment_changeset;
mod availability_changeset;
mod availabillity;
mod availabillity_assignment_state;
mod event;
mod event_changeset;
mod function;
mod location;
mod password_reset;
mod registration;
mod role;
mod user;
mod user_changeset;
mod user_funtion;
mod vehicle;
mod vehicle_assignement;
pub use area::Area;
pub use assignement::Assignment;
pub use assignment_changeset::{AssignmentChangeset, AssignmentContext};
pub use availability_changeset::{
find_free_time_slots, only_one_availability_exists_and_is_whole_day, AvailabilityChangeset,
AvailabilityContext,
};
pub use availabillity::{Availability, AvailabilityTime};
pub use availabillity_assignment_state::AvailabillityAssignmentState;
use chrono::NaiveTime;
pub use event::Event;
pub use event_changeset::{EventChangeset, EventContext};
pub use function::Function;
pub use location::Location;
pub use password_reset::{NoneToken, PasswordReset, Token};
pub use registration::Registration;
pub use role::Role;
pub use user::User;
pub use user_changeset::UserChangeset;
pub use user_funtion::UserFunction;
pub use vehicle::Vehicle;
pub use vehicle_assignement::VehicleAssignement;
type Result<T> = std::result::Result<T, sqlx::Error>;
fn start_time_lies_before_end_time<T>(
value: &(NaiveTime, NaiveTime),
_context: &T,
) -> garde::Result {
if value.0 >= value.1 {
return Err(garde::Error::new("endtime can't lie before starttime"));
}
Ok(())
}