2020-10-30 20:16:27 +00:00
|
|
|
<?php
|
|
|
|
|
2024-11-19 19:41:46 +00:00
|
|
|
declare(strict_types=1);
|
|
|
|
|
2020-11-24 14:16:53 +00:00
|
|
|
/**
|
2024-11-19 19:41:46 +00:00
|
|
|
* Radio App.
|
2020-11-24 14:16:53 +00:00
|
|
|
*
|
|
|
|
* @author Jonas Heinrich
|
2021-01-15 10:21:53 +00:00
|
|
|
* @copyright 2021 Jonas Heinrich <onny@project-insanity.org>
|
2020-11-24 14:16:53 +00:00
|
|
|
*
|
|
|
|
* 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/>.
|
|
|
|
*/
|
|
|
|
|
2020-10-30 20:16:27 +00:00
|
|
|
namespace OCA\Radio\Db;
|
|
|
|
|
|
|
|
use OCP\AppFramework\Db\Entity;
|
|
|
|
|
2024-11-19 19:41:46 +00:00
|
|
|
/**
|
|
|
|
* @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;
|
2020-10-30 20:16:27 +00:00
|
|
|
|
|
|
|
public function jsonSerialize(): array {
|
|
|
|
return [
|
|
|
|
'id' => $this->id,
|
2020-11-06 08:11:30 +00:00
|
|
|
'stationuuid' => $this->stationuuid,
|
|
|
|
'name' => $this->name,
|
|
|
|
'favicon' => $this->favicon,
|
2021-04-07 10:37:46 +00:00
|
|
|
'url_resolved' => $this->urlresolved,
|
2020-11-19 21:35:13 +00:00
|
|
|
'bitrate' => $this->bitrate,
|
|
|
|
'country' => $this->country,
|
|
|
|
'language' => $this->language,
|
|
|
|
'homepage' => $this->homepage,
|
|
|
|
'codec' => $this->codec,
|
2024-11-19 19:41:46 +00:00
|
|
|
'tags' => $this->tags,
|
|
|
|
'userId' => $this->userId,
|
2020-10-30 20:16:27 +00:00
|
|
|
];
|
|
|
|
}
|
|
|
|
}
|