use crate::data::entity_manager::EntityManager; #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Eq, PartialEq)] pub struct ClientID(pub String); #[derive(Clone, Debug, serde::Serialize, serde::Deserialize)] pub struct Client { pub id: ClientID, pub name: String, pub description: String, pub secret: String, pub redirect_uri: String, pub disable_code_verifier: Option, } impl PartialEq for Client { fn eq(&self, other: &Self) -> bool { self.id.eq(&other.id) } } impl Eq for Client {} pub type ClientManager = EntityManager; impl EntityManager { pub fn find_by_id(&self, u: &ClientID) -> Option { for entry in self.iter() { if entry.id.eq(u) { return Some(entry.clone()); } } None } }