diff --git a/code/src/Domain/Model/Channel.php b/code/src/Domain/Model/Channel.php index dfa7034..66cf65f 100644 --- a/code/src/Domain/Model/Channel.php +++ b/code/src/Domain/Model/Channel.php @@ -5,6 +5,54 @@ namespace Slovocast\Domain\Model; class Channel { public function __construct( + private readonly ?int $id, private string $name, + private ?string $description = '', + private ?string $link = '', + private ?string $language = '', + private ?string $copyright = '', + private ?bool $explicit = false, ) {} + + public function getName(): string + { + return $this->name; + } + + public function getDescription(): string + { + return $this->description; + } + + public function getLink(): string + { + return $this->link; + } + + public function getLanguage(): string + { + return $this->language; + } + + public function getCopyright(): string + { + return $this->copyright; + } + + /** + * @param array $props The properties of the Channel model + * @return Channel + */ + public static function fromArray(array $props): Channel + { + return self( + $props['id'] ?? null, + $props['name'], + $props['description'] ?? '', + $props['link'] ?? '', + $props['language'] ?? '', + $props['copyright'] ?? '', + $props['explicit'] ?? false + ); + } } diff --git a/code/src/Domain/Model/User.php b/code/src/Domain/Model/User.php index b9e00a7..fe01a58 100644 --- a/code/src/Domain/Model/User.php +++ b/code/src/Domain/Model/User.php @@ -53,20 +53,4 @@ class User $props['name'] ); } - - /** - * Generates a new instance of a User model - * - * @param string[] $props Properties for the new User model - * @return User - */ - public static function newInstance(array $props): User - { - return new self( - null, - $props['email'], - $props['password'], - $props['name'] - ); - } }