mirror of
https://github.com/koel/koel
synced 2024-12-29 22:13:06 +00:00
30 lines
649 B
PHP
30 lines
649 B
PHP
<?php
|
|
|
|
namespace App\DTO;
|
|
|
|
use Illuminate\Contracts\Support\Arrayable;
|
|
use JsonSerializable;
|
|
|
|
final class UserPreferences implements Arrayable, JsonSerializable
|
|
{
|
|
private function __construct(public ?string $lastFmSessionKey = null)
|
|
{
|
|
}
|
|
|
|
public static function make(?string $lastFmSessionKey = null): self
|
|
{
|
|
return new self($lastFmSessionKey);
|
|
}
|
|
|
|
/** @return array<mixed> */
|
|
public function toArray(): array
|
|
{
|
|
return ['lastfm_session_key' => $this->lastFmSessionKey];
|
|
}
|
|
|
|
/** @return array<mixed> */
|
|
public function jsonSerialize(): array
|
|
{
|
|
return $this->toArray();
|
|
}
|
|
}
|