nextcloud-app-radio/lib/Db/Station.php

96 lines
2.6 KiB
PHP

<?php
declare(strict_types=1);
/**
* Radio App.
*
* @author Jonas Heinrich
* @copyright 2021 Jonas Heinrich <onny@project-insanity.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
* License as published by the Free Software Foundation; either
* version 3 of the License, or any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
*
* You should have received a copy of the GNU Affero General Public
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
namespace OCA\Radio\Db;
use OCP\AppFramework\Db\Entity;
/**
* @method string getStationuuid()
* @method string getName()
* @method ?string getFavicon()
* @method ?string getUrlresolved()
* @method ?string getBitrate()
* @method ?string getCountry()
* @method ?string getLanguage()
* @method ?string getHomepage()
* @method ?string getCodec()
* @method ?string getTags()
* @method string getUserId()
* @method void setStationuuid(string $stationuuid)
* @method void setName(string $name)
* @method void setFavicon(?string $favicon)
* @method void setUrlresolved(?string $urlresolved)
* @method void setBitrate(?string $bitrate)
* @method void setCountry(?string $country)
* @method void setLanguage(?string $language)
* @method void setHomepage(?string $homepage)
* @method void setCodec(?string $codec)
* @method void setTags(?string $tags)
* @method void setUserId(string $userId)
*
* @psalm-suppress PropertyNotSetInConstructor
*/
class Station extends Entity implements \JsonSerializable
{
protected string $stationuuid;
protected string $name;
protected ?string $favicon = null;
protected ?string $urlresolved = null;
protected ?string $bitrate = null;
protected ?string $country = null;
protected ?string $language = null;
protected ?string $homepage = null;
protected ?string $codec = null;
protected ?string $tags = null;
protected string $userId;
public function jsonSerialize(): array {
return [
'id' => $this->id,
'stationuuid' => $this->stationuuid,
'name' => $this->name,
'favicon' => $this->favicon,
'url_resolved' => $this->urlresolved,
'bitrate' => $this->bitrate,
'country' => $this->country,
'language' => $this->language,
'homepage' => $this->homepage,
'codec' => $this->codec,
'tags' => $this->tags,
'userId' => $this->userId,
];
}
}