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(()) }