pub trait DbSet: Send + Sync {
type Item;
// Required methods
fn exists(&self, id: &str) -> Result<bool>;
fn find(&self, id: &str) -> Result<Self::Item>;
fn query(&self, query: &Query) -> Result<PageData<Self::Item>>;
fn create(&self, data: &Self::Item) -> Result<bool>;
fn update(&self, data: &Self::Item) -> Result<bool>;
fn delete(&self, id: &str) -> Result<bool>;
}