33 lines
641 B
Rust
33 lines
641 B
Rust
mod email;
|
|
mod error;
|
|
mod validation_trait;
|
|
|
|
use chrono::NaiveDateTime;
|
|
pub use email::email_is_valid;
|
|
pub use error::AsyncValidateError;
|
|
pub use validation_trait::AsyncValidate;
|
|
use sqlx::PgPool;
|
|
|
|
pub struct DbContext<'a> {
|
|
pub pool: &'a PgPool,
|
|
}
|
|
|
|
impl<'a> DbContext<'a> {
|
|
pub fn new(pool: &'a PgPool) -> Self {
|
|
Self { pool }
|
|
}
|
|
}
|
|
|
|
pub fn start_date_time_lies_before_end_date_time(
|
|
start: &NaiveDateTime,
|
|
end: &NaiveDateTime,
|
|
) -> Result<(), AsyncValidateError> {
|
|
if start >= end {
|
|
return Err(AsyncValidateError::new(
|
|
"endtime can't lie before starttime",
|
|
));
|
|
}
|
|
|
|
Ok(())
|
|
}
|