use async_trait::async_trait; use holzleitner_domain::Account; use crate::error::ApplicationError; /// Repository für [`Account`]-Lesezugriffe. Schreibzugriffe folgen /// später, sobald sie fachlich gebraucht werden (Accounts werden in der /// Regel aus dem ERP gespiegelt, nicht durch die App erzeugt). #[async_trait] pub trait AccountRepository: Send + Sync { /// Liest einen Account anhand seiner Personalnummer. /// Liefert `None`, wenn kein Datensatz existiert. async fn find_by_personalnummer( &self, personalnummer: i64, ) -> Result, ApplicationError>; }