ldc-boutique-cnc-sable/domain/Models/ValueObjects/ShopPickupOverride.php
2026-10-27 09:58:12 +01:00

23 lines
677 B
PHP

<?php
declare(strict_types=1);
namespace Domain\Models\ValueObjects;
use Carbon\CarbonInterface;
use Domain\Models\Entities\PickupExceptionOnDate;
final readonly class ShopPickupOverride
{
public function __construct(
public PickupExceptionOnDate $exception,
public ?CarbonInterface $replacementDate = null,
public ?CarbonInterface $orderDeadlineAt = null
) {
if ($orderDeadlineAt !== null && $replacementDate !== null && $orderDeadlineAt->greaterThanOrEqualTo($replacementDate)) {
throw new \DomainException(
'Order deadline must be strictly before the replacement date'
);
}
}
}