vendor/vin-sw/shopware-sdk/src/Service/Struct/SyncOperator.php line 8

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace Vin\ShopwareSdk\Service\Struct;
  3. use Vin\ShopwareSdk\Data\ParseAware;
  4. use Vin\ShopwareSdk\Data\Struct;
  5. class SyncOperator extends Struct implements ParseAware
  6. {
  7.     public const UPSERT_OPERATOR 'upsert';
  8.     public const DELETE_OPERATOR 'delete';
  9.     protected string $entity;
  10.     protected string $action;
  11.     protected array $payload;
  12.     public function __construct(string $entitystring $action, array $payload)
  13.     {
  14.         if ($action !== self::UPSERT_OPERATOR && $action !== self::DELETE_OPERATOR) {
  15.             throw new \InvalidArgumentException('Action ' $action ' is not allowed, allowed types: upsert, delete');
  16.         }
  17.         $this->entity $entity;
  18.         $this->action $action;
  19.         $this->payload $payload;
  20.     }
  21.     public function addPayload(array $item): void
  22.     {
  23.         $this->payload[] = $item;
  24.     }
  25.     public function getPayload(): array
  26.     {
  27.         return $this->payload;
  28.     }
  29.     public function setPayload(array $payload): void
  30.     {
  31.         $this->payload $payload;
  32.     }
  33.     public function parse(): array
  34.     {
  35.         return [
  36.             'entity' => $this->entity,
  37.             'action' => $this->action,
  38.             'payload' => $this->payload,
  39.         ];
  40.     }
  41. }