Updated to readonly public props on as many models as possible

This commit is contained in:
Alejandro Celaya
2022-04-23 14:00:47 +02:00
parent e79391907a
commit bca3e62ced
74 changed files with 249 additions and 494 deletions

View File

@@ -8,11 +8,13 @@ use Cake\Chronos\Chronos;
final class ApiKeyMeta
{
/**
* @param RoleDefinition[] $roleDefinitions
*/
private function __construct(
private ?string $name,
private ?Chronos $expirationDate,
/** @var RoleDefinition[] */
private array $roleDefinitions,
public readonly ?string $name,
public readonly ?Chronos $expirationDate,
public readonly array $roleDefinitions,
) {
}
@@ -35,22 +37,4 @@ final class ApiKeyMeta
{
return new self(null, null, $roleDefinitions);
}
public function name(): ?string
{
return $this->name;
}
public function expirationDate(): ?Chronos
{
return $this->expirationDate;
}
/**
* @return RoleDefinition[]
*/
public function roleDefinitions(): array
{
return $this->roleDefinitions;
}
}

View File

@@ -9,7 +9,7 @@ use Shlinkio\Shlink\Rest\ApiKey\Role;
final class RoleDefinition
{
private function __construct(private string $roleName, private array $meta)
private function __construct(public readonly string $roleName, public readonly array $meta)
{
}
@@ -25,14 +25,4 @@ final class RoleDefinition
['domain_id' => $domain->getId(), 'authority' => $domain->getAuthority()],
);
}
public function roleName(): string
{
return $this->roleName;
}
public function meta(): array
{
return $this->meta;
}
}