Files
DDDBoilerplate/contracts/sales/v1/Event/OrderPlaced.php
Mathias STRASSER 21b8f37411 Step 01 — Published Language
- Extraction des DTOs publics dans contracts/sales/v1/ :
  OrderPlaced, OrderConfirmed, OrderCancelled, OrderView
- NaiveSalesEventPublisher traduit les événements domaine en contrats v1
- Tests de contrat (schéma, sérialisation JSON) pour stabilité du langage publié
2026-03-04 00:29:51 +01:00

25 lines
611 B
PHP

<?php
declare(strict_types=1);
namespace MiniShop\Contracts\Sales\V1\Event;
/**
* Published Language — sales.v1.OrderPlaced
* Contrat immutable et versionne. Ne jamais modifier les champs existants.
*/
final readonly class OrderPlaced
{
/**
* @param list<array{productName: string, quantity: int, unitPriceInCents: int, currency: string}> $lines
*/
public function __construct(
public string $orderId,
public string $customerId,
public int $totalInCents,
public string $currency,
public string $placedAt,
public array $lines,
) {}
}