Administration Bricks¶
Contrôleur HTTP des actions d'administration sur les réservations de bricks (création, listing, confirmation, annulation). Source : bricks.controller.ts.
Tous les endpoints requièrent une session admin BetterAuth valide (AdminAuthGuard).
POST /administration/bricks/reservation¶
Crée une réservation de bricks pour un investisseur (par email) sur une property donnée. Le gift balance est mobilisé en priorité dans la limite du solde de l'investisseur. Trace l'action via AdminAction (RESERVE_BRICKS).
Source : bricks.controller.ts#L45.
Pré-conditions¶
- L'investisseur doit exister (recherche par email, case-insensitive)
- La property doit être dans un état permettant l'achat
- Il doit rester suffisamment de bricks disponibles
- L'investisseur ne doit pas avoir atteint le nombre max de réservations actives
Request body¶
Validé via createReservationPayload (depuis @bricks-common/api-communication-bricksoffice). amountToPurchase est en euros et doit être un multiple de 10.
Response¶
Erreurs¶
| Code | Statut | Cause |
|---|---|---|
customer-not-found |
400 | Aucun investisseur trouvé pour cet email |
primary-purchase.property-not-purchasable |
400 | La property n'accepte pas d'achat (état) |
primary-purchase.not-enough-bricks-left |
400 | Plus assez de bricks disponibles à l'achat |
bricks-reservation-max-count-reach |
400 | L'investisseur a atteint le nombre max de réservations actives |
primary-purchase.property-funding-ended |
400 | Le funding de la property est clôturé |
property.spv.not-found |
400 | SPV de la property introuvable |
GET /administration/bricks/reservation¶
Liste les réservations de bricks en attente de confirmation admin.
Source : bricks.controller.ts#L72.
Response¶
Tableau de réservations (ReservationsResponse depuis @bricks-common/api-communication-bricksoffice).
GET /administration/bricks/reservation/eligible-properties¶
Liste les properties éligibles à la création d'une réservation admin.
Source : bricks.controller.ts#L78.
Response¶
Tableau de properties éligibles (EligiblePropertiesResponse depuis @bricks-common/api-communication-bricksoffice).
PATCH /administration/bricks/reservation¶
Confirme ou annule une réservation existante. Si action === 'cancel', l'expiration est forcée à now (le state-watcher d'expiration libérera ensuite les bricks et remboursera le gift balance). Si action === 'confirm', la réservation est confirmée et l'achat primaire est exécuté. Trace l'action via AdminAction (PATCH_RESERVATION).
Source : bricks.controller.ts#L84.
Request body¶
Validé via updateReservationPayload (depuis @bricks-common/api-communication-bricksoffice). action doit être 'cancel' ou 'confirm'.
Response¶
204 No Content (le handler ne retourne rien en cas de succès).
Erreurs¶
| Code | Statut | Cause |
|---|---|---|
<error> |
400 | Erreur de confirmation propagée par confirmPrimaryPurchaseReservation (action confirm) |
Liens¶
- Service :
primary-purchase.service.ts - Repository :
bricks-reservation.repository.ts