use anyhow::Result;
use uuid::Uuid;
pub trait Repository<T>: Send + Sync {
fn add(&self, item: &T) -> Result<()>;
fn update(&self, item: &T) -> Result<()>;
fn get(&self, id: &Uuid) -> Result<Option<T>>;
fn get_by_name(&self, name: &String) -> Result<Option<T>>;
}