src/Message/OCRIndexationMessage.php line 5

Open in your IDE?
  1. <?php
  2. namespace App\Message;
  3. class OCRIndexationMessage
  4. {
  5.     public ?string $organizationId null;
  6.     public ?string $letterId;
  7.     public bool $forceIndexation false;
  8.     private function __construct(?string $organizationId, ?string $letterIdbool $forceIndexation false)
  9.     {
  10.         if (null === $organizationId && null === $letterId) {
  11.             throw new \InvalidArgumentException('At least one of organizationId or letterId must be provided.');
  12.         }
  13.         $this->organizationId $organizationId;
  14.         $this->letterId $letterId;
  15.         $this->forceIndexation $forceIndexation;
  16.     }
  17.     public static function createWithOrganizationId(string $organizationIdbool $forceIndexation false): self
  18.     {
  19.         return new self($organizationIdnull$forceIndexation);
  20.     }
  21.     public static function createWithLetterId(string $letterIdbool $forceIndexation false): self
  22.     {
  23.         return new self(null$letterId$forceIndexation);
  24.     }
  25.     public static function createWithOrganizationIdAndLetterId(string $organizationIdstring $letterIdbool $forceIndexation false): self
  26.     {
  27.         return new self($organizationId$letterId$forceIndexation);
  28.     }
  29. }