Skip to content

Commit

Permalink
Update generated client
Browse files Browse the repository at this point in the history
  • Loading branch information
mittwald-machine committed Jul 17, 2024
1 parent 3f16f88 commit e795eb5
Show file tree
Hide file tree
Showing 4 changed files with 159 additions and 35 deletions.
30 changes: 9 additions & 21 deletions src/Generated/V2/Schemas/Article/ArticleTemplate.php
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ class ArticleTemplate
],
],
'required' => [
'id',
'name',
'isRecurring',
'type',
Expand All @@ -105,7 +106,7 @@ class ArticleTemplate

private ?string $description = null;

private ?string $id = null;
private string $id;

private bool $isManagedByDomain;

Expand All @@ -120,8 +121,9 @@ class ArticleTemplate

private ArticleTemplateType $type;

public function __construct(bool $isManagedByDomain, bool $isRecurring, string $name, ArticleTemplateType $type)
public function __construct(string $id, bool $isManagedByDomain, bool $isRecurring, string $name, ArticleTemplateType $type)
{
$this->id = $id;
$this->isManagedByDomain = $isManagedByDomain;
$this->isRecurring = $isRecurring;
$this->name = $name;
Expand Down Expand Up @@ -159,9 +161,9 @@ public function getDescription(): ?string
return $this->description ?? null;
}

public function getId(): ?string
public function getId(): string
{
return $this->id ?? null;
return $this->id;
}

public function getIsManagedByDomain(): bool
Expand Down Expand Up @@ -286,14 +288,6 @@ public function withId(string $id): self
return $clone;
}

public function withoutId(): self
{
$clone = clone $this;
unset($clone->id);

return $clone;
}

