#[derive(Debug, Clone)]
pub struct User {
pub id: i32,
pub email: String,
pub name: Option<String>,
pub role: Role,
pub active: bool,
pub created_at: chrono::DateTime<chrono::Utc>,
pub updated_at: chrono::DateTime<chrono::Utc>,
pub posts: Vec<Post>,
}
pub struct UserOperations<'a, E: prax_query::QueryEngine> {
engine: &'a E,
}
impl<'a, E: prax_query::QueryEngine> UserOperations<'a, E> {
pub fn new(engine: &'a E) -> Self {
Self { engine }
}
pub fn find_many(&self) -> prax_query::FindManyOperation<'a, E, User> {
prax_query::FindManyOperation::new(self.engine, "users")
}
pub fn find_unique(&self) -> prax_query::FindUniqueOperation<'a, E, User> {
prax_query::FindUniqueOperation::new(self.engine, "users")
}
pub fn find_first(&self) -> prax_query::FindFirstOperation<'a, E, User> {
prax_query::FindFirstOperation::new(self.engine, "users")
}
pub fn create(&self) -> prax_query::CreateOperation<'a, E, User> {
prax_query::CreateOperation::new(self.engine, "users")
}
pub fn update(&self) -> prax_query::UpdateOperation<'a, E, User> {
prax_query::UpdateOperation::new(self.engine, "users")
}
pub fn delete(&self) -> prax_query::DeleteOperation<'a, E, User> {
prax_query::DeleteOperation::new(self.engine, "users")
}
pub fn count(&self) -> prax_query::CountOperation<'a, E> {
prax_query::CountOperation::new(self.engine, "users")
}
}