| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <?php
- declare(strict_types=1);
- namespace App\Service\Rest\Operation;
- use JetBrains\PhpStorm\Pure;
- /**
- * A single create operation (a POST request)
- */
- class CreateOperation extends BaseRestOperation
- {
- /**
- * @param string $label A label for the operation
- * @param string $entityName The name of the entity to update. This will be used in the path of the request.
- * @param array<mixed> $data The data to update, will be post as Json within the request.
- * @param array<mixed> $parameters
- * @param array<mixed> $options
- */
- public function __construct(
- protected string $label,
- protected string $entityName,
- protected array $data,
- protected array $parameters = [],
- protected array $options = []
- ) {
- $options['json'] = $this->data;
- parent::__construct(
- $label,
- 'POST',
- $entityName,
- [],
- $parameters,
- $options
- );
- }
- /**
- * @return string
- */
- public function getEntityName(): string
- {
- return $this->entityName;
- }
- /**
- * @return array<mixed>
- */
- public function getData(): array
- {
- return $this->data;
- }
- /**
- * Return an array of messages describing the change that this operation will bring
- *
- * @return list<string>
- */
- public function getChangeLog(): array
- {
- $messages = [
- '[POST ' . $this->entityName . ']'
- ];
- array_push(
- $messages,
- ...self::getRecursiveChangeLog([], $this->data)
- );
- return $messages;
- }
- }
|