pub struct AgSessionUseCases {
pub ag_session_repo: Arc<dyn AgSessionRepository>,
pub meeting_repo: Arc<dyn MeetingRepository>,
}Fields§
§ag_session_repo: Arc<dyn AgSessionRepository>§meeting_repo: Arc<dyn MeetingRepository>Implementations§
Source§impl AgSessionUseCases
impl AgSessionUseCases
pub fn new( ag_session_repo: Arc<dyn AgSessionRepository>, meeting_repo: Arc<dyn MeetingRepository>, ) -> Self
Sourcepub async fn create_session(
&self,
organization_id: Uuid,
dto: CreateAgSessionDto,
created_by: Uuid,
) -> Result<AgSessionResponse, String>
pub async fn create_session( &self, organization_id: Uuid, dto: CreateAgSessionDto, created_by: Uuid, ) -> Result<AgSessionResponse, String>
Crée une session de visioconférence pour une AG (B15-3)
Sourcepub async fn get_session(
&self,
id: Uuid,
organization_id: Uuid,
) -> Result<AgSessionResponse, String>
pub async fn get_session( &self, id: Uuid, organization_id: Uuid, ) -> Result<AgSessionResponse, String>
Récupère une session par ID
Sourcepub async fn get_session_for_meeting(
&self,
meeting_id: Uuid,
organization_id: Uuid,
) -> Result<Option<AgSessionResponse>, String>
pub async fn get_session_for_meeting( &self, meeting_id: Uuid, organization_id: Uuid, ) -> Result<Option<AgSessionResponse>, String>
Récupère la session associée à une réunion
Sourcepub async fn list_sessions(
&self,
organization_id: Uuid,
) -> Result<Vec<AgSessionResponse>, String>
pub async fn list_sessions( &self, organization_id: Uuid, ) -> Result<Vec<AgSessionResponse>, String>
Liste les sessions de l’organisation
Sourcepub async fn start_session(
&self,
id: Uuid,
organization_id: Uuid,
) -> Result<AgSessionResponse, String>
pub async fn start_session( &self, id: Uuid, organization_id: Uuid, ) -> Result<AgSessionResponse, String>
Démarre une session (Scheduled → Live)
Sourcepub async fn end_session(
&self,
id: Uuid,
organization_id: Uuid,
dto: EndAgSessionDto,
) -> Result<AgSessionResponse, String>
pub async fn end_session( &self, id: Uuid, organization_id: Uuid, dto: EndAgSessionDto, ) -> Result<AgSessionResponse, String>
Termine une session (Live → Ended)
Sourcepub async fn cancel_session(
&self,
id: Uuid,
organization_id: Uuid,
) -> Result<AgSessionResponse, String>
pub async fn cancel_session( &self, id: Uuid, organization_id: Uuid, ) -> Result<AgSessionResponse, String>
Annule une session (Scheduled → Cancelled)
Sourcepub async fn record_remote_join(
&self,
id: Uuid,
organization_id: Uuid,
dto: RecordRemoteJoinDto,
) -> Result<AgSessionResponse, String>
pub async fn record_remote_join( &self, id: Uuid, organization_id: Uuid, dto: RecordRemoteJoinDto, ) -> Result<AgSessionResponse, String>
Enregistre un participant distant et recalcule le quorum distanciel
Sourcepub async fn calculate_combined_quorum(
&self,
id: Uuid,
organization_id: Uuid,
physical_quotas: f64,
total_building_quotas: f64,
) -> Result<CombinedQuorumResponse, String>
pub async fn calculate_combined_quorum( &self, id: Uuid, organization_id: Uuid, physical_quotas: f64, total_building_quotas: f64, ) -> Result<CombinedQuorumResponse, String>
Calcule le quorum combiné (présentiel + distanciel) — Art. 3.87 §5 CC
Sourcepub async fn delete_session(
&self,
id: Uuid,
organization_id: Uuid,
) -> Result<(), String>
pub async fn delete_session( &self, id: Uuid, organization_id: Uuid, ) -> Result<(), String>
Supprime une session (uniquement si Scheduled ou Cancelled)
Sourcepub async fn list_pending_sessions(
&self,
) -> Result<Vec<AgSessionResponse>, String>
pub async fn list_pending_sessions( &self, ) -> Result<Vec<AgSessionResponse>, String>
Liste les sessions en attente de démarrage (platform stats helper)
Auto Trait Implementations§
impl Freeze for AgSessionUseCases
impl !RefUnwindSafe for AgSessionUseCases
impl Send for AgSessionUseCases
impl Sync for AgSessionUseCases
impl Unpin for AgSessionUseCases
impl !UnwindSafe for AgSessionUseCases
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Chain<T> for T
impl<T> Chain<T> for T
§impl<T> Fake for T
impl<T> Fake for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.