pub trait AgeRequestRepository: Send + Sync {
// Required methods
fn create<'life0, 'life1, 'async_trait>(
&'life0 self,
age_request: &'life1 AgeRequest,
) -> Pin<Box<dyn Future<Output = Result<AgeRequest, String>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn find_by_id<'life0, 'async_trait>(
&'life0 self,
id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Option<AgeRequest>, String>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn find_by_building<'life0, 'async_trait>(
&'life0 self,
building_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<AgeRequest>, String>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn find_by_organization<'life0, 'async_trait>(
&'life0 self,
organization_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<AgeRequest>, String>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn update<'life0, 'life1, 'async_trait>(
&'life0 self,
age_request: &'life1 AgeRequest,
) -> Pin<Box<dyn Future<Output = Result<AgeRequest, String>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn delete<'life0, 'async_trait>(
&'life0 self,
id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<bool, String>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn add_cosignatory<'life0, 'life1, 'async_trait>(
&'life0 self,
cosignatory: &'life1 AgeRequestCosignatory,
) -> Pin<Box<dyn Future<Output = Result<(), String>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn remove_cosignatory<'life0, 'async_trait>(
&'life0 self,
age_request_id: Uuid,
owner_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<bool, String>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn find_cosignatories<'life0, 'async_trait>(
&'life0 self,
age_request_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<AgeRequestCosignatory>, String>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn find_expired_deadlines<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<AgeRequest>, String>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}Required Methods§
Sourcefn create<'life0, 'life1, 'async_trait>(
&'life0 self,
age_request: &'life1 AgeRequest,
) -> Pin<Box<dyn Future<Output = Result<AgeRequest, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create<'life0, 'life1, 'async_trait>(
&'life0 self,
age_request: &'life1 AgeRequest,
) -> Pin<Box<dyn Future<Output = Result<AgeRequest, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Crée une nouvelle demande d’AGE
Sourcefn find_by_id<'life0, 'async_trait>(
&'life0 self,
id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Option<AgeRequest>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn find_by_id<'life0, 'async_trait>(
&'life0 self,
id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Option<AgeRequest>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Récupère une demande par son ID (avec cosignataires chargés)
Sourcefn find_by_building<'life0, 'async_trait>(
&'life0 self,
building_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<AgeRequest>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn find_by_building<'life0, 'async_trait>(
&'life0 self,
building_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<AgeRequest>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Liste toutes les demandes d’un bâtiment
Sourcefn find_by_organization<'life0, 'async_trait>(
&'life0 self,
organization_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<AgeRequest>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn find_by_organization<'life0, 'async_trait>(
&'life0 self,
organization_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<AgeRequest>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Liste toutes les demandes d’une organisation
Sourcefn update<'life0, 'life1, 'async_trait>(
&'life0 self,
age_request: &'life1 AgeRequest,
) -> Pin<Box<dyn Future<Output = Result<AgeRequest, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update<'life0, 'life1, 'async_trait>(
&'life0 self,
age_request: &'life1 AgeRequest,
) -> Pin<Box<dyn Future<Output = Result<AgeRequest, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Met à jour une demande (status, timestamps, etc.)
Sourcefn delete<'life0, 'async_trait>(
&'life0 self,
id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<bool, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delete<'life0, 'async_trait>(
&'life0 self,
id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<bool, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Supprime une demande (Draft/Withdrawn seulement)
Sourcefn add_cosignatory<'life0, 'life1, 'async_trait>(
&'life0 self,
cosignatory: &'life1 AgeRequestCosignatory,
) -> Pin<Box<dyn Future<Output = Result<(), String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn add_cosignatory<'life0, 'life1, 'async_trait>(
&'life0 self,
cosignatory: &'life1 AgeRequestCosignatory,
) -> Pin<Box<dyn Future<Output = Result<(), String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Ajoute un cosignataire
Sourcefn remove_cosignatory<'life0, 'async_trait>(
&'life0 self,
age_request_id: Uuid,
owner_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<bool, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn remove_cosignatory<'life0, 'async_trait>(
&'life0 self,
age_request_id: Uuid,
owner_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<bool, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Retire un cosignataire
Sourcefn find_cosignatories<'life0, 'async_trait>(
&'life0 self,
age_request_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<AgeRequestCosignatory>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn find_cosignatories<'life0, 'async_trait>(
&'life0 self,
age_request_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<AgeRequestCosignatory>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Récupère les cosignataires d’une demande
Sourcefn find_expired_deadlines<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<AgeRequest>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn find_expired_deadlines<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<AgeRequest>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Trouve les demandes Submitted dont le délai syndic est dépassé (job de fond)
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".