Skip to main content

Module portfolio

Module portfolio 

Source
Expand description

Portfolio — portefeuille immeubles d’un utilisateur (favoris/équipe).

Story 2.1 — Slice 2 Refonte UX multi-rôle ACP. Source : docs/maury/refonte-ux-multi-role-acp/architecture.md §2.5 + ADR-0011.

Un portefeuille (Portfolio) regroupe N immeubles (building_id, is_favorite) pour un propriétaire owner_user_id. Il peut être partagé en lecture (option can_edit) avec d’autres User (typiquement équipe d’un cabinet syndic).

§Invariants

  • name non vide après trim, longueur ∈ [2, 120] caractères.
  • description optionnel (longueur ≤ 1000 si présent, post-trim).

§Hexagonal

Aucune dépendance sqlx / actix_web. Les erreurs domaine retournent PortfolioError (enum), mappé vers AppError::Validation côté application (application/error.rs, pattern WP-A* #433).

Structs§

Portfolio
Représente un portefeuille (Aggregate Root).
PortfolioBuilding
Entité de liaison M:N — un building dans un portfolio.
PortfolioShare
Entité de liaison — partage portfolio ↔ user.

Enums§

PortfolioError
Erreurs métier produites par le domaine Portfolio.