koel/app/Values/UserPreferences.php

31 lines
652 B
PHP
Raw Normal View History

<?php
namespace App\Values;
use Illuminate\Contracts\Support\Arrayable;
use JsonSerializable;
final class UserPreferences implements Arrayable, JsonSerializable
{
2022-07-29 06:47:10 +00:00
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();
}
}