pub trait Repository<K: Identifiable, E: Entity<K>> {
// Required methods
fn save(&mut self, entity: E);
fn get_by_id(&self, key: &K) -> Option<&E>;
fn get_all(&self) -> Vec<&E>;
fn delete(&mut self, key: &K) -> Option<E>;
}pub trait Repository<K: Identifiable, E: Entity<K>> {
// Required methods
fn save(&mut self, entity: E);
fn get_by_id(&self, key: &K) -> Option<&E>;
fn get_all(&self) -> Vec<&E>;
fn delete(&mut self, key: &K) -> Option<E>;
}