<?php declare(strict_types=1); namespace Xentral\Modules\FiskalyApi\Data; class User { /** @var string */ private $uuId; /** @var string */ private $type; /** @var string */ private $email; /** @var array */ private $envs; /** @var string|null */ private $firstName; /** @var string|null */ private $lastName; /** * User constructor. * * @param string $uuId * @param string $type * @param string $email * @param array $envs * @param string|null $firstName * @param string|null $lastName */ public function __construct( string $uuId, string $type, string $email, array $envs, ?string $firstName = null, ?string $lastName = null ) { $this->uuId = $uuId; $this->type = $type; $this->email = $email; $this->envs = $envs; $this->firstName = $firstName; $this->lastName = $lastName; } /** * @param $apiResult * * @return static */ public static function fromApiResult(object $apiResult): self { return new self( $apiResult->_id, $apiResult->_type, $apiResult->email, $apiResult->_envs, $apiResult->first_name ?? null, $apiResult->last_name ?? null ); } /** * @return string */ public function getUuId(): string { return $this->uuId; } /** * @param string $uuId */ public function setUuId(string $uuId): void { $this->uuId = $uuId; } /** * @return string */ public function getType(): string { return $this->type; } /** * @param string $type */ public function setType(string $type): void { $this->type = $type; } /** * @return string */ public function getEmail(): string { return $this->email; } /** * @param string $email */ public function setEmail(string $email): void { $this->email = $email; } /** * @return array */ public function getEnvs(): array { return $this->envs; } /** * @param array $envs */ public function setEnvs(array $envs): void { $this->envs = $envs; } /** * @return string|null */ public function getFirstName(): ?string { return $this->firstName; } /** * @param string|null $firstName */ public function setFirstName(?string $firstName): void { $this->firstName = $firstName; } /** * @return string|null */ public function getLastName(): ?string { return $this->lastName; } /** * @param string|null $lastName */ public function setLastName(?string $lastName): void { $this->lastName = $lastName; } }