pub struct AppState {Show 74 fields
pub account_use_cases: Arc<AccountUseCases>,
pub acp_use_cases: Arc<AcpUseCases>,
pub module_registry_use_cases: Arc<ModuleRegistryUseCases>,
pub audit_log_use_cases: Arc<AuditLogUseCases>,
pub auth_use_cases: Arc<AuthUseCases>,
pub building_use_cases: Arc<BuildingUseCases>,
pub budget_use_cases: Arc<BudgetUseCases>,
pub unit_use_cases: Arc<UnitUseCases>,
pub owner_use_cases: Arc<OwnerUseCases>,
pub unit_owner_use_cases: Arc<UnitOwnerUseCases>,
pub expense_use_cases: Arc<ExpenseUseCases>,
pub charge_distribution_use_cases: Arc<ChargeDistributionUseCases>,
pub meeting_use_cases: Arc<MeetingUseCases>,
pub convocation_use_cases: Arc<ConvocationUseCases>,
pub resolution_use_cases: Arc<ResolutionUseCases>,
pub ticket_use_cases: Arc<TicketUseCases>,
pub two_factor_use_cases: Arc<TwoFactorUseCases>,
pub notification_use_cases: Arc<NotificationUseCases>,
pub payment_use_cases: Arc<PaymentUseCases>,
pub payment_method_use_cases: Arc<PaymentMethodUseCases>,
pub poll_use_cases: Arc<PollUseCases>,
pub portfolio_use_cases: Arc<PortfolioUseCases>,
pub quote_use_cases: Arc<QuoteUseCases>,
pub local_exchange_use_cases: Arc<LocalExchangeUseCases>,
pub notice_use_cases: Arc<NoticeUseCases>,
pub organization_use_cases: Arc<OrganizationUseCases>,
pub resource_booking_use_cases: Arc<ResourceBookingUseCases>,
pub shared_object_use_cases: Arc<SharedObjectUseCases>,
pub skill_use_cases: Arc<SkillUseCases>,
pub stats_use_cases: Arc<StatsUseCases>,
pub technical_inspection_use_cases: Arc<TechnicalInspectionUseCases>,
pub work_report_use_cases: Arc<WorkReportUseCases>,
pub document_use_cases: Arc<DocumentUseCases>,
pub energy_campaign_use_cases: Arc<EnergyCampaignUseCases>,
pub energy_bill_upload_use_cases: Arc<EnergyBillUploadUseCases>,
pub etat_date_use_cases: Arc<EtatDateUseCases>,
pub pcn_use_cases: Arc<PcnUseCases>,
pub payment_reminder_use_cases: Arc<PaymentReminderUseCases>,
pub gdpr_art30_use_cases: Arc<GdprArt30UseCases>,
pub gdpr_use_cases: Arc<GdprUseCases>,
pub iot_use_cases: Arc<IoTUseCases>,
pub linky_use_cases: Arc<LinkyUseCases>,
pub board_member_use_cases: Arc<BoardMemberUseCases>,
pub board_decision_use_cases: Arc<BoardDecisionUseCases>,
pub cdc_use_cases: Arc<CdcUseCases>,
pub board_dashboard_use_cases: Arc<BoardDashboardUseCases>,
pub dashboard_use_cases: Arc<DashboardUseCases>,
pub financial_report_use_cases: Arc<FinancialReportUseCases>,
pub owner_contribution_use_cases: Arc<OwnerContributionUseCases>,
pub call_for_funds_use_cases: Arc<CallForFundsUseCases>,
pub journal_entry_use_cases: Arc<JournalEntryUseCases>,
pub achievement_use_cases: Arc<AchievementUseCases>,
pub challenge_use_cases: Arc<ChallengeUseCases>,
pub gamification_stats_use_cases: Arc<GamificationStatsUseCases>,
pub ag_session_use_cases: Arc<AgSessionUseCases>,
pub age_request_use_cases: Arc<AgeRequestUseCases>,
pub contractor_report_use_cases: Arc<ContractorReportUseCases>,
pub security_incident_use_cases: Arc<SecurityIncidentUseCases>,
pub service_provider_use_cases: Arc<ServiceProviderUseCases>,
pub individual_member_use_cases: Arc<IndividualMemberUseCases>,
pub consent_use_cases: Arc<ConsentUseCases>,
pub audit_logger: Arc<AuditLogger>,
pub email_service: Arc<EmailService>,
pub pool: DbPool,
pub mqtt_energy_adapter: Arc<dyn MqttEnergyPort>,
pub boinc_use_cases: Arc<BoincUseCases>,
pub user_use_cases: Arc<UserUseCases>,
pub magic_link_use_cases: Arc<MagicLinkUseCases>,
pub lien_notaire_use_cases: Arc<LienNotaireUseCases>,
pub mandate_use_cases: Arc<MandateUseCases>,
pub role_delegation_use_cases: Arc<RoleDelegationUseCases>,
pub syndic_response_use_cases: Arc<SyndicResponseUseCases<PostgresSyndicResponseRepository, PostgresTicketRepository>>,
pub technical_spec_use_cases: Arc<TechnicalSpecUseCases>,
pub contractor_evaluation_use_cases: Arc<ContractorEvaluationUseCases>,
}Fields§
§account_use_cases: Arc<AccountUseCases>§acp_use_cases: Arc<AcpUseCases>§module_registry_use_cases: Arc<ModuleRegistryUseCases>Registre de modules par ACP — Story 5.1 (#585), ADR-0015.
audit_log_use_cases: Arc<AuditLogUseCases>§auth_use_cases: Arc<AuthUseCases>§building_use_cases: Arc<BuildingUseCases>§budget_use_cases: Arc<BudgetUseCases>§unit_use_cases: Arc<UnitUseCases>§owner_use_cases: Arc<OwnerUseCases>§unit_owner_use_cases: Arc<UnitOwnerUseCases>§expense_use_cases: Arc<ExpenseUseCases>§charge_distribution_use_cases: Arc<ChargeDistributionUseCases>§meeting_use_cases: Arc<MeetingUseCases>§convocation_use_cases: Arc<ConvocationUseCases>§resolution_use_cases: Arc<ResolutionUseCases>§ticket_use_cases: Arc<TicketUseCases>§two_factor_use_cases: Arc<TwoFactorUseCases>§notification_use_cases: Arc<NotificationUseCases>§payment_use_cases: Arc<PaymentUseCases>§payment_method_use_cases: Arc<PaymentMethodUseCases>§poll_use_cases: Arc<PollUseCases>§portfolio_use_cases: Arc<PortfolioUseCases>§quote_use_cases: Arc<QuoteUseCases>§local_exchange_use_cases: Arc<LocalExchangeUseCases>§notice_use_cases: Arc<NoticeUseCases>§organization_use_cases: Arc<OrganizationUseCases>§resource_booking_use_cases: Arc<ResourceBookingUseCases>§skill_use_cases: Arc<SkillUseCases>§stats_use_cases: Arc<StatsUseCases>§technical_inspection_use_cases: Arc<TechnicalInspectionUseCases>§work_report_use_cases: Arc<WorkReportUseCases>§document_use_cases: Arc<DocumentUseCases>§energy_campaign_use_cases: Arc<EnergyCampaignUseCases>§energy_bill_upload_use_cases: Arc<EnergyBillUploadUseCases>§etat_date_use_cases: Arc<EtatDateUseCases>§pcn_use_cases: Arc<PcnUseCases>§payment_reminder_use_cases: Arc<PaymentReminderUseCases>§gdpr_art30_use_cases: Arc<GdprArt30UseCases>§gdpr_use_cases: Arc<GdprUseCases>§iot_use_cases: Arc<IoTUseCases>§linky_use_cases: Arc<LinkyUseCases>§board_member_use_cases: Arc<BoardMemberUseCases>§board_decision_use_cases: Arc<BoardDecisionUseCases>§cdc_use_cases: Arc<CdcUseCases>§board_dashboard_use_cases: Arc<BoardDashboardUseCases>§dashboard_use_cases: Arc<DashboardUseCases>§financial_report_use_cases: Arc<FinancialReportUseCases>§owner_contribution_use_cases: Arc<OwnerContributionUseCases>§call_for_funds_use_cases: Arc<CallForFundsUseCases>§journal_entry_use_cases: Arc<JournalEntryUseCases>§achievement_use_cases: Arc<AchievementUseCases>§challenge_use_cases: Arc<ChallengeUseCases>§gamification_stats_use_cases: Arc<GamificationStatsUseCases>§ag_session_use_cases: Arc<AgSessionUseCases>§age_request_use_cases: Arc<AgeRequestUseCases>§contractor_report_use_cases: Arc<ContractorReportUseCases>§security_incident_use_cases: Arc<SecurityIncidentUseCases>§service_provider_use_cases: Arc<ServiceProviderUseCases>§individual_member_use_cases: Arc<IndividualMemberUseCases>§consent_use_cases: Arc<ConsentUseCases>§audit_logger: Arc<AuditLogger>§email_service: Arc<EmailService>§pool: DbPool§mqtt_energy_adapter: Arc<dyn MqttEnergyPort>§boinc_use_cases: Arc<BoincUseCases>§user_use_cases: Arc<UserUseCases>§magic_link_use_cases: Arc<MagicLinkUseCases>Story 3.2 — generic MagicLink (public-access tokens for contractors / tiers).
lien_notaire_use_cases: Arc<LienNotaireUseCases>#845 / ADR 0051 — notary link (signed, renewable, revocable access to
a single état daté via GET /etats-dates/reference/{reference_number}).
mandate_use_cases: Arc<MandateUseCases>Story 3.4 — Mandate (delegation to external professionals: notaire, avocat, AMO, architecte, BET, gardien) with bounded validity.
role_delegation_use_cases: Arc<RoleDelegationUseCases>Story 3.5 — Temporary role delegation (syndic → owner, bounded).
syndic_response_use_cases: Arc<SyndicResponseUseCases<PostgresSyndicResponseRepository, PostgresTicketRepository>>Story 3.7 — SyndicResponse (append-only) + SLA escalation use-cases. Concrete types because the use-case struct is generic over the two repository traits; we use the production Postgres implementations here and a single concrete alias in handlers / tests.
technical_spec_use_cases: Arc<TechnicalSpecUseCases>Story 3.8 — TechnicalSpec (versionable + signatures multi-parties).
contractor_evaluation_use_cases: Arc<ContractorEvaluationUseCases>Story 3.9 — ContractorEvaluation (append-only, gated by an approved TechnicalSpec) (FR34 FR35 INV-21 INV-24).
Implementations§
Source§impl AppState
impl AppState
pub fn new( account_use_cases: AccountUseCases, acp_use_cases: AcpUseCases, audit_log_use_cases: AuditLogUseCases, auth_use_cases: AuthUseCases, building_use_cases: BuildingUseCases, budget_use_cases: BudgetUseCases, unit_use_cases: UnitUseCases, owner_use_cases: OwnerUseCases, unit_owner_use_cases: UnitOwnerUseCases, expense_use_cases: ExpenseUseCases, charge_distribution_use_cases: ChargeDistributionUseCases, meeting_use_cases: MeetingUseCases, convocation_use_cases: ConvocationUseCases, resolution_use_cases: ResolutionUseCases, ticket_use_cases: TicketUseCases, two_factor_use_cases: TwoFactorUseCases, notification_use_cases: NotificationUseCases, payment_use_cases: Arc<PaymentUseCases>, payment_method_use_cases: PaymentMethodUseCases, poll_use_cases: PollUseCases, portfolio_use_cases: PortfolioUseCases, quote_use_cases: QuoteUseCases, local_exchange_use_cases: LocalExchangeUseCases, notice_use_cases: NoticeUseCases, organization_use_cases: OrganizationUseCases, resource_booking_use_cases: ResourceBookingUseCases, shared_object_use_cases: SharedObjectUseCases, skill_use_cases: SkillUseCases, stats_use_cases: StatsUseCases, technical_inspection_use_cases: TechnicalInspectionUseCases, work_report_use_cases: WorkReportUseCases, document_use_cases: DocumentUseCases, energy_campaign_use_cases: EnergyCampaignUseCases, energy_bill_upload_use_cases: EnergyBillUploadUseCases, etat_date_use_cases: EtatDateUseCases, pcn_use_cases: PcnUseCases, payment_reminder_use_cases: PaymentReminderUseCases, gdpr_art30_use_cases: GdprArt30UseCases, gdpr_use_cases: GdprUseCases, iot_use_cases: IoTUseCases, linky_use_cases: LinkyUseCases, board_member_use_cases: BoardMemberUseCases, board_decision_use_cases: BoardDecisionUseCases, cdc_use_cases: CdcUseCases, board_dashboard_use_cases: BoardDashboardUseCases, dashboard_use_cases: DashboardUseCases, financial_report_use_cases: FinancialReportUseCases, owner_contribution_use_cases: OwnerContributionUseCases, call_for_funds_use_cases: CallForFundsUseCases, journal_entry_use_cases: JournalEntryUseCases, achievement_use_cases: AchievementUseCases, challenge_use_cases: ChallengeUseCases, gamification_stats_use_cases: GamificationStatsUseCases, ag_session_use_cases: AgSessionUseCases, age_request_use_cases: AgeRequestUseCases, contractor_report_use_cases: ContractorReportUseCases, security_incident_use_cases: SecurityIncidentUseCases, service_provider_use_cases: ServiceProviderUseCases, individual_member_use_cases: IndividualMemberUseCases, consent_use_cases: ConsentUseCases, audit_logger: AuditLogger, email_service: EmailService, pool: DbPool, mqtt_energy_adapter: Arc<dyn MqttEnergyPort>, boinc_use_cases: BoincUseCases, user_use_cases: UserUseCases, magic_link_use_cases: MagicLinkUseCases, lien_notaire_use_cases: LienNotaireUseCases, mandate_use_cases: MandateUseCases, role_delegation_use_cases: RoleDelegationUseCases, syndic_response_use_cases: SyndicResponseUseCases<PostgresSyndicResponseRepository, PostgresTicketRepository>, technical_spec_use_cases: TechnicalSpecUseCases, contractor_evaluation_use_cases: ContractorEvaluationUseCases, ) -> Self
Auto Trait Implementations§
impl !RefUnwindSafe for AppState
impl !UnwindSafe for AppState
impl Freeze for AppState
impl Send for AppState
impl Sync for AppState
impl Unpin for AppState
impl UnsafeUnpin for AppState
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§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>
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>
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 more