Expand description
ListBuildings use-case — Story 1.3 (refonte UX multi-rôle).
Filters the buildings list by ListScope derived from the caller’s
role. Distinct from the legacy BuildingUseCases::list_buildings*
(which still uses Result<_, String> — territory of cluster #555,
migrated lazily by stories that touch building_use_cases directly).
This NEW use-case is AppError-typed end-to-end (cf. CRITICAL §4 +
architecture §3.3 “no new Result<_, String>”).
Implementation pragmatics — Story 1.2 will add buildings.acp_id
while keeping organization_id during the transition. Until the
ACP-scoped filter is wired in the repository, we re-use
BuildingFilters { organization_id, owner_user_id } and accept that
ListScope::AcpScope is functionally equivalent to filtering by the
ACP’s owning organization (the acp_id field will be plugged in
Story 1.2’s PR).