public function withIsManagedByDomain(bool $isManagedByDomain): self
{
$validator = new Validator();
Expand Down Expand Up @@ -394,10 +388,7 @@ public static function buildFromInput(array|object $input, bool $validate = true
if (isset($input->{'description'})) {
$description = $input->{'description'};
}
$id = null;
if (isset($input->{'id'})) {
$id = $input->{'id'};
}
$id = $input->{'id'};
$isManagedByDomain = (bool)($input->{'isManagedByDomain'});
$isRecurring = (bool)($input->{'isRecurring'});
$modifierArticles = null;
Expand All @@ -407,12 +398,11 @@ public static function buildFromInput(array|object $input, bool $validate = true
$name = $input->{'name'};
$type = ArticleTemplateType::from($input->{'type'});

$obj = new self($isManagedByDomain, $isRecurring, $name, $type);
$obj = new self($id, $isManagedByDomain, $isRecurring, $name, $type);
$obj->additionalArticles = $additionalArticles;
$obj->addons = $addons;
$obj->attributes = $attributes;
$obj->description = $description;
$obj->id = $id;
$obj->modifierArticles = $modifierArticles;
return $obj;
}
Expand All @@ -437,9 +427,7 @@ public function toJson(): array
if (isset($this->description)) {
$output['description'] = $this->description;
}
if (isset($this->id)) {
$output['id'] = $this->id;
}
$output['id'] = $this->id;
$output['isManagedByDomain'] = $this->isManagedByDomain;
$output['isRecurring'] = $this->isRecurring;
if (isset($this->modifierArticles)) {
Expand Down
20 changes: 7 additions & 13 deletions src/Generated/V2/Schemas/Conversation/Conversation.php
Original file line number Diff line number Diff line change
Expand Up @@ -65,13 +65,7 @@ class Conversation
'type' => 'string',
],
'status' => [
'enum' => [
'open',
'closed',
'answered',
'inProgress',
],
'type' => 'string',
'$ref' => '#/components/schemas/de.mittwald.v1.conversation.Status',
],
'title' => [
'type' => 'string',
Expand Down Expand Up @@ -121,13 +115,13 @@ class Conversation

private string $shortId;

private ConversationStatus $status;
private Status $status;

private string $title;

private ConversationVisibility $visibility;

public function __construct(string $conversationId, DateTime $createdAt, User $mainUser, string $shortId, ConversationStatus $status, string $title, ConversationVisibility $visibility)
public function __construct(string $conversationId, DateTime $createdAt, User $mainUser, string $shortId, Status $status, string $title, ConversationVisibility $visibility)
{
$this->conversationId = $conversationId;
$this->createdAt = $createdAt;
Expand Down Expand Up @@ -205,7 +199,7 @@ public function getShortId(): string
return $this->shortId;
}

public function getStatus(): ConversationStatus
public function getStatus(): Status
{
return $this->status;
}
Expand Down Expand Up @@ -379,7 +373,7 @@ public function withShortId(string $shortId): self
return $clone;
}

public function withStatus(ConversationStatus $status): self
public function withStatus(Status $status): self
{
$clone = clone $this;
$clone->status = $status;
Expand Down Expand Up @@ -456,7 +450,7 @@ public static function buildFromInput(array|object $input, bool $validate = true
$sharedWith = AggregateReference::buildFromInput($input->{'sharedWith'}, validate: $validate);
}
$shortId = $input->{'shortId'};
$status = ConversationStatus::from($input->{'status'});
$status = Status::from($input->{'status'});
$title = $input->{'title'};
$visibility = ConversationVisibility::from($input->{'visibility'});

Expand Down Expand Up @@ -504,7 +498,7 @@ public function toJson(): array
$output['sharedWith'] = $this->sharedWith->toJson();
}
$output['shortId'] = $this->shortId;
$output['status'] = ($this->status)->value;
$output['status'] = $this->status->value;
$output['title'] = $this->title;
$output['visibility'] = ($this->visibility)->value;

Expand Down
141 changes: 141 additions & 0 deletions src/Generated/V2/Schemas/Conversation/DepartmentWithStatus.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
<?php

declare(strict_types=1);

namespace Mittwald\ApiClient\Generated\V2\Schemas\Conversation;

use InvalidArgumentException;
use JsonSchema\Validator;

/**
* Auto-generated class for de.mittwald.v1.conversation.DepartmentWithStatus.
*
* DO NOT EDIT; this class was generated by the mittwald/api-client-builder package
* (https://github.com/mittwald/api-client-php-builder). Please make any changes
* there.
*
* @generated
* @see https://github.com/mittwald/api-client-php-builder
*/
class DepartmentWithStatus
{
/**
* Schema used to validate input for creating instances of this class
*/
private static array $schema = [
'properties' => [
'department' => [
'$ref' => '#/components/schemas/de.mittwald.v1.conversation.Department',
],
'status' => [
'$ref' => '#/components/schemas/de.mittwald.v1.conversation.Status',
],
],
'required' => [
'department',
'status',
],
'type' => 'object',
];

private Department $department;

private Status $status;

public function __construct(Department $department, Status $status)
{
$this->department = $department;
$this->status = $status;
}

public function getDepartment(): Department
{
return $this->department;
}

public function getStatus(): Status
{
return $this->status;
}

public function withDepartment(Department $department): self
{
$clone = clone $this;
$clone->department = $department;

return $clone;
}

public function withStatus(Status $status): self
{
$clone = clone $this;
$clone->status = $status;

return $clone;
}

/**
* Builds a new instance from an input array
*
* @param array|object $input Input data
* @param bool $validate Set this to false to skip validation; use at own risk
* @return DepartmentWithStatus Created instance
* @throws InvalidArgumentException
*/
public static function buildFromInput(array|object $input, bool $validate = true): DepartmentWithStatus
{
$input = is_array($input) ? Validator::arrayToObjectRecursive($input) : $input;
if ($validate) {
static::validateInput($input);
}

$department = Department::from($input->{'department'});
$status = Status::from($input->{'status'});

$obj = new self($department, $status);

return $obj;
}

/**
* Converts this object back to a simple array that can be JSON-serialized
*
* @return array Converted array
*/
public function toJson(): array
{
$output = [];
$output['department'] = $this->department->value;
$output['status'] = $this->status->value;

return $output;
}

/**
* Validates an input array
*
* @param array|object $input Input data
* @param bool $return Return instead of throwing errors
* @return bool Validation result
* @throws InvalidArgumentException
*/
public static function validateInput(array|object $input, bool $return = false): bool
{
$validator = new \Mittwald\ApiClient\Validator\Validator();
$input = is_array($input) ? Validator::arrayToObjectRecursive($input) : $input;
$validator->validate($input, static::$schema);

if (!$validator->isValid() && !$return) {
$errors = array_map(function (array $e): string {
return $e["property"] . ": " . $e["message"];
}, $validator->getErrors());
throw new InvalidArgumentException(join(", ", $errors));
}

return $validator->isValid();
}

public function __clone()
{
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@

namespace Mittwald\ApiClient\Generated\V2\Schemas\Conversation;

enum ConversationStatus: string
enum Status: string
{
case open = 'open';
case closed = 'closed';
case answered = 'answered';
case inProgress = 'inProgress';
case waiting = 'waiting';
}

0 comments on commit e795eb5

Please sign in to comment.