libs/nomasolutions-api/API/Annotations/Operations/Command/AbstractCommand.php line 45

Open in your IDE?
  1. <?php
  2. /**
  3.  * Copyright (c) 2020 by Noma Solutions.
  4.  * This software is the proprietary information of Noma Solutions.
  5.  *
  6.  * All Right Reserved.
  7.  */
  8. namespace NomaSolutions\API\Annotations\Operations\Command;
  9. use NomaSolutions\API\Annotations\ApiResource;
  10. use NomaSolutions\API\Annotations\Operations\AbstractOperation;
  11. use NomaSolutions\API\Model\EmptyObject;
  12. abstract class AbstractCommand extends AbstractOperation
  13. {
  14.     public function __construct(array $values)
  15.     {
  16.         parent::__construct($values);
  17.         $this->method $values['method'] ?? 'POST';
  18.     }
  19.     public function enrich(ApiResource $resource)
  20.     {
  21.         parent::enrich($resource);
  22.         $this->input $this->input $this->input : ($this->input !== false $this->resource->getBaseClassFqcn() : EmptyObject::class);
  23.     }
  24.     function getOperationName(): string
  25.     {
  26.         return strpos(
  27.             $this->operationName,
  28.             'Handler'
  29.         ) !== false $this->operationName $this->operationName.'Handler';
  30.     }
  31.     public function getOperationId(): string
  32.     {
  33.         $modelName $this->getInputModelName() ?? $this->resource->getBaseClassFqcn();
  34.         return $this->operationId ?? $modelName.$this->getOperationName();
  35.     }
  36. }