use std::fmt;
use std::ops::Deref;
pub mod data_permission;
pub mod dynamic_filter;
pub mod dynamic_sql;
pub mod entity_graph;
pub mod find_with_related;
pub mod hydration_plugin;
pub mod join_dsl;
pub mod json_query;
pub mod lambda;
pub mod query;
pub mod queryable;
pub mod quick_query;
pub mod typed;
pub mod typed_ast;
pub use data_permission::*;
pub use dynamic_filter::*;
pub use dynamic_sql::*;
pub use entity_graph::*;
pub use find_with_related::*;
pub use hydration_plugin::*;
pub use join_dsl::*;
pub use json_query::*;
pub use lambda::*;
pub use query::*;
pub use queryable::*;
pub use quick_query::*;
pub use typed::*;
pub use typed_ast::*;
#[derive(Debug, Clone, PartialEq, Default)]
pub struct ValidationError(Vec<sz_orm_sql_validator::SqlValidationError>);
impl Deref for ValidationError {
type Target = Vec<sz_orm_sql_validator::SqlValidationError>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl From<sz_orm_sql_validator::SqlValidationError> for ValidationError {
fn from(e: sz_orm_sql_validator::SqlValidationError) -> Self {
Self(vec![e])
}
}
impl From<Vec<sz_orm_sql_validator::SqlValidationError>> for ValidationError {
fn from(v: Vec<sz_orm_sql_validator::SqlValidationError>) -> Self {
Self(v)
}
}
impl fmt::Display for ValidationError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
if self.0.len() == 1 {
write!(f, "{}", self.0[0])
} else {
write!(f, "{} validation errors: ", self.0.len())?;
for (i, e) in self.0.iter().enumerate() {
if i > 0 {
write!(f, "; ")?;
}
write!(f, "{}", e)?;
}
Ok(())
}
}
}
impl std::error::Error for ValidationError {}