bundles/VehicleIngestBundle/Message/IngestLeasingMessage.php line 17

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace VehicleIngestBundle\Message;
  4. /**
  5.  * Async message dispatched by LeasingController onto the `vehicle_ingest` transport (routed in
  6.  * config/config.yaml). Consumed by IngestLeasingMessageHandler, which resolves $adId to a
  7.  * vehicle and delegates to LeasingMapper::apply()/clear() (Plan 3, Task 5) to actually persist
  8.  * $data onto the vehicle's `Leasing` objectbrick and recompute `filterRate` - see
  9.  * LeasingMapper's class docblock for the field mapping and its sandbox-unconfirmed points.
  10.  *
  11.  * $operation is 'upsert' (PUT) or 'delete' (DELETE). $data is the decoded JSON body for
  12.  * 'upsert' (null for 'delete').
  13.  */
  14. final class IngestLeasingMessage
  15. {
  16.     public function __construct(
  17.         public readonly string $adId,
  18.         public readonly string $operation,
  19.         public readonly ?array $data,
  20.     ) {
  21.     }
  22. }