From 04aee49f407a1828a98932a2e0ba8a5dc19b20d2 Mon Sep 17 00:00:00 2001 From: mittwald-machine Date: Tue, 14 Jan 2025 19:10:35 +0000 Subject: [PATCH] feat: add cronjobId property to CronjobExecution schema and modify related methods - Added cronjobId property to CronjobExecution schema with type string. - Updated constructor to accept cronjobId as a parameter. - Added getter method for cronjobId. - Implemented withCronjobId method for setting cronjobId with validation. - Adjusted buildFromInput and toJson methods to handle cronjobId. --- .../V2/Schemas/Cronjob/CronjobExecution.php | 32 +++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/src/Generated/V2/Schemas/Cronjob/CronjobExecution.php b/src/Generated/V2/Schemas/Cronjob/CronjobExecution.php index 0f56d4a2..de204d79 100644 --- a/src/Generated/V2/Schemas/Cronjob/CronjobExecution.php +++ b/src/Generated/V2/Schemas/Cronjob/CronjobExecution.php @@ -34,6 +34,9 @@ class CronjobExecution ], 'type' => 'object', ], + 'cronjobId' => [ + 'type' => 'string', + ], 'durationInMilliseconds' => [ 'example' => 12374, 'format' => 'int64', @@ -94,12 +97,15 @@ class CronjobExecution 'id', 'status', 'successful', + 'cronjobId', ], 'type' => 'object', ]; private ?CronjobExecutionAbortedBy $abortedBy = null; + private string $cronjobId; + private ?int $durationInMilliseconds = null; private ?DateTime $end = null; @@ -126,8 +132,9 @@ class CronjobExecution private ?CronjobExecutionTriggeredBy $triggeredBy = null; - public function __construct(string $id, CronjobExecutionStatus $status, bool $successful) + public function __construct(string $cronjobId, string $id, CronjobExecutionStatus $status, bool $successful) { + $this->cronjobId = $cronjobId; $this->id = $id; $this->status = $status; $this->successful = $successful; @@ -138,6 +145,11 @@ public function getAbortedBy(): ?CronjobExecutionAbortedBy return $this->abortedBy ?? null; } + public function getCronjobId(): string + { + return $this->cronjobId; + } + public function getDurationInMilliseconds(): ?int { return $this->durationInMilliseconds ?? null; @@ -210,6 +222,20 @@ public function withoutAbortedBy(): self return $clone; } + public function withCronjobId(string $cronjobId): self + { + $validator = new Validator(); + $validator->validate($cronjobId, static::$schema['properties']['cronjobId']); + if (!$validator->isValid()) { + throw new InvalidArgumentException($validator->getErrors()[0]['message']); + } + + $clone = clone $this; + $clone->cronjobId = $cronjobId; + + return $clone; + } + public function withDurationInMilliseconds(int $durationInMilliseconds): self { $validator = new Validator(); @@ -395,6 +421,7 @@ public static function buildFromInput(array|object $input, bool $validate = true if (isset($input->{'abortedBy'})) { $abortedBy = CronjobExecutionAbortedBy::buildFromInput($input->{'abortedBy'}, validate: $validate); } + $cronjobId = $input->{'cronjobId'}; $durationInMilliseconds = null; if (isset($input->{'durationInMilliseconds'})) { $durationInMilliseconds = (int)($input->{'durationInMilliseconds'}); @@ -427,7 +454,7 @@ public static function buildFromInput(array|object $input, bool $validate = true $triggeredBy = CronjobExecutionTriggeredBy::buildFromInput($input->{'triggeredBy'}, validate: $validate); } - $obj = new self($id, $status, $successful); + $obj = new self($cronjobId, $id, $status, $successful); $obj->abortedBy = $abortedBy; $obj->durationInMilliseconds = $durationInMilliseconds; $obj->end = $end; @@ -450,6 +477,7 @@ public function toJson(): array if (isset($this->abortedBy)) { $output['abortedBy'] = ($this->abortedBy)->toJson(); } + $output['cronjobId'] = $this->cronjobId; if (isset($this->durationInMilliseconds)) { $output['durationInMilliseconds'] = $this->durationInMilliseconds; }