mirror of
				https://github.com/sitelease/sugar-cube-client.git
				synced 2025-10-31 12:02:30 +01:00 
			
		
		
		
	Added new models
This commit is contained in:
		
							
								
								
									
										306
									
								
								lib/models/Repository.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										306
									
								
								lib/models/Repository.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,306 @@ | |||||||
|  | <?php | ||||||
|  | declare(strict_types=1); | ||||||
|  | namespace Gitea\Models; | ||||||
|  |  | ||||||
|  | use GuzzleHttp\Psr7\{Uri}; | ||||||
|  | use Psr\Http\Message\{UriInterface}; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Represents a repository. | ||||||
|  |  * @property UriInterface|null $cloneUrl The HTTP-based URL for cloning this repository. | ||||||
|  |  * @property \DateTime|null $createdAt The date the repository was created. | ||||||
|  |  * @property UriInterface|null $htmlUrl The Gitea URL of this repository. | ||||||
|  |  * @property UriInterface|null $sshUrl The SSH-based URL for cloning this repository. | ||||||
|  |  * @property \DateTime|null $updatedAt The date the repository was updated. | ||||||
|  |  * @property UriInterface|null $website The URL of the repository website. | ||||||
|  |  */ | ||||||
|  | class Repository { | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var string The name of the default branch. | ||||||
|  |    */ | ||||||
|  |   public $defaultBranch = ''; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var string The repository description. | ||||||
|  |    */ | ||||||
|  |   public $description = ''; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var int The number of forks of this repository. | ||||||
|  |    */ | ||||||
|  |   public $forksCount = 0; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var string The full name. | ||||||
|  |    */ | ||||||
|  |   public $fullName = ''; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var int The repository identifier. | ||||||
|  |    */ | ||||||
|  |   public $id = -1; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var bool Value indicating whether this repository is empty. | ||||||
|  |    */ | ||||||
|  |   public $isEmpty = false; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var bool Value indicating whether this repository is a fork. | ||||||
|  |    */ | ||||||
|  |   public $isFork = false; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var bool Value indicating whether this repository is a mirror. | ||||||
|  |    */ | ||||||
|  |   public $isMirror = false; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var bool Value indicating whether this repository is private. | ||||||
|  |    */ | ||||||
|  |   public $isPrivate = false; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var string The repository name. | ||||||
|  |    */ | ||||||
|  |   public $name = ''; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var int The number of open issues of this repository. | ||||||
|  |    */ | ||||||
|  |   public $openIssuesCount = 0; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var User|null The repository owner. | ||||||
|  |    */ | ||||||
|  |   public $owner; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var Repository|null The parent repository, if this repository is a fork or a mirror. | ||||||
|  |    */ | ||||||
|  |   public $parent; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var Permission|null The repository permissions. | ||||||
|  |    */ | ||||||
|  |   public $permissions; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var int The repository size, in kilobytes. | ||||||
|  |    */ | ||||||
|  |   public $size = 0; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var int The number of stars of this repository. | ||||||
|  |    */ | ||||||
|  |   public $starsCount = 0; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var int The number of watchers of this repository. | ||||||
|  |    */ | ||||||
|  |   public $watchersCount = 0; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var UriInterface|null The HTTP-based URL for cloning this repository. | ||||||
|  |    */ | ||||||
|  |   private $cloneUrl; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var \DateTime|null The date the repository was created. | ||||||
|  |    */ | ||||||
|  |   private $createdAt; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var UriInterface|null The Gitea URL of this repository. | ||||||
|  |    */ | ||||||
|  |   private $htmlUrl; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var UriInterface|null The SSH-based URL for cloning this repository. | ||||||
|  |    */ | ||||||
|  |   private $sshUrl; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var \DateTime|null The date the repository was updated. | ||||||
|  |    */ | ||||||
|  |   private $updatedAt; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var UriInterface|null The URL of the repository website. | ||||||
|  |    */ | ||||||
|  |   private $website; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * Creates a new repository from the specified JSON map. | ||||||
|  |    * @param object $map A JSON map representing a repository. | ||||||
|  |    * @return static The instance corresponding to the specified JSON map. | ||||||
|  |    */ | ||||||
|  |   static function fromJson(object $map): self { | ||||||
|  |     return new static([ | ||||||
|  |       'cloneUrl' => isset($map->clone_url) && is_string($map->clone_url) ? new Uri($map->clone_url) : null, | ||||||
|  |       'createdAt' => isset($map->created_at) && is_string($map->created_at) ? new \DateTime($map->created_at) : null, | ||||||
|  |       'defaultBranch' => isset($map->default_branch) && is_string($map->default_branch) ? $map->default_branch : '', | ||||||
|  |       'description' => isset($map->description) && is_string($map->description) ? $map->description : '', | ||||||
|  |       'forksCount' => isset($map->forks_count) && is_int($map->forks_count) ? $map->forks_count : 0, | ||||||
|  |       'fullName' => isset($map->full_name) && is_string($map->full_name) ? $map->full_name : '', | ||||||
|  |       'htmlUrl' => isset($map->html_url) && is_string($map->html_url) ? new Uri($map->html_url) : null, | ||||||
|  |       'id' => isset($map->id) && is_int($map->id) ? $map->id : -1, | ||||||
|  |       'isEmpty' => isset($map->empty) && is_bool($map->empty) ? $map->empty : false, | ||||||
|  |       'isFork' => isset($map->fork) && is_bool($map->fork) ? $map->fork : false, | ||||||
|  |       'isMirror' => isset($map->mirror) && is_bool($map->mirror) ? $map->mirror : false, | ||||||
|  |       'isPrivate' => isset($map->private) && is_bool($map->private) ? $map->private : false, | ||||||
|  |       'name' => isset($map->name) && is_string($map->name) ? $map->name : '', | ||||||
|  |       'openIssuesCount' => isset($map->open_issues_count) && is_int($map->open_issues_count) ? $map->open_issues_count : 0, | ||||||
|  |       'owner' => isset($map->owner) && is_object($map->owner) ? User::fromJson($map->owner) : null, | ||||||
|  |       'parent' => isset($map->parent) && is_object($map->parent) ? Repository::fromJson($map->parent) : null, | ||||||
|  |       'permissions' => isset($map->permissions) && is_object($map->permissions) ? Permission::fromJson($map->permissions) : null, | ||||||
|  |       'size' => isset($map->size) && is_int($map->size) ? $map->size : 0, | ||||||
|  |       'sshUrl' => isset($map->ssh_url) && is_string($map->ssh_url) ? new Uri($map->ssh_url) : null, | ||||||
|  |       'starsCount' => isset($map->stars_count) && is_int($map->stars_count) ? $map->stars_count : 0, | ||||||
|  |       'updatedAt' => isset($map->updated_at) && is_string($map->updated_at) ? new \DateTime($map->updated_at) : null, | ||||||
|  |       'watchersCount' => isset($map->watchers_count) && is_int($map->watchers_count) ? $map->watchers_count : 0, | ||||||
|  |       'website' => isset($map->website) && is_string($map->website) ? new Uri($map->website) : null, | ||||||
|  |     ]); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * Returns the list of fields that should be returned by default. | ||||||
|  |    * @return array The list of field names or field definitions. | ||||||
|  |    */ | ||||||
|  |   function fields(): array { | ||||||
|  |     return [ | ||||||
|  |       'clone_url' => function(self $model) { return ($url = $model->getCloneUrl()) ? (string) $url : null; }, | ||||||
|  |       'created_at' => function(Repository $model) { return ($date = $model->getCreatedAt()) ? $date->format('c') : null; }, | ||||||
|  |       'default_branch' => 'defaultBranch', | ||||||
|  |       'description', | ||||||
|  |       'empty' => 'isEmpty', | ||||||
|  |       'fork' => 'isFork', | ||||||
|  |       'forks_count' => 'forksCount', | ||||||
|  |       'full_name' => 'fullName', | ||||||
|  |       'html_url' => function(self $model) { return ($url = $model->getHtmlUrl()) ? (string) $url : null; }, | ||||||
|  |       'id', | ||||||
|  |       'mirror' => 'isMirror', | ||||||
|  |       'name', | ||||||
|  |       'open_issues_count' => 'openIssuesCount', | ||||||
|  |       'owner', | ||||||
|  |       'parent', | ||||||
|  |       'permissions', | ||||||
|  |       'private' => 'isPrivate', | ||||||
|  |       'size', | ||||||
|  |       'ssh_url' => function(self $model) { return ($url = $model->getSshUrl()) ? (string) $url : null; }, | ||||||
|  |       'stars_count' => 'starsCount', | ||||||
|  |       'updated_at' => function(Repository $model) { return ($date = $model->getUpdatedAt()) ? $date->format('c') : null; }, | ||||||
|  |       'watchers_count' => 'watchersCount', | ||||||
|  |       'website' => function(self $model) { return ($url = $model->getWebsite()) ? (string) $url : null; }, | ||||||
|  |     ]; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * Gets the HTTP-based URL for cloning this repository. | ||||||
|  |    * @return UriInterface|null The HTTP-based URL for cloning this repository. | ||||||
|  |    */ | ||||||
|  |   function getCloneUrl(): ?UriInterface { | ||||||
|  |     return $this->cloneUrl; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * Gets the date the repository was created. | ||||||
|  |    * @return \DateTime|null The date the repository was created. | ||||||
|  |    */ | ||||||
|  |   function getCreatedAt(): ?\DateTime { | ||||||
|  |     return $this->createdAt; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * Gets the Gitea URL of this repository. | ||||||
|  |    * @return UriInterface|null The Gitea URL of this repository. | ||||||
|  |    */ | ||||||
|  |   function getHtmlUrl(): ?UriInterface { | ||||||
|  |     return $this->htmlUrl; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * Gets the SSH-based URL for cloning this repository. | ||||||
|  |    * @return UriInterface|null The SSH-based URL for cloning this repository. | ||||||
|  |    */ | ||||||
|  |   function getSshUrl(): ?UriInterface { | ||||||
|  |     return $this->sshUrl; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * Gets the date the repository was updated. | ||||||
|  |    * @return \DateTime|null The date the repository was updated. | ||||||
|  |    */ | ||||||
|  |   function getUpdatedAt(): ?\DateTime { | ||||||
|  |     return $this->updatedAt; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * Gets the URL of the repository website. | ||||||
|  |    * @return UriInterface|null The URL of the repository website. | ||||||
|  |    */ | ||||||
|  |   function getWebsite(): ?UriInterface { | ||||||
|  |     return $this->website; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * Sets the HTTP-based URL for cloning this repository. | ||||||
|  |    * @param UriInterface|string|null $value The new URL for cloning this repository. | ||||||
|  |    * @return $this This instance. | ||||||
|  |    */ | ||||||
|  |   function setCloneUrl($value): self { | ||||||
|  |     $this->cloneUrl = is_string($value) ? new Uri($value) : $value; | ||||||
|  |     return $this; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * Sets the date the repository was created. | ||||||
|  |    * @param \DateTime|string|null $value The new date of creation. | ||||||
|  |    * @return $this This instance. | ||||||
|  |    */ | ||||||
|  |   function setCreatedAt($value): self { | ||||||
|  |     $this->createdAt = is_string($value) ? new \DateTime($value) : $value; | ||||||
|  |     return $this; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * Sets the Gitea URL of this repository. | ||||||
|  |    * @param UriInterface|string|null $value The new Gitea URL. | ||||||
|  |    * @return $this This instance. | ||||||
|  |    */ | ||||||
|  |   function setHtmlUrl($value): self { | ||||||
|  |     $this->htmlUrl = is_string($value) ? new Uri($value) : $value; | ||||||
|  |     return $this; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * Sets the SSH-based URL for cloning this repository. | ||||||
|  |    * @param UriInterface|string|null $value The new URL for cloning this repository. | ||||||
|  |    * @return $this This instance. | ||||||
|  |    */ | ||||||
|  |   function setSshlUrl($value): self { | ||||||
|  |     $this->sshUrl = is_string($value) ? new Uri($value) : $value; | ||||||
|  |     return $this; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * Sets the date the repository was updated. | ||||||
|  |    * @param \DateTime|string|null $value The new date of update. | ||||||
|  |    * @return $this This instance. | ||||||
|  |    */ | ||||||
|  |   function setUpdatedAt($value): self { | ||||||
|  |     $this->updatedAt = is_string($value) ? new \DateTime($value) : $value; | ||||||
|  |     return $this; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * Sets the URL of the repository website. | ||||||
|  |    * @param UriInterface|string|null $value The new repository website. | ||||||
|  |    * @return $this This instance. | ||||||
|  |    */ | ||||||
|  |   function setWebsite($value): self { | ||||||
|  |     $this->website = is_string($value) ? new Uri($value) : $value; | ||||||
|  |     return $this; | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										25
									
								
								lib/models/ServerVersion.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								lib/models/ServerVersion.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | |||||||
|  | <?php | ||||||
|  | declare(strict_types=1); | ||||||
|  | namespace Gitea\Models; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Warps the version of the Gitea server. | ||||||
|  |  */ | ||||||
|  | class ServerVersion { | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var string The version number. | ||||||
|  |    */ | ||||||
|  |   public $version = ''; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * Creates a new server version from the specified JSON map. | ||||||
|  |    * @param object $map A JSON map representing a server version. | ||||||
|  |    * @return static The instance corresponding to the specified JSON map. | ||||||
|  |    */ | ||||||
|  |   static function fromJson(object $map): self { | ||||||
|  |     return new static([ | ||||||
|  |       'version' => isset($map->version) && is_string($map->version) ? $map->version : '' | ||||||
|  |     ]); | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										37
									
								
								lib/models/StatusState.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								lib/models/StatusState.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,37 @@ | |||||||
|  | <?php | ||||||
|  | declare(strict_types=1); | ||||||
|  | namespace Gitea\Models; | ||||||
|  |  | ||||||
|  | use Enum\{EnumTrait}; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Defines the state of a Gitea status. | ||||||
|  |  */ | ||||||
|  | final class StatusState { | ||||||
|  |   use EnumTrait; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var string The status is an error. | ||||||
|  |    */ | ||||||
|  |   const ERROR = 'error'; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var string The status is a failure. | ||||||
|  |    */ | ||||||
|  |   const FAILURE = 'failure'; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var string The status is a pending. | ||||||
|  |    */ | ||||||
|  |   const PENDING = 'pending'; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var string The status is a success. | ||||||
|  |    */ | ||||||
|  |   const SUCCESS = 'success'; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var string The status is a warning. | ||||||
|  |    */ | ||||||
|  |   const WARNING = 'warning'; | ||||||
|  | } | ||||||
							
								
								
									
										43
									
								
								lib/models/Team.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								lib/models/Team.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,43 @@ | |||||||
|  | <?php | ||||||
|  | declare(strict_types=1); | ||||||
|  | namespace Gitea\Models; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Represents a team in an organization. | ||||||
|  |  */ | ||||||
|  | class Team { | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var string The team description. | ||||||
|  |    */ | ||||||
|  |   public $description = ''; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var int The team identifier. | ||||||
|  |    */ | ||||||
|  |   public $id = -1; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var string The team name. | ||||||
|  |    */ | ||||||
|  |   public $name = ''; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var string The team permission. | ||||||
|  |    */ | ||||||
|  |   public $permission = TeamPermission::NONE; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * Creates a new user from the specified JSON map. | ||||||
|  |    * @param object $map A JSON map representing a user. | ||||||
|  |    * @return static The instance corresponding to the specified JSON map. | ||||||
|  |    */ | ||||||
|  |   static function fromJson(object $map): self { | ||||||
|  |     return new static([ | ||||||
|  |       'description' => isset($map->description) && is_string($map->description) ? $map->description : '', | ||||||
|  |       'id' => isset($map->id) && is_int($map->id) ? $map->id : -1, | ||||||
|  |       'name' => isset($map->name) && is_string($map->name) ? $map->name : '', | ||||||
|  |       'permission' => isset($map->permission) && TeamPermission::isDefined($map->permission) ? $map->permission : TeamPermission::NONE | ||||||
|  |     ]); | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										92
									
								
								lib/models/User.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										92
									
								
								lib/models/User.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,92 @@ | |||||||
|  | <?php | ||||||
|  | declare(strict_types=1); | ||||||
|  | namespace Gitea\Models; | ||||||
|  |  | ||||||
|  | use GuzzleHttp\Psr7\{Uri}; | ||||||
|  | use Psr\Http\Message\{UriInterface}; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Represents a Gitea user. | ||||||
|  |  * @property UriInterface|null $avatarUrl The URL of the avatar image. | ||||||
|  |  */ | ||||||
|  | class User { | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var string The mail address. | ||||||
|  |    */ | ||||||
|  |   public $email = ''; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var string The full name. | ||||||
|  |    */ | ||||||
|  |   public $fullName = ''; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var int The user identifier. | ||||||
|  |    */ | ||||||
|  |   public $id = -1; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var string The user locale. | ||||||
|  |    */ | ||||||
|  |   public $language = ''; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var string The name of the Gitea account. | ||||||
|  |    */ | ||||||
|  |   public $login = ''; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * @var UriInterface|null The URL to the user's avatar. | ||||||
|  |    */ | ||||||
|  |   private $avatarUrl; | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * Creates a new user from the specified JSON map. | ||||||
|  |    * @param object $map A JSON map representing a user. | ||||||
|  |    * @return static The instance corresponding to the specified JSON map. | ||||||
|  |    */ | ||||||
|  |   static function fromJson(object $map): self { | ||||||
|  |     return new static([ | ||||||
|  |       'avatarUrl' => isset($map->avatar_url) && is_string($map->avatar_url) ? $map->avatar_url : null, | ||||||
|  |       'email' => isset($map->email) && is_string($map->email) ? mb_strtolower($map->email) : '', | ||||||
|  |       'fullName' => isset($map->full_name) && is_string($map->full_name) ? $map->full_name : '', | ||||||
|  |       'id' => isset($map->id) && is_int($map->id) ? $map->id : -1, | ||||||
|  |       'language' => isset($map->language) && is_string($map->language) ? $map->language : '', | ||||||
|  |       'login' => isset($map->login) && is_string($map->login) ? $map->login : '' | ||||||
|  |     ]); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * Returns the list of fields that should be returned by default. | ||||||
|  |    * @return array The list of field names or field definitions. | ||||||
|  |    */ | ||||||
|  |   function fields(): array { | ||||||
|  |     return [ | ||||||
|  |       'avatar_url' => function(self $model) { return ($url = $model->getAvatarUrl()) ? (string) $url : null; }, | ||||||
|  |       'email', | ||||||
|  |       'full_name' => 'fullName', | ||||||
|  |       'id', | ||||||
|  |       'language', | ||||||
|  |       'login' | ||||||
|  |     ]; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * Gets the URL of the avatar image. | ||||||
|  |    * @return UriInterface|null The URL of the avatar image. | ||||||
|  |    */ | ||||||
|  |   function getAvatarUrl(): ?UriInterface { | ||||||
|  |     return $this->avatarUrl; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * Sets the URL of the avatar image. | ||||||
|  |    * @param UriInterface|string|null $value The new avatar URL. | ||||||
|  |    * @return $this This instance. | ||||||
|  |    */ | ||||||
|  |   function setAvatarUrl($value): self { | ||||||
|  |     $this->avatarUrl = is_string($value) ? new Uri($value) : $value; | ||||||
|  |     return $this; | ||||||
|  |   } | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user