Update Doctrine mapping to use the stricter @ORM\ prefix.
This commit is contained in:
parent
b2c6b5e54e
commit
2d7725f2ef
|
@ -2,10 +2,10 @@
|
|||
namespace App\Entity;
|
||||
|
||||
/**
|
||||
* @Table(name="analytics", indexes={
|
||||
* @ORM\Table(name="analytics", indexes={
|
||||
* @index(name="search_idx", columns={"type", "timestamp"})
|
||||
* })
|
||||
* @Entity
|
||||
* @ORM\Entity
|
||||
*/
|
||||
class Analytics
|
||||
{
|
||||
|
@ -19,51 +19,51 @@ class Analytics
|
|||
public const LEVEL_NONE = 'none';
|
||||
|
||||
/**
|
||||
* @Column(name="id", type="integer")
|
||||
* @Id
|
||||
* @GeneratedValue(strategy="IDENTITY")
|
||||
* @ORM\Column(name="id", type="integer")
|
||||
* @ORM\Id
|
||||
* @ORM\GeneratedValue(strategy="IDENTITY")
|
||||
* @var int|null
|
||||
*/
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @Column(name="station_id", type="integer", nullable=true)
|
||||
* @ORM\Column(name="station_id", type="integer", nullable=true)
|
||||
* @var int|null
|
||||
*/
|
||||
protected $station_id;
|
||||
|
||||
/**
|
||||
* @Column(name="type", type="string", length=15)
|
||||
* @ORM\Column(name="type", type="string", length=15)
|
||||
* @var string
|
||||
*/
|
||||
protected $type;
|
||||
|
||||
/**
|
||||
* @Column(name="timestamp", type="integer")
|
||||
* @ORM\Column(name="timestamp", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $timestamp;
|
||||
|
||||
/**
|
||||
* @Column(name="number_min", type="integer")
|
||||
* @ORM\Column(name="number_min", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $number_min;
|
||||
|
||||
/**
|
||||
* @Column(name="number_max", type="integer")
|
||||
* @ORM\Column(name="number_max", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $number_max;
|
||||
|
||||
/**
|
||||
* @Column(name="number_avg", type="integer")
|
||||
* @ORM\Column(name="number_avg", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $number_avg;
|
||||
|
||||
/**
|
||||
* @ManyToOne(targetEntity="Station")
|
||||
* @ORM\ManyToOne(targetEntity="Station")
|
||||
* @JoinColumns({
|
||||
* @JoinColumn(name="station_id", referencedColumnName="id", onDelete="CASCADE")
|
||||
* })
|
||||
|
|
|
@ -2,34 +2,34 @@
|
|||
namespace App\Entity;
|
||||
|
||||
/**
|
||||
* @Table(name="api_keys")
|
||||
* @Entity(repositoryClass="App\Entity\Repository\ApiKeyRepository")
|
||||
* @ORM\Table(name="api_keys")
|
||||
* @ORM\Entity(repositoryClass="App\Entity\Repository\ApiKeyRepository")
|
||||
*/
|
||||
class ApiKey
|
||||
{
|
||||
use Traits\TruncateStrings;
|
||||
|
||||
/**
|
||||
* @Column(name="id", type="string", length=16)
|
||||
* @Id
|
||||
* @ORM\Column(name="id", type="string", length=16)
|
||||
* @ORM\Id
|
||||
* @var string
|
||||
*/
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @Column(name="verifier", type="string", length=128, nullable=false)
|
||||
* @ORM\Column(name="verifier", type="string", length=128, nullable=false)
|
||||
* @var string
|
||||
*/
|
||||
protected $verifier;
|
||||
|
||||
/**
|
||||
* @Column(name="user_id", type="integer")
|
||||
* @ORM\Column(name="user_id", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $user_id;
|
||||
|
||||
/**
|
||||
* @ManyToOne(targetEntity="User", inversedBy="api_keys", fetch="EAGER")
|
||||
* @ORM\ManyToOne(targetEntity="User", inversedBy="api_keys", fetch="EAGER")
|
||||
* @JoinColumns({
|
||||
* @JoinColumn(name="user_id", referencedColumnName="uid", onDelete="CASCADE")
|
||||
* })
|
||||
|
@ -38,7 +38,7 @@ class ApiKey
|
|||
protected $user;
|
||||
|
||||
/**
|
||||
* @Column(name="comment", type="string", length=255, nullable=true)
|
||||
* @ORM\Column(name="comment", type="string", length=255, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $comment;
|
||||
|
|
|
@ -6,29 +6,29 @@ use Doctrine\Common\Collections\ArrayCollection;
|
|||
use Doctrine\Common\Collections\Collection;
|
||||
|
||||
/**
|
||||
* @Table(name="custom_field")
|
||||
* @Entity
|
||||
* @ORM\Table(name="custom_field")
|
||||
* @ORM\Entity
|
||||
*/
|
||||
class CustomField
|
||||
{
|
||||
use Traits\TruncateStrings;
|
||||
|
||||
/**
|
||||
* @Column(name="id", type="integer")
|
||||
* @Id
|
||||
* @GeneratedValue(strategy="IDENTITY")
|
||||
* @ORM\Column(name="id", type="integer")
|
||||
* @ORM\Id
|
||||
* @ORM\GeneratedValue(strategy="IDENTITY")
|
||||
* @var int
|
||||
*/
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @Column(name="name", type="string", length=255)
|
||||
* @ORM\Column(name="name", type="string", length=255)
|
||||
* @var string
|
||||
*/
|
||||
protected $name;
|
||||
|
||||
/**
|
||||
* @Column(name="short_name", type="string", length=100, nullable=true)
|
||||
* @ORM\Column(name="short_name", type="string", length=100, nullable=true)
|
||||
* @var string|null The programmatic name for the field. Can be auto-generated from the full name.
|
||||
*/
|
||||
protected $short_name;
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
namespace App\Entity;
|
||||
|
||||
/**
|
||||
* @Table(name="listener", indexes={
|
||||
* @ORM\Table(name="listener", indexes={
|
||||
* @index(name="update_idx", columns={"listener_hash"}),
|
||||
* @index(name="search_idx", columns={"listener_uid", "timestamp_end"})
|
||||
* })
|
||||
* @Entity(repositoryClass="App\Entity\Repository\ListenerRepository")
|
||||
* @ORM\Entity(repositoryClass="App\Entity\Repository\ListenerRepository")
|
||||
*/
|
||||
class Listener
|
||||
{
|
||||
|
@ -31,21 +31,21 @@ class Listener
|
|||
}
|
||||
|
||||
/**
|
||||
* @Column(name="id", type="integer")
|
||||
* @Id
|
||||
* @GeneratedValue(strategy="AUTO")
|
||||
* @ORM\Column(name="id", type="integer")
|
||||
* @ORM\Id
|
||||
* @ORM\GeneratedValue(strategy="AUTO")
|
||||
* @var int
|
||||
*/
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @Column(name="station_id", type="integer")
|
||||
* @ORM\Column(name="station_id", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $station_id;
|
||||
|
||||
/**
|
||||
* @ManyToOne(targetEntity="Station", inversedBy="history")
|
||||
* @ORM\ManyToOne(targetEntity="Station", inversedBy="history")
|
||||
* @JoinColumns({
|
||||
* @JoinColumn(name="station_id", referencedColumnName="id", onDelete="CASCADE")
|
||||
* })
|
||||
|
@ -54,37 +54,37 @@ class Listener
|
|||
protected $station;
|
||||
|
||||
/**
|
||||
* @Column(name="listener_uid", type="integer")
|
||||
* @ORM\Column(name="listener_uid", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $listener_uid;
|
||||
|
||||
/**
|
||||
* @Column(name="listener_ip", type="string", length=45)
|
||||
* @ORM\Column(name="listener_ip", type="string", length=45)
|
||||
* @var string
|
||||
*/
|
||||
protected $listener_ip;
|
||||
|
||||
/**
|
||||
* @Column(name="listener_user_agent", type="string", length=255)
|
||||
* @ORM\Column(name="listener_user_agent", type="string", length=255)
|
||||
* @var string
|
||||
*/
|
||||
protected $listener_user_agent;
|
||||
|
||||
/**
|
||||
* @Column(name="listener_hash", type="string", length=32)
|
||||
* @ORM\Column(name="listener_hash", type="string", length=32)
|
||||
* @var string
|
||||
*/
|
||||
protected $listener_hash;
|
||||
|
||||
/**
|
||||
* @Column(name="timestamp_start", type="integer")
|
||||
* @ORM\Column(name="timestamp_start", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $timestamp_start;
|
||||
|
||||
/**
|
||||
* @Column(name="timestamp_end", type="integer")
|
||||
* @ORM\Column(name="timestamp_end", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $timestamp_end;
|
||||
|
|
|
@ -5,35 +5,35 @@ use Doctrine\Common\Collections\ArrayCollection;
|
|||
use Doctrine\Common\Collections\Collection;
|
||||
|
||||
/**
|
||||
* @Table(name="role")
|
||||
* @Entity
|
||||
* @ORM\Table(name="role")
|
||||
* @ORM\Entity
|
||||
*/
|
||||
class Role
|
||||
{
|
||||
use Traits\TruncateStrings;
|
||||
|
||||
/**
|
||||
* @Column(name="id", type="integer")
|
||||
* @Id
|
||||
* @GeneratedValue(strategy="IDENTITY")
|
||||
* @ORM\Column(name="id", type="integer")
|
||||
* @ORM\Id
|
||||
* @ORM\GeneratedValue(strategy="IDENTITY")
|
||||
* @var int
|
||||
*/
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @Column(name="name", type="string", length=100)
|
||||
* @ORM\Column(name="name", type="string", length=100)
|
||||
* @var string
|
||||
*/
|
||||
protected $name;
|
||||
|
||||
/**
|
||||
* @ManyToMany(targetEntity="User", mappedBy="roles")
|
||||
* @ORM\ManyToMany(targetEntity="User", mappedBy="roles")
|
||||
* @var Collection
|
||||
*/
|
||||
protected $users;
|
||||
|
||||
/**
|
||||
* @OneToMany(targetEntity="RolePermission", mappedBy="role")
|
||||
* @ORM\OneToMany(targetEntity="RolePermission", mappedBy="role")
|
||||
* @var Collection
|
||||
*/
|
||||
protected $permissions;
|
||||
|
|
|
@ -2,29 +2,29 @@
|
|||
namespace App\Entity;
|
||||
|
||||
/**
|
||||
* @Table(name="role_permissions", uniqueConstraints={
|
||||
* @ORM\Table(name="role_permissions", uniqueConstraints={
|
||||
* @UniqueConstraint(name="role_permission_unique_idx", columns={"role_id","action_name","station_id"})
|
||||
* })
|
||||
* @Entity(repositoryClass="App\Entity\Repository\RolePermissionRepository")
|
||||
* @ORM\Entity(repositoryClass="App\Entity\Repository\RolePermissionRepository")
|
||||
*/
|
||||
class RolePermission
|
||||
{
|
||||
/**
|
||||
* @Column(name="id", type="integer")
|
||||
* @Id
|
||||
* @GeneratedValue(strategy="IDENTITY")
|
||||
* @ORM\Column(name="id", type="integer")
|
||||
* @ORM\Id
|
||||
* @ORM\GeneratedValue(strategy="IDENTITY")
|
||||
* @var int
|
||||
*/
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @Column(name="role_id", type="integer")
|
||||
* @ORM\Column(name="role_id", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $role_id;
|
||||
|
||||
/**
|
||||
* @ManyToOne(targetEntity="Role", inversedBy="permissions")
|
||||
* @ORM\ManyToOne(targetEntity="Role", inversedBy="permissions")
|
||||
* @JoinColumns({
|
||||
* @JoinColumn(name="role_id", referencedColumnName="id", onDelete="CASCADE")
|
||||
* })
|
||||
|
@ -33,19 +33,19 @@ class RolePermission
|
|||
protected $role;
|
||||
|
||||
/**
|
||||
* @Column(name="action_name", type="string", length=50, nullable=false)
|
||||
* @ORM\Column(name="action_name", type="string", length=50, nullable=false)
|
||||
* @var string
|
||||
*/
|
||||
protected $action_name;
|
||||
|
||||
/**
|
||||
* @Column(name="station_id", type="integer", nullable=true)
|
||||
* @ORM\Column(name="station_id", type="integer", nullable=true)
|
||||
* @var int|null
|
||||
*/
|
||||
protected $station_id;
|
||||
|
||||
/**
|
||||
* @ManyToOne(targetEntity="Station", inversedBy="permissions")
|
||||
* @ORM\ManyToOne(targetEntity="Station", inversedBy="permissions")
|
||||
* @JoinColumns({
|
||||
* @JoinColumn(name="station_id", referencedColumnName="id", onDelete="CASCADE")
|
||||
* })
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
namespace App\Entity;
|
||||
|
||||
/**
|
||||
* @Table(name="settings")
|
||||
* @Entity(repositoryClass="App\Entity\Repository\SettingsRepository")
|
||||
* @ORM\Table(name="settings")
|
||||
* @ORM\Entity(repositoryClass="App\Entity\Repository\SettingsRepository")
|
||||
*/
|
||||
class Settings
|
||||
{
|
||||
|
@ -49,15 +49,15 @@ class Settings
|
|||
const UPDATE_LAST_RUN = 'central_update_last_run';
|
||||
|
||||
/**
|
||||
* @Column(name="setting_key", type="string", length=64)
|
||||
* @Id
|
||||
* @GeneratedValue(strategy="NONE")
|
||||
* @ORM\Column(name="setting_key", type="string", length=64)
|
||||
* @ORM\Id
|
||||
* @ORM\GeneratedValue(strategy="NONE")
|
||||
* @var string
|
||||
*/
|
||||
protected $setting_key;
|
||||
|
||||
/**
|
||||
* @Column(name="setting_value", type="json_array", nullable=true)
|
||||
* @ORM\Column(name="setting_value", type="json_array", nullable=true)
|
||||
* @var mixed
|
||||
*/
|
||||
protected $setting_value;
|
||||
|
|
|
@ -6,10 +6,10 @@ use Doctrine\Common\Collections\Collection;
|
|||
use Psr\Http\Message\UriInterface;
|
||||
|
||||
/**
|
||||
* @Table(name="songs", indexes={
|
||||
* @ORM\Table(name="songs", indexes={
|
||||
* @index(name="search_idx", columns={"text", "artist", "title"})
|
||||
* })
|
||||
* @Entity(repositoryClass="App\Entity\Repository\SongRepository")
|
||||
* @ORM\Entity(repositoryClass="App\Entity\Repository\SongRepository")
|
||||
*/
|
||||
class Song
|
||||
{
|
||||
|
@ -18,50 +18,50 @@ class Song
|
|||
const SYNC_THRESHOLD = 604800; // 604800 = 1 week
|
||||
|
||||
/**
|
||||
* @Column(name="id", type="string", length=50)
|
||||
* @Id
|
||||
* @ORM\Column(name="id", type="string", length=50)
|
||||
* @ORM\Id
|
||||
* @var string
|
||||
*/
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @Column(name="text", type="string", length=150, nullable=true)
|
||||
* @ORM\Column(name="text", type="string", length=150, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $text;
|
||||
|
||||
/**
|
||||
* @Column(name="artist", type="string", length=150, nullable=true)
|
||||
* @ORM\Column(name="artist", type="string", length=150, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $artist;
|
||||
|
||||
/**
|
||||
* @Column(name="title", type="string", length=150, nullable=true)
|
||||
* @ORM\Column(name="title", type="string", length=150, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $title;
|
||||
|
||||
/**
|
||||
* @Column(name="created", type="integer")
|
||||
* @ORM\Column(name="created", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $created;
|
||||
|
||||
/**
|
||||
* @Column(name="play_count", type="integer")
|
||||
* @ORM\Column(name="play_count", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $play_count;
|
||||
|
||||
/**
|
||||
* @Column(name="last_played", type="integer")
|
||||
* @ORM\Column(name="last_played", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $last_played;
|
||||
|
||||
/**
|
||||
* @OneToMany(targetEntity="SongHistory", mappedBy="song")
|
||||
* @ORM\OneToMany(targetEntity="SongHistory", mappedBy="song")
|
||||
* @OrderBy({"timestamp" = "DESC"})
|
||||
* @var Collection
|
||||
*/
|
||||
|
|
|
@ -4,31 +4,31 @@ namespace App\Entity;
|
|||
use Psr\Http\Message\UriInterface;
|
||||
|
||||
/**
|
||||
* @Table(name="song_history", indexes={
|
||||
* @ORM\Table(name="song_history", indexes={
|
||||
* @index(name="history_idx", columns={"timestamp_start","timestamp_end","listeners_start"}),
|
||||
* })
|
||||
* @Entity(repositoryClass="App\Entity\Repository\SongHistoryRepository")
|
||||
* @ORM\Entity(repositoryClass="App\Entity\Repository\SongHistoryRepository")
|
||||
*/
|
||||
class SongHistory
|
||||
{
|
||||
const DEFAULT_DAYS_TO_KEEP = 60;
|
||||
|
||||
/**
|
||||
* @Column(name="id", type="integer")
|
||||
* @Id
|
||||
* @GeneratedValue(strategy="AUTO")
|
||||
* @ORM\Column(name="id", type="integer")
|
||||
* @ORM\Id
|
||||
* @ORM\GeneratedValue(strategy="AUTO")
|
||||
* @var int
|
||||
*/
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @Column(name="song_id", type="string", length=50)
|
||||
* @ORM\Column(name="song_id", type="string", length=50)
|
||||
* @var string
|
||||
*/
|
||||
protected $song_id;
|
||||
|
||||
/**
|
||||
* @ManyToOne(targetEntity="Song", inversedBy="history")
|
||||
* @ORM\ManyToOne(targetEntity="Song", inversedBy="history")
|
||||
* @JoinColumns({
|
||||
* @JoinColumn(name="song_id", referencedColumnName="id", onDelete="CASCADE")
|
||||
* })
|
||||
|
@ -37,13 +37,13 @@ class SongHistory
|
|||
protected $song;
|
||||
|
||||
/**
|
||||
* @Column(name="station_id", type="integer")
|
||||
* @ORM\Column(name="station_id", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $station_id;
|
||||
|
||||
/**
|
||||
* @ManyToOne(targetEntity="Station", inversedBy="history")
|
||||
* @ORM\ManyToOne(targetEntity="Station", inversedBy="history")
|
||||
* @JoinColumns({
|
||||
* @JoinColumn(name="station_id", referencedColumnName="id", onDelete="CASCADE")
|
||||
* })
|
||||
|
@ -52,13 +52,13 @@ class SongHistory
|
|||
protected $station;
|
||||
|
||||
/**
|
||||
* @Column(name="playlist_id", type="integer", nullable=true)
|
||||
* @ORM\Column(name="playlist_id", type="integer", nullable=true)
|
||||
* @var int|null
|
||||
*/
|
||||
protected $playlist_id;
|
||||
|
||||
/**
|
||||
* @ManyToOne(targetEntity="StationPlaylist")
|
||||
* @ORM\ManyToOne(targetEntity="StationPlaylist")
|
||||
* @JoinColumns({
|
||||
* @JoinColumn(name="playlist_id", referencedColumnName="id", onDelete="CASCADE")
|
||||
* })
|
||||
|
@ -67,13 +67,13 @@ class SongHistory
|
|||
protected $playlist;
|
||||
|
||||
/**
|
||||
* @Column(name="media_id", type="integer", nullable=true)
|
||||
* @ORM\Column(name="media_id", type="integer", nullable=true)
|
||||
* @var int|null
|
||||
*/
|
||||
protected $media_id;
|
||||
|
||||
/**
|
||||
* @ManyToOne(targetEntity="StationMedia")
|
||||
* @ORM\ManyToOne(targetEntity="StationMedia")
|
||||
* @JoinColumns({
|
||||
* @JoinColumn(name="media_id", referencedColumnName="id", onDelete="CASCADE")
|
||||
* })
|
||||
|
@ -82,13 +82,13 @@ class SongHistory
|
|||
protected $media;
|
||||
|
||||
/**
|
||||
* @Column(name="request_id", type="integer", nullable=true)
|
||||
* @ORM\Column(name="request_id", type="integer", nullable=true)
|
||||
* @var int|null
|
||||
*/
|
||||
protected $request_id;
|
||||
|
||||
/**
|
||||
* @OneToOne(targetEntity="StationRequest")
|
||||
* @ORM\OneToOne(targetEntity="StationRequest")
|
||||
* @JoinColumns({
|
||||
* @JoinColumn(name="request_id", referencedColumnName="id", onDelete="CASCADE")
|
||||
* })
|
||||
|
@ -97,79 +97,79 @@ class SongHistory
|
|||
protected $request;
|
||||
|
||||
/**
|
||||
* @Column(name="autodj_custom_uri", type="string", length=255, nullable=true)
|
||||
* @ORM\Column(name="autodj_custom_uri", type="string", length=255, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $autodj_custom_uri;
|
||||
|
||||
/**
|
||||
* @Column(name="timestamp_cued", type="integer", nullable=true)
|
||||
* @ORM\Column(name="timestamp_cued", type="integer", nullable=true)
|
||||
* @var int|null
|
||||
*/
|
||||
protected $timestamp_cued;
|
||||
|
||||
/**
|
||||
* @Column(name="sent_to_autodj", type="boolean")
|
||||
* @ORM\Column(name="sent_to_autodj", type="boolean")
|
||||
* @var bool
|
||||
*/
|
||||
protected $sent_to_autodj;
|
||||
|
||||
/**
|
||||
* @Column(name="timestamp_start", type="integer")
|
||||
* @ORM\Column(name="timestamp_start", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $timestamp_start;
|
||||
|
||||
/**
|
||||
* @Column(name="duration", type="integer", nullable=true)
|
||||
* @ORM\Column(name="duration", type="integer", nullable=true)
|
||||
* @var int|null
|
||||
*/
|
||||
protected $duration;
|
||||
|
||||
/**
|
||||
* @Column(name="listeners_start", type="integer", nullable=true)
|
||||
* @ORM\Column(name="listeners_start", type="integer", nullable=true)
|
||||
* @var int|null
|
||||
*/
|
||||
protected $listeners_start;
|
||||
|
||||
/**
|
||||
* @Column(name="timestamp_end", type="integer")
|
||||
* @ORM\Column(name="timestamp_end", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $timestamp_end;
|
||||
|
||||
/**
|
||||
* @Column(name="listeners_end", type="smallint", nullable=true)
|
||||
* @ORM\Column(name="listeners_end", type="smallint", nullable=true)
|
||||
* @var int|null
|
||||
*/
|
||||
protected $listeners_end;
|
||||
|
||||
/**
|
||||
* @Column(name="unique_listeners", type="smallint", nullable=true)
|
||||
* @ORM\Column(name="unique_listeners", type="smallint", nullable=true)
|
||||
* @var int|null
|
||||
*/
|
||||
protected $unique_listeners;
|
||||
|
||||
/**
|
||||
* @Column(name="delta_total", type="smallint")
|
||||
* @ORM\Column(name="delta_total", type="smallint")
|
||||
* @var int
|
||||
*/
|
||||
protected $delta_total;
|
||||
|
||||
/**
|
||||
* @Column(name="delta_positive", type="smallint")
|
||||
* @ORM\Column(name="delta_positive", type="smallint")
|
||||
* @var int
|
||||
*/
|
||||
protected $delta_positive;
|
||||
|
||||
/**
|
||||
* @Column(name="delta_negative", type="smallint")
|
||||
* @ORM\Column(name="delta_negative", type="smallint")
|
||||
* @var int
|
||||
*/
|
||||
protected $delta_negative;
|
||||
|
||||
/**
|
||||
* @Column(name="delta_points", type="json_array", nullable=true)
|
||||
* @ORM\Column(name="delta_points", type="json_array", nullable=true)
|
||||
* @var mixed|null
|
||||
*/
|
||||
protected $delta_points;
|
||||
|
|
|
@ -12,8 +12,8 @@ use Interop\Container\ContainerInterface;
|
|||
use Psr\Http\Message\UriInterface;
|
||||
|
||||
/**
|
||||
* @Table(name="station")
|
||||
* @Entity(repositoryClass="App\Entity\Repository\StationRepository")
|
||||
* @ORM\Table(name="station")
|
||||
* @ORM\Entity(repositoryClass="App\Entity\Repository\StationRepository")
|
||||
* @HasLifecycleCallbacks
|
||||
*/
|
||||
class Station
|
||||
|
@ -26,202 +26,202 @@ class Station
|
|||
use Traits\TruncateStrings;
|
||||
|
||||
/**
|
||||
* @Column(name="id", type="integer")
|
||||
* @Id
|
||||
* @GeneratedValue(strategy="IDENTITY")
|
||||
* @ORM\Column(name="id", type="integer")
|
||||
* @ORM\Id
|
||||
* @ORM\GeneratedValue(strategy="IDENTITY")
|
||||
* @var int
|
||||
*/
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @Column(name="name", type="string", length=100, nullable=true)
|
||||
* @ORM\Column(name="name", type="string", length=100, nullable=true)
|
||||
* @var string|null The full display name of the station.
|
||||
*/
|
||||
protected $name;
|
||||
|
||||
/**
|
||||
* @Column(name="short_name", type="string", length=100, nullable=true)
|
||||
* @ORM\Column(name="short_name", type="string", length=100, nullable=true)
|
||||
* @var string|null The URL-friendly name for the station, typically auto-generated from the full station name.
|
||||
*/
|
||||
protected $short_name;
|
||||
|
||||
/**
|
||||
* @Column(name="is_enabled", type="boolean", nullable=false)
|
||||
* @ORM\Column(name="is_enabled", type="boolean", nullable=false)
|
||||
* @var bool If set to "false", prevents the station from broadcasting but leaves it in the database.
|
||||
*/
|
||||
protected $is_enabled = true;
|
||||
|
||||
/**
|
||||
* @Column(name="frontend_type", type="string", length=100, nullable=true)
|
||||
* @ORM\Column(name="frontend_type", type="string", length=100, nullable=true)
|
||||
* @var string|null The frontend adapter (icecast,shoutcast,remote,etc)
|
||||
*/
|
||||
protected $frontend_type;
|
||||
|
||||
/**
|
||||
* @Column(name="frontend_config", type="json_array", nullable=true)
|
||||
* @ORM\Column(name="frontend_config", type="json_array", nullable=true)
|
||||
* @var array|null An array containing station-specific frontend configuration
|
||||
*/
|
||||
protected $frontend_config;
|
||||
|
||||
/**
|
||||
* @Column(name="backend_type", type="string", length=100, nullable=true)
|
||||
* @ORM\Column(name="backend_type", type="string", length=100, nullable=true)
|
||||
* @var string|null The backend adapter (liquidsoap,etc)
|
||||
*/
|
||||
protected $backend_type;
|
||||
|
||||
/**
|
||||
* @Column(name="backend_config", type="json_array", nullable=true)
|
||||
* @ORM\Column(name="backend_config", type="json_array", nullable=true)
|
||||
* @var array|null An array containing station-specific backend configuration
|
||||
*/
|
||||
protected $backend_config;
|
||||
|
||||
/**
|
||||
* @Column(name="adapter_api_key", type="string", length=150, nullable=true)
|
||||
* @ORM\Column(name="adapter_api_key", type="string", length=150, nullable=true)
|
||||
* @var string|null An internal-use API key used for container-to-container communications from Liquidsoap to AzuraCast
|
||||
*/
|
||||
protected $adapter_api_key;
|
||||
|
||||
/**
|
||||
* @Column(name="description", type="text", nullable=true)
|
||||
* @ORM\Column(name="description", type="text", nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $description;
|
||||
|
||||
/**
|
||||
* @Column(name="url", type="string", length=255, nullable=true)
|
||||
* @ORM\Column(name="url", type="string", length=255, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $url;
|
||||
|
||||
/**
|
||||
* @Column(name="genre", type="string", length=150, nullable=true)
|
||||
* @ORM\Column(name="genre", type="string", length=150, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $genre;
|
||||
|
||||
/**
|
||||
* @Column(name="radio_base_dir", type="string", length=255, nullable=true)
|
||||
* @ORM\Column(name="radio_base_dir", type="string", length=255, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $radio_base_dir;
|
||||
|
||||
/**
|
||||
* @Column(name="radio_media_dir", type="string", length=255, nullable=true)
|
||||
* @ORM\Column(name="radio_media_dir", type="string", length=255, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $radio_media_dir;
|
||||
|
||||
/**
|
||||
* @Column(name="nowplaying", type="array", nullable=true)
|
||||
* @ORM\Column(name="nowplaying", type="array", nullable=true)
|
||||
* @var mixed|null
|
||||
*/
|
||||
protected $nowplaying;
|
||||
|
||||
/**
|
||||
* @Column(name="nowplaying_timestamp", type="integer", nullable=true)
|
||||
* @ORM\Column(name="nowplaying_timestamp", type="integer", nullable=true)
|
||||
* @var int
|
||||
*/
|
||||
protected $nowplaying_timestamp;
|
||||
|
||||
/**
|
||||
* @Column(name="automation_settings", type="json_array", nullable=true)
|
||||
* @ORM\Column(name="automation_settings", type="json_array", nullable=true)
|
||||
* @var array|null
|
||||
*/
|
||||
protected $automation_settings;
|
||||
|
||||
/**
|
||||
* @Column(name="automation_timestamp", type="integer", nullable=true)
|
||||
* @ORM\Column(name="automation_timestamp", type="integer", nullable=true)
|
||||
* @var int|null The UNIX timestamp when station automation was most recently run.
|
||||
*/
|
||||
protected $automation_timestamp = 0;
|
||||
|
||||
/**
|
||||
* @Column(name="enable_requests", type="boolean", nullable=false)
|
||||
* @ORM\Column(name="enable_requests", type="boolean", nullable=false)
|
||||
* @var bool Whether listeners can request songs to play on this station.
|
||||
*/
|
||||
protected $enable_requests = false;
|
||||
|
||||
/**
|
||||
* @Column(name="request_delay", type="integer", nullable=true)
|
||||
* @ORM\Column(name="request_delay", type="integer", nullable=true)
|
||||
* @var int|null
|
||||
*/
|
||||
protected $request_delay = self::DEFAULT_REQUEST_DELAY;
|
||||
|
||||
/**
|
||||
* @Column(name="request_threshold", type="integer", nullable=true)
|
||||
* @ORM\Column(name="request_threshold", type="integer", nullable=true)
|
||||
* @var int|null
|
||||
*/
|
||||
protected $request_threshold = self::DEFAULT_REQUEST_THRESHOLD;
|
||||
|
||||
/**
|
||||
* @Column(name="disconnect_deactivate_streamer", type="integer", nullable=true, options={"default":0})
|
||||
* @ORM\Column(name="disconnect_deactivate_streamer", type="integer", nullable=true, options={"default":0})
|
||||
* @var int
|
||||
*/
|
||||
protected $disconnect_deactivate_streamer = self::DEFAULT_DISCONNECT_DEACTIVATE_STREAMER;
|
||||
|
||||
/**
|
||||
* @Column(name="enable_streamers", type="boolean", nullable=false)
|
||||
* @ORM\Column(name="enable_streamers", type="boolean", nullable=false)
|
||||
* @var bool Whether streamers are allowed to broadcast to this station at all.
|
||||
*/
|
||||
protected $enable_streamers = false;
|
||||
|
||||
/**
|
||||
* @Column(name="is_streamer_live", type="boolean", nullable=false)
|
||||
* @ORM\Column(name="is_streamer_live", type="boolean", nullable=false)
|
||||
* @var bool Whether a streamer is currently active on the station.
|
||||
*/
|
||||
protected $is_streamer_live = false;
|
||||
|
||||
/**
|
||||
* @Column(name="enable_public_page", type="boolean", nullable=false)
|
||||
* @ORM\Column(name="enable_public_page", type="boolean", nullable=false)
|
||||
* @var bool Whether this station is visible as a public page and in a now-playing API response.
|
||||
*/
|
||||
protected $enable_public_page = true;
|
||||
|
||||
/**
|
||||
* @Column(name="needs_restart", type="boolean")
|
||||
* @ORM\Column(name="needs_restart", type="boolean")
|
||||
* @var bool Whether to show the "Restart station to apply changes" sidebar for this station
|
||||
*/
|
||||
protected $needs_restart = false;
|
||||
|
||||
/**
|
||||
* @Column(name="has_started", type="boolean")
|
||||
* @ORM\Column(name="has_started", type="boolean")
|
||||
* @var bool
|
||||
*/
|
||||
protected $has_started = false;
|
||||
|
||||
/**
|
||||
* @Column(name="api_history_items", type="smallint")
|
||||
* @ORM\Column(name="api_history_items", type="smallint")
|
||||
* @var int|null The number of "last played" history items to show for a given station in the Now Playing API responses.
|
||||
*/
|
||||
protected $api_history_items = self::DEFAULT_API_HISTORY_ITEMS;
|
||||
|
||||
/**
|
||||
* @OneToMany(targetEntity="SongHistory", mappedBy="station")
|
||||
* @ORM\OneToMany(targetEntity="SongHistory", mappedBy="station")
|
||||
* @OrderBy({"timestamp" = "DESC"})
|
||||
* @var Collection
|
||||
*/
|
||||
protected $history;
|
||||
|
||||
/**
|
||||
* @OneToMany(targetEntity="StationMedia", mappedBy="station")
|
||||
* @ORM\OneToMany(targetEntity="StationMedia", mappedBy="station")
|
||||
* @var Collection
|
||||
*/
|
||||
protected $media;
|
||||
|
||||
/**
|
||||
* @OneToMany(targetEntity="StationStreamer", mappedBy="station")
|
||||
* @ORM\OneToMany(targetEntity="StationStreamer", mappedBy="station")
|
||||
* @var Collection
|
||||
*/
|
||||
protected $streamers;
|
||||
|
||||
/**
|
||||
* @Column(name="current_streamer_id", type="integer", nullable=true)
|
||||
* @ORM\Column(name="current_streamer_id", type="integer", nullable=true)
|
||||
* @var int
|
||||
*/
|
||||
protected $current_streamer_id;
|
||||
|
||||
/**
|
||||
* @ManyToOne(targetEntity="StationStreamer")
|
||||
* @ORM\ManyToOne(targetEntity="StationStreamer")
|
||||
* @JoinColumns({
|
||||
* @JoinColumn(name="current_streamer_id", referencedColumnName="id", onDelete="SET NULL")
|
||||
* })
|
||||
|
@ -230,32 +230,32 @@ class Station
|
|||
protected $current_streamer;
|
||||
|
||||
/**
|
||||
* @OneToMany(targetEntity="RolePermission", mappedBy="station")
|
||||
* @ORM\OneToMany(targetEntity="RolePermission", mappedBy="station")
|
||||
* @var Collection
|
||||
*/
|
||||
protected $permissions;
|
||||
|
||||
/**
|
||||
* @OneToMany(targetEntity="StationPlaylist", mappedBy="station")
|
||||
* @ORM\OneToMany(targetEntity="StationPlaylist", mappedBy="station")
|
||||
* @OrderBy({"type" = "ASC","weight" = "DESC"})
|
||||
* @var Collection
|
||||
*/
|
||||
protected $playlists;
|
||||
|
||||
/**
|
||||
* @OneToMany(targetEntity="StationMount", mappedBy="station")
|
||||
* @ORM\OneToMany(targetEntity="StationMount", mappedBy="station")
|
||||
* @var Collection
|
||||
*/
|
||||
protected $mounts;
|
||||
|
||||
/**
|
||||
* @OneToMany(targetEntity="StationRemote", mappedBy="station")
|
||||
* @ORM\OneToMany(targetEntity="StationRemote", mappedBy="station")
|
||||
* @var Collection
|
||||
*/
|
||||
protected $remotes;
|
||||
|
||||
/**
|
||||
* @OneToMany(targetEntity="StationWebhook", mappedBy="station", fetch="EXTRA_LAZY")
|
||||
* @ORM\OneToMany(targetEntity="StationWebhook", mappedBy="station", fetch="EXTRA_LAZY")
|
||||
* @var Collection
|
||||
*/
|
||||
protected $webhooks;
|
||||
|
|
|
@ -8,33 +8,33 @@ use Doctrine\Common\Collections\Collection;
|
|||
use Psr\Http\Message\UriInterface;
|
||||
|
||||
/**
|
||||
* @Table(name="station_media", indexes={
|
||||
* @ORM\Table(name="station_media", indexes={
|
||||
* @index(name="search_idx", columns={"title", "artist", "album"})
|
||||
* }, uniqueConstraints={
|
||||
* @UniqueConstraint(name="path_unique_idx", columns={"path", "station_id"})
|
||||
* })
|
||||
* @Entity(repositoryClass="App\Entity\Repository\StationMediaRepository")
|
||||
* @ORM\Entity(repositoryClass="App\Entity\Repository\StationMediaRepository")
|
||||
*/
|
||||
class StationMedia
|
||||
{
|
||||
use Traits\UniqueId, Traits\TruncateStrings;
|
||||
|
||||
/**
|
||||
* @Column(name="id", type="integer")
|
||||
* @Id
|
||||
* @GeneratedValue(strategy="IDENTITY")
|
||||
* @ORM\Column(name="id", type="integer")
|
||||
* @ORM\Id
|
||||
* @ORM\GeneratedValue(strategy="IDENTITY")
|
||||
* @var int
|
||||
*/
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @Column(name="station_id", type="integer")
|
||||
* @ORM\Column(name="station_id", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $station_id;
|
||||
|
||||
/**
|
||||
* @ManyToOne(targetEntity="Station", inversedBy="media")
|
||||
* @ORM\ManyToOne(targetEntity="Station", inversedBy="media")
|
||||
* @JoinColumns({
|
||||
* @JoinColumn(name="station_id", referencedColumnName="id", onDelete="CASCADE")
|
||||
* })
|
||||
|
@ -43,13 +43,13 @@ class StationMedia
|
|||
protected $station;
|
||||
|
||||
/**
|
||||
* @Column(name="song_id", type="string", length=50, nullable=true)
|
||||
* @ORM\Column(name="song_id", type="string", length=50, nullable=true)
|
||||
* @var int|null
|
||||
*/
|
||||
protected $song_id;
|
||||
|
||||
/**
|
||||
* @ManyToOne(targetEntity="Song")
|
||||
* @ORM\ManyToOne(targetEntity="Song")
|
||||
* @JoinColumns({
|
||||
* @JoinColumn(name="song_id", referencedColumnName="id", onDelete="SET NULL")
|
||||
* })
|
||||
|
@ -58,97 +58,97 @@ class StationMedia
|
|||
protected $song;
|
||||
|
||||
/**
|
||||
* @Column(name="title", type="string", length=200, nullable=true)
|
||||
* @ORM\Column(name="title", type="string", length=200, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $title;
|
||||
|
||||
/**
|
||||
* @Column(name="artist", type="string", length=200, nullable=true)
|
||||
* @ORM\Column(name="artist", type="string", length=200, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $artist;
|
||||
|
||||
/**
|
||||
* @Column(name="album", type="string", length=200, nullable=true)
|
||||
* @ORM\Column(name="album", type="string", length=200, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $album;
|
||||
|
||||
/**
|
||||
* @Column(name="lyrics", type="text", nullable=true)
|
||||
* @ORM\Column(name="lyrics", type="text", nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $lyrics;
|
||||
|
||||
/**
|
||||
* @Column(name="isrc", type="string", length=15, nullable=true)
|
||||
* @ORM\Column(name="isrc", type="string", length=15, nullable=true)
|
||||
* @var string|null The track ISRC (International Standard Recording Code), used for licensing purposes.
|
||||
*/
|
||||
protected $isrc;
|
||||
|
||||
/**
|
||||
* @Column(name="length", type="integer")
|
||||
* @ORM\Column(name="length", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $length;
|
||||
|
||||
/**
|
||||
* @Column(name="length_text", type="string", length=10, nullable=true)
|
||||
* @ORM\Column(name="length_text", type="string", length=10, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $length_text;
|
||||
|
||||
/**
|
||||
* @Column(name="path", type="string", length=500, nullable=true)
|
||||
* @ORM\Column(name="path", type="string", length=500, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $path;
|
||||
|
||||
/**
|
||||
* @Column(name="mtime", type="integer", nullable=true)
|
||||
* @ORM\Column(name="mtime", type="integer", nullable=true)
|
||||
* @var int|null
|
||||
*/
|
||||
protected $mtime;
|
||||
|
||||
/**
|
||||
* @Column(name="fade_overlap", type="decimal", precision=3, scale=1, nullable=true)
|
||||
* @ORM\Column(name="fade_overlap", type="decimal", precision=3, scale=1, nullable=true)
|
||||
* @var float|null
|
||||
*/
|
||||
protected $fade_overlap;
|
||||
|
||||
/**
|
||||
* @Column(name="fade_in", type="decimal", precision=3, scale=1, nullable=true)
|
||||
* @ORM\Column(name="fade_in", type="decimal", precision=3, scale=1, nullable=true)
|
||||
* @var float|null
|
||||
*/
|
||||
protected $fade_in;
|
||||
|
||||
/**
|
||||
* @Column(name="fade_out", type="decimal", precision=3, scale=1, nullable=true)
|
||||
* @ORM\Column(name="fade_out", type="decimal", precision=3, scale=1, nullable=true)
|
||||
* @var float|null
|
||||
*/
|
||||
protected $fade_out;
|
||||
|
||||
/**
|
||||
* @Column(name="cue_in", type="decimal", precision=5, scale=1, nullable=true)
|
||||
* @ORM\Column(name="cue_in", type="decimal", precision=5, scale=1, nullable=true)
|
||||
* @var float|null
|
||||
*/
|
||||
protected $cue_in;
|
||||
|
||||
/**
|
||||
* @Column(name="cue_out", type="decimal", precision=5, scale=1, nullable=true)
|
||||
* @ORM\Column(name="cue_out", type="decimal", precision=5, scale=1, nullable=true)
|
||||
* @var float|null
|
||||
*/
|
||||
protected $cue_out;
|
||||
|
||||
/**
|
||||
* @OneToMany(targetEntity="StationPlaylistMedia", mappedBy="media")
|
||||
* @ORM\OneToMany(targetEntity="StationPlaylistMedia", mappedBy="media")
|
||||
* @var Collection
|
||||
*/
|
||||
protected $playlist_items;
|
||||
|
||||
/**
|
||||
* @OneToMany(targetEntity="StationMediaCustomField", mappedBy="media")
|
||||
* @ORM\OneToMany(targetEntity="StationMediaCustomField", mappedBy="media")
|
||||
* @var Collection
|
||||
*/
|
||||
protected $custom_fields;
|
||||
|
|
|
@ -6,49 +6,49 @@ use Doctrine\Common\Collections\ArrayCollection;
|
|||
use Doctrine\Common\Collections\Collection;
|
||||
|
||||
/**
|
||||
* @Table(name="station_media_custom_field")
|
||||
* @Entity
|
||||
* @ORM\Table(name="station_media_custom_field")
|
||||
* @ORM\Entity
|
||||
*/
|
||||
class StationMediaCustomField
|
||||
{
|
||||
use Traits\TruncateStrings;
|
||||
|
||||
/**
|
||||
* @Column(name="id", type="integer")
|
||||
* @Id
|
||||
* @GeneratedValue(strategy="IDENTITY")
|
||||
* @ORM\Column(name="id", type="integer")
|
||||
* @ORM\Id
|
||||
* @ORM\GeneratedValue(strategy="IDENTITY")
|
||||
* @var int
|
||||
*/
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @Column(name="media_id", type="integer")
|
||||
* @ORM\Column(name="media_id", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $media_id;
|
||||
|
||||
/**
|
||||
* @ManyToOne(targetEntity="StationMedia", inversedBy="metadata")
|
||||
* @ORM\ManyToOne(targetEntity="StationMedia", inversedBy="metadata")
|
||||
* @JoinColumn(name="media_id", referencedColumnName="id", onDelete="CASCADE")
|
||||
* @var StationMedia
|
||||
*/
|
||||
protected $media;
|
||||
|
||||
/**
|
||||
* @Column(name="field_id", type="integer")
|
||||
* @ORM\Column(name="field_id", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $field_id;
|
||||
|
||||
/**
|
||||
* @ManyToOne(targetEntity="CustomField", inversedBy="media_fields")
|
||||
* @ORM\ManyToOne(targetEntity="CustomField", inversedBy="media_fields")
|
||||
* @JoinColumn(name="field_id", referencedColumnName="id", onDelete="CASCADE")
|
||||
* @var CustomField
|
||||
*/
|
||||
protected $field;
|
||||
|
||||
/**
|
||||
* @Column(name="field_value", type="string", length=255, nullable=true)
|
||||
* @ORM\Column(name="field_value", type="string", length=255, nullable=true)
|
||||
* @var
|
||||
*/
|
||||
protected $value;
|
||||
|
|
|
@ -6,8 +6,8 @@ use App\Radio\Frontend\FrontendAbstract;
|
|||
use Psr\Http\Message\UriInterface;
|
||||
|
||||
/**
|
||||
* @Table(name="station_mounts")
|
||||
* @Entity(repositoryClass="App\Entity\Repository\StationMountRepository")
|
||||
* @ORM\Table(name="station_mounts")
|
||||
* @ORM\Entity(repositoryClass="App\Entity\Repository\StationMountRepository")
|
||||
* @HasLifecycleCallbacks
|
||||
*/
|
||||
class StationMount implements StationMountInterface
|
||||
|
@ -15,21 +15,21 @@ class StationMount implements StationMountInterface
|
|||
use Traits\TruncateStrings;
|
||||
|
||||
/**
|
||||
* @Column(name="id", type="integer")
|
||||
* @Id
|
||||
* @GeneratedValue(strategy="IDENTITY")
|
||||
* @ORM\Column(name="id", type="integer")
|
||||
* @ORM\Id
|
||||
* @ORM\GeneratedValue(strategy="IDENTITY")
|
||||
* @var int
|
||||
*/
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @Column(name="station_id", type="integer")
|
||||
* @ORM\Column(name="station_id", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $station_id;
|
||||
|
||||
/**
|
||||
* @ManyToOne(targetEntity="Station", inversedBy="mounts")
|
||||
* @ORM\ManyToOne(targetEntity="Station", inversedBy="mounts")
|
||||
* @JoinColumns({
|
||||
* @JoinColumn(name="station_id", referencedColumnName="id", onDelete="CASCADE")
|
||||
* })
|
||||
|
@ -38,67 +38,67 @@ class StationMount implements StationMountInterface
|
|||
protected $station;
|
||||
|
||||
/**
|
||||
* @Column(name="name", type="string", length=100)
|
||||
* @ORM\Column(name="name", type="string", length=100)
|
||||
* @var string
|
||||
*/
|
||||
protected $name;
|
||||
|
||||
/**
|
||||
* @Column(name="is_default", type="boolean")
|
||||
* @ORM\Column(name="is_default", type="boolean")
|
||||
* @var bool
|
||||
*/
|
||||
protected $is_default;
|
||||
|
||||
/**
|
||||
* @Column(name="is_public", type="boolean")
|
||||
* @ORM\Column(name="is_public", type="boolean")
|
||||
* @var bool
|
||||
*/
|
||||
protected $is_public;
|
||||
|
||||
/**
|
||||
* @Column(name="fallback_mount", type="string", length=100, nullable=true)
|
||||
* @ORM\Column(name="fallback_mount", type="string", length=100, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $fallback_mount;
|
||||
|
||||
/**
|
||||
* @Column(name="relay_url", type="string", length=255, nullable=true)
|
||||
* @ORM\Column(name="relay_url", type="string", length=255, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $relay_url;
|
||||
|
||||
/**
|
||||
* @Column(name="authhash", type="string", length=255, nullable=true)
|
||||
* @ORM\Column(name="authhash", type="string", length=255, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $authhash;
|
||||
|
||||
/**
|
||||
* @Column(name="enable_autodj", type="boolean")
|
||||
* @ORM\Column(name="enable_autodj", type="boolean")
|
||||
* @var bool
|
||||
*/
|
||||
protected $enable_autodj;
|
||||
|
||||
/**
|
||||
* @Column(name="autodj_format", type="string", length=10, nullable=true)
|
||||
* @ORM\Column(name="autodj_format", type="string", length=10, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $autodj_format;
|
||||
|
||||
/**
|
||||
* @Column(name="autodj_bitrate", type="smallint", nullable=true)
|
||||
* @ORM\Column(name="autodj_bitrate", type="smallint", nullable=true)
|
||||
* @var int|null
|
||||
*/
|
||||
protected $autodj_bitrate;
|
||||
|
||||
/**
|
||||
* @Column(name="custom_listen_url", type="string", length=255, nullable=true)
|
||||
* @ORM\Column(name="custom_listen_url", type="string", length=255, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $custom_listen_url;
|
||||
|
||||
/**
|
||||
* @Column(name="frontend_config", type="text", nullable=true)
|
||||
* @ORM\Column(name="frontend_config", type="text", nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $frontend_config;
|
||||
|
|
|
@ -7,8 +7,8 @@ use Doctrine\Common\Collections\Collection;
|
|||
use DateTime;
|
||||
|
||||
/**
|
||||
* @Table(name="station_playlists")
|
||||
* @Entity
|
||||
* @ORM\Table(name="station_playlists")
|
||||
* @ORM\Entity
|
||||
* @HasLifecycleCallbacks
|
||||
*/
|
||||
class StationPlaylist
|
||||
|
@ -33,21 +33,21 @@ class StationPlaylist
|
|||
public const ORDER_SEQUENTIAL = 'sequential';
|
||||
|
||||
/**
|
||||
* @Column(name="id", type="integer")
|
||||
* @Id
|
||||
* @GeneratedValue(strategy="IDENTITY")
|
||||
* @ORM\Column(name="id", type="integer")
|
||||
* @ORM\Id
|
||||
* @ORM\GeneratedValue(strategy="IDENTITY")
|
||||
* @var int
|
||||
*/
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @Column(name="station_id", type="integer")
|
||||
* @ORM\Column(name="station_id", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $station_id;
|
||||
|
||||
/**
|
||||
* @ManyToOne(targetEntity="Station", inversedBy="playlists")
|
||||
* @ORM\ManyToOne(targetEntity="Station", inversedBy="playlists")
|
||||
* @JoinColumns({
|
||||
* @JoinColumn(name="station_id", referencedColumnName="id", onDelete="CASCADE")
|
||||
* })
|
||||
|
@ -56,109 +56,109 @@ class StationPlaylist
|
|||
protected $station;
|
||||
|
||||
/**
|
||||
* @Column(name="name", type="string", length=200)
|
||||
* @ORM\Column(name="name", type="string", length=200)
|
||||
* @var string
|
||||
*/
|
||||
protected $name;
|
||||
|
||||
/**
|
||||
* @Column(name="type", type="string", length=50)
|
||||
* @ORM\Column(name="type", type="string", length=50)
|
||||
* @var string
|
||||
*/
|
||||
protected $type = self::TYPE_DEFAULT;
|
||||
|
||||
/**
|
||||
* @Column(name="source", type="string", length=50)
|
||||
* @ORM\Column(name="source", type="string", length=50)
|
||||
* @var string
|
||||
*/
|
||||
protected $source = self::SOURCE_SONGS;
|
||||
|
||||
/**
|
||||
* @Column(name="playback_order", type="string", length=50)
|
||||
* @ORM\Column(name="playback_order", type="string", length=50)
|
||||
* @var string
|
||||
*/
|
||||
protected $order = self::ORDER_SHUFFLE;
|
||||
|
||||
/**
|
||||
* @Column(name="remote_url", type="string", length=255, nullable=true)
|
||||
* @ORM\Column(name="remote_url", type="string", length=255, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $remote_url;
|
||||
|
||||
/**
|
||||
* @Column(name="remote_type", type="string", length=25, nullable=true)
|
||||
* @ORM\Column(name="remote_type", type="string", length=25, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $remote_type = self::REMOTE_TYPE_STREAM;
|
||||
|
||||
/**
|
||||
* @Column(name="is_enabled", type="boolean")
|
||||
* @ORM\Column(name="is_enabled", type="boolean")
|
||||
* @var bool
|
||||
*/
|
||||
protected $is_enabled = true;
|
||||
|
||||
/**
|
||||
* @Column(name="play_per_songs", type="smallint")
|
||||
* @ORM\Column(name="play_per_songs", type="smallint")
|
||||
* @var int
|
||||
*/
|
||||
protected $play_per_songs = 0;
|
||||
|
||||
/**
|
||||
* @Column(name="play_per_minutes", type="smallint")
|
||||
* @ORM\Column(name="play_per_minutes", type="smallint")
|
||||
* @var int
|
||||
*/
|
||||
protected $play_per_minutes = 0;
|
||||
|
||||
/**
|
||||
* @Column(name="schedule_start_time", type="smallint")
|
||||
* @ORM\Column(name="schedule_start_time", type="smallint")
|
||||
* @var int
|
||||
*/
|
||||
protected $schedule_start_time = 0;
|
||||
|
||||
/**
|
||||
* @Column(name="schedule_end_time", type="smallint")
|
||||
* @ORM\Column(name="schedule_end_time", type="smallint")
|
||||
* @var int
|
||||
*/
|
||||
protected $schedule_end_time = 0;
|
||||
|
||||
/**
|
||||
* @Column(name="schedule_days", type="string", length=50, nullable=true)
|
||||
* @ORM\Column(name="schedule_days", type="string", length=50, nullable=true)
|
||||
* @var string
|
||||
*/
|
||||
protected $schedule_days;
|
||||
|
||||
/**
|
||||
* @Column(name="play_once_time", type="smallint")
|
||||
* @ORM\Column(name="play_once_time", type="smallint")
|
||||
* @var int
|
||||
*/
|
||||
protected $play_once_time = 0;
|
||||
|
||||
/**
|
||||
* @Column(name="play_once_days", type="string", length=50, nullable=true)
|
||||
* @ORM\Column(name="play_once_days", type="string", length=50, nullable=true)
|
||||
* @var string
|
||||
*/
|
||||
protected $play_once_days;
|
||||
|
||||
/**
|
||||
* @Column(name="weight", type="smallint")
|
||||
* @ORM\Column(name="weight", type="smallint")
|
||||
* @var int
|
||||
*/
|
||||
protected $weight = 3;
|
||||
|
||||
/**
|
||||
* @Column(name="include_in_requests", type="boolean")
|
||||
* @ORM\Column(name="include_in_requests", type="boolean")
|
||||
* @var bool
|
||||
*/
|
||||
protected $include_in_requests = true;
|
||||
|
||||
/**
|
||||
* @Column(name="include_in_automation", type="boolean")
|
||||
* @ORM\Column(name="include_in_automation", type="boolean")
|
||||
* @var bool
|
||||
*/
|
||||
protected $include_in_automation = false;
|
||||
|
||||
/**
|
||||
* @OneToMany(targetEntity="StationPlaylistMedia", mappedBy="playlist", fetch="EXTRA_LAZY")
|
||||
* @ORM\OneToMany(targetEntity="StationPlaylistMedia", mappedBy="playlist", fetch="EXTRA_LAZY")
|
||||
* @OrderBy({"weight" = "ASC"})
|
||||
* @var Collection
|
||||
*/
|
||||
|
|
|
@ -2,27 +2,27 @@
|
|||
namespace App\Entity;
|
||||
|
||||
/**
|
||||
* @Table(name="station_playlist_media")
|
||||
* @Entity(repositoryClass="App\Entity\Repository\StationPlaylistMediaRepository")
|
||||
* @ORM\Table(name="station_playlist_media")
|
||||
* @ORM\Entity(repositoryClass="App\Entity\Repository\StationPlaylistMediaRepository")
|
||||
*/
|
||||
class StationPlaylistMedia
|
||||
{
|
||||
/**
|
||||
* @Column(name="id", type="integer")
|
||||
* @Id
|
||||
* @GeneratedValue(strategy="IDENTITY")
|
||||
* @ORM\Column(name="id", type="integer")
|
||||
* @ORM\Id
|
||||
* @ORM\GeneratedValue(strategy="IDENTITY")
|
||||
* @var int
|
||||
*/
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @Column(name="playlist_id", type="integer")
|
||||
* @ORM\Column(name="playlist_id", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $playlist_id;
|
||||
|
||||
/**
|
||||
* @ManyToOne(targetEntity="StationPlaylist", inversedBy="media_items", fetch="EAGER")
|
||||
* @ORM\ManyToOne(targetEntity="StationPlaylist", inversedBy="media_items", fetch="EAGER")
|
||||
* @JoinColumns({
|
||||
* @JoinColumn(name="playlist_id", referencedColumnName="id", onDelete="CASCADE")
|
||||
* })
|
||||
|
@ -31,13 +31,13 @@ class StationPlaylistMedia
|
|||
protected $playlist;
|
||||
|
||||
/**
|
||||
* @Column(name="media_id", type="integer")
|
||||
* @ORM\Column(name="media_id", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $media_id;
|
||||
|
||||
/**
|
||||
* @ManyToOne(targetEntity="StationMedia", inversedBy="playlist_items", fetch="EAGER")
|
||||
* @ORM\ManyToOne(targetEntity="StationMedia", inversedBy="playlist_items", fetch="EAGER")
|
||||
* @JoinColumns({
|
||||
* @JoinColumn(name="media_id", referencedColumnName="id", onDelete="CASCADE")
|
||||
* })
|
||||
|
@ -46,13 +46,13 @@ class StationPlaylistMedia
|
|||
protected $media;
|
||||
|
||||
/**
|
||||
* @Column(name="weight", type="smallint")
|
||||
* @ORM\Column(name="weight", type="smallint")
|
||||
* @var int
|
||||
*/
|
||||
protected $weight;
|
||||
|
||||
/**
|
||||
* @Column(name="last_played", type="integer")
|
||||
* @ORM\Column(name="last_played", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $last_played;
|
||||
|
|
|
@ -5,8 +5,8 @@ use App\Radio\Adapters;
|
|||
use App\Radio\Remote\RemoteAbstract;
|
||||
|
||||
/**
|
||||
* @Table(name="station_remotes")
|
||||
* @Entity()
|
||||
* @ORM\Table(name="station_remotes")
|
||||
* @ORM\Entity()
|
||||
* @HasLifecycleCallbacks
|
||||
*/
|
||||
class StationRemote implements StationMountInterface
|
||||
|
@ -14,21 +14,21 @@ class StationRemote implements StationMountInterface
|
|||
use Traits\TruncateStrings;
|
||||
|
||||
/**
|
||||
* @Column(name="id", type="integer")
|
||||
* @Id
|
||||
* @GeneratedValue(strategy="IDENTITY")
|
||||
* @ORM\Column(name="id", type="integer")
|
||||
* @ORM\Id
|
||||
* @ORM\GeneratedValue(strategy="IDENTITY")
|
||||
* @var int
|
||||
*/
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @Column(name="station_id", type="integer")
|
||||
* @ORM\Column(name="station_id", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $station_id;
|
||||
|
||||
/**
|
||||
* @ManyToOne(targetEntity="Station", inversedBy="remotes")
|
||||
* @ORM\ManyToOne(targetEntity="Station", inversedBy="remotes")
|
||||
* @JoinColumns({
|
||||
* @JoinColumn(name="station_id", referencedColumnName="id", onDelete="CASCADE")
|
||||
* })
|
||||
|
@ -37,67 +37,67 @@ class StationRemote implements StationMountInterface
|
|||
protected $station;
|
||||
|
||||
/**
|
||||
* @Column(name="type", type="string", length=50)
|
||||
* @ORM\Column(name="type", type="string", length=50)
|
||||
* @var string
|
||||
*/
|
||||
protected $type;
|
||||
|
||||
/**
|
||||
* @Column(name="enable_autodj", type="boolean")
|
||||
* @ORM\Column(name="enable_autodj", type="boolean")
|
||||
* @var bool
|
||||
*/
|
||||
protected $enable_autodj = false;
|
||||
|
||||
/**
|
||||
* @Column(name="autodj_format", type="string", length=10, nullable=true)
|
||||
* @ORM\Column(name="autodj_format", type="string", length=10, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $autodj_format;
|
||||
|
||||
/**
|
||||
* @Column(name="autodj_bitrate", type="smallint", nullable=true)
|
||||
* @ORM\Column(name="autodj_bitrate", type="smallint", nullable=true)
|
||||
* @var int|null
|
||||
*/
|
||||
protected $autodj_bitrate;
|
||||
|
||||
/**
|
||||
* @Column(name="custom_listen_url", type="string", length=255, nullable=true)
|
||||
* @ORM\Column(name="custom_listen_url", type="string", length=255, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $custom_listen_url;
|
||||
|
||||
/**
|
||||
* @Column(name="url", type="string", length=255, nullable=true)
|
||||
* @ORM\Column(name="url", type="string", length=255, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $url;
|
||||
|
||||
/**
|
||||
* @Column(name="mount", type="string", length=150, nullable=true)
|
||||
* @ORM\Column(name="mount", type="string", length=150, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $mount;
|
||||
|
||||
/**
|
||||
* @Column(name="source_port", type="smallint", nullable=true)
|
||||
* @ORM\Column(name="source_port", type="smallint", nullable=true)
|
||||
* @var int|null
|
||||
*/
|
||||
protected $source_port;
|
||||
|
||||
/**
|
||||
* @Column(name="source_mount", type="string", length=150, nullable=true)
|
||||
* @ORM\Column(name="source_mount", type="string", length=150, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $source_mount;
|
||||
|
||||
/**
|
||||
* @Column(name="source_username", type="string", length=100, nullable=true)
|
||||
* @ORM\Column(name="source_username", type="string", length=100, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $source_username;
|
||||
|
||||
/**
|
||||
* @Column(name="source_password", type="string", length=100, nullable=true)
|
||||
* @ORM\Column(name="source_password", type="string", length=100, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $source_password;
|
||||
|
|
|
@ -2,27 +2,27 @@
|
|||
namespace App\Entity;
|
||||
|
||||
/**
|
||||
* @Table(name="station_requests")
|
||||
* @Entity(repositoryClass="App\Entity\Repository\StationRequestRepository")
|
||||
* @ORM\Table(name="station_requests")
|
||||
* @ORM\Entity(repositoryClass="App\Entity\Repository\StationRequestRepository")
|
||||
*/
|
||||
class StationRequest
|
||||
{
|
||||
/**
|
||||
* @Column(name="id", type="integer")
|
||||
* @Id
|
||||
* @GeneratedValue(strategy="IDENTITY")
|
||||
* @ORM\Column(name="id", type="integer")
|
||||
* @ORM\Id
|
||||
* @ORM\GeneratedValue(strategy="IDENTITY")
|
||||
* @var int
|
||||
*/
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @Column(name="station_id", type="integer")
|
||||
* @ORM\Column(name="station_id", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $station_id;
|
||||
|
||||
/**
|
||||
* @ManyToOne(targetEntity="Station", inversedBy="media")
|
||||
* @ORM\ManyToOne(targetEntity="Station", inversedBy="media")
|
||||
* @JoinColumns({
|
||||
* @JoinColumn(name="station_id", referencedColumnName="id", onDelete="CASCADE")
|
||||
* })
|
||||
|
@ -31,13 +31,13 @@ class StationRequest
|
|||
protected $station;
|
||||
|
||||
/**
|
||||
* @Column(name="track_id", type="integer")
|
||||
* @ORM\Column(name="track_id", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $track_id;
|
||||
|
||||
/**
|
||||
* @ManyToOne(targetEntity="StationMedia")
|
||||
* @ORM\ManyToOne(targetEntity="StationMedia")
|
||||
* @JoinColumns({
|
||||
* @JoinColumn(name="track_id", referencedColumnName="id", onDelete="CASCADE")
|
||||
* })
|
||||
|
@ -46,19 +46,19 @@ class StationRequest
|
|||
protected $track;
|
||||
|
||||
/**
|
||||
* @Column(name="timestamp", type="integer")
|
||||
* @ORM\Column(name="timestamp", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $timestamp;
|
||||
|
||||
/**
|
||||
* @Column(name="played_at", type="integer")
|
||||
* @ORM\Column(name="played_at", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $played_at;
|
||||
|
||||
/**
|
||||
* @Column(name="ip", type="string", length=40)
|
||||
* @ORM\Column(name="ip", type="string", length=40)
|
||||
* @var string
|
||||
*/
|
||||
protected $ip;
|
||||
|
|
|
@ -4,8 +4,8 @@ namespace App\Entity;
|
|||
/**
|
||||
* Station streamers (DJ accounts) allowed to broadcast to a station.
|
||||
*
|
||||
* @Table(name="station_streamers")
|
||||
* @Entity(repositoryClass="App\Entity\Repository\StationStreamerRepository")
|
||||
* @ORM\Table(name="station_streamers")
|
||||
* @ORM\Entity(repositoryClass="App\Entity\Repository\StationStreamerRepository")
|
||||
* @HasLifecycleCallbacks
|
||||
*/
|
||||
class StationStreamer
|
||||
|
@ -13,21 +13,21 @@ class StationStreamer
|
|||
use Traits\TruncateStrings;
|
||||
|
||||
/**
|
||||
* @Column(name="id", type="integer")
|
||||
* @Id
|
||||
* @GeneratedValue(strategy="IDENTITY")
|
||||
* @ORM\Column(name="id", type="integer")
|
||||
* @ORM\Id
|
||||
* @ORM\GeneratedValue(strategy="IDENTITY")
|
||||
* @var int
|
||||
*/
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @Column(name="station_id", type="integer")
|
||||
* @ORM\Column(name="station_id", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $station_id;
|
||||
|
||||
/**
|
||||
* @ManyToOne(targetEntity="Station", inversedBy="streamers")
|
||||
* @ORM\ManyToOne(targetEntity="Station", inversedBy="streamers")
|
||||
* @JoinColumns({
|
||||
* @JoinColumn(name="station_id", referencedColumnName="id", onDelete="CASCADE")
|
||||
* })
|
||||
|
@ -36,37 +36,37 @@ class StationStreamer
|
|||
protected $station;
|
||||
|
||||
/**
|
||||
* @Column(name="streamer_username", type="string", length=50, nullable=false)
|
||||
* @ORM\Column(name="streamer_username", type="string", length=50, nullable=false)
|
||||
* @var string
|
||||
*/
|
||||
protected $streamer_username;
|
||||
|
||||
/**
|
||||
* @Column(name="streamer_password", type="string", length=50, nullable=false)
|
||||
* @ORM\Column(name="streamer_password", type="string", length=50, nullable=false)
|
||||
* @var string
|
||||
*/
|
||||
protected $streamer_password;
|
||||
|
||||
/**
|
||||
* @Column(name="display_name", type="string", length=255, nullable=true)
|
||||
* @ORM\Column(name="display_name", type="string", length=255, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $display_name;
|
||||
|
||||
/**
|
||||
* @Column(name="comments", type="text", nullable=true)
|
||||
* @ORM\Column(name="comments", type="text", nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $comments;
|
||||
|
||||
/**
|
||||
* @Column(name="is_active", type="boolean", nullable=false)
|
||||
* @ORM\Column(name="is_active", type="boolean", nullable=false)
|
||||
* @var bool
|
||||
*/
|
||||
protected $is_active;
|
||||
|
||||
/**
|
||||
* @Column(name="reactivate_at", type="integer", nullable=true)
|
||||
* @ORM\Column(name="reactivate_at", type="integer", nullable=true)
|
||||
* @var int|null
|
||||
*/
|
||||
protected $reactivate_at;
|
||||
|
|
|
@ -2,29 +2,29 @@
|
|||
namespace App\Entity;
|
||||
|
||||
/**
|
||||
* @Entity
|
||||
* @Table(name="station_webhooks", options={"charset"="utf8mb4", "collate"="utf8mb4_unicode_ci"})
|
||||
* @ORM\Entity
|
||||
* @ORM\Table(name="station_webhooks", options={"charset"="utf8mb4", "collate"="utf8mb4_unicode_ci"})
|
||||
*/
|
||||
class StationWebhook
|
||||
{
|
||||
use Traits\TruncateStrings;
|
||||
|
||||
/**
|
||||
* @Column(name="id", type="integer")
|
||||
* @Id
|
||||
* @GeneratedValue(strategy="IDENTITY")
|
||||
* @ORM\Column(name="id", type="integer")
|
||||
* @ORM\Id
|
||||
* @ORM\GeneratedValue(strategy="IDENTITY")
|
||||
* @var int
|
||||
*/
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @Column(name="station_id", type="integer")
|
||||
* @ORM\Column(name="station_id", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $station_id;
|
||||
|
||||
/**
|
||||
* @ManyToOne(targetEntity="Station", inversedBy="webhooks")
|
||||
* @ORM\ManyToOne(targetEntity="Station", inversedBy="webhooks")
|
||||
* @JoinColumns({
|
||||
* @JoinColumn(name="station_id", referencedColumnName="id", onDelete="CASCADE")
|
||||
* })
|
||||
|
@ -33,31 +33,31 @@ class StationWebhook
|
|||
protected $station;
|
||||
|
||||
/**
|
||||
* @Column(name="name", type="string", length=100, nullable=true)
|
||||
* @ORM\Column(name="name", type="string", length=100, nullable=true)
|
||||
* @var string|null The nickname of the webhook connector.
|
||||
*/
|
||||
protected $name;
|
||||
|
||||
/**
|
||||
* @Column(name="type", type="string", length=100)
|
||||
* @ORM\Column(name="type", type="string", length=100)
|
||||
* @var string The type of webhook connector to use.
|
||||
*/
|
||||
protected $type;
|
||||
|
||||
/**
|
||||
* @Column(name="is_enabled", type="boolean")
|
||||
* @ORM\Column(name="is_enabled", type="boolean")
|
||||
* @var bool
|
||||
*/
|
||||
protected $is_enabled;
|
||||
|
||||
/**
|
||||
* @Column(name="triggers", type="json_array", nullable=true)
|
||||
* @ORM\Column(name="triggers", type="json_array", nullable=true)
|
||||
* @var array List of events that should trigger the webhook notification.
|
||||
*/
|
||||
protected $triggers;
|
||||
|
||||
/**
|
||||
* @Column(name="config", type="json_array", nullable=true)
|
||||
* @ORM\Column(name="config", type="json_array", nullable=true)
|
||||
* @var array Detailed webhook configuration (if applicable)
|
||||
*/
|
||||
protected $config;
|
||||
|
|
|
@ -4,7 +4,7 @@ namespace App\Entity\Traits;
|
|||
trait UniqueId
|
||||
{
|
||||
/**
|
||||
* @Column(name="unique_id", type="string", length=25, nullable=true)
|
||||
* @ORM\Column(name="unique_id", type="string", length=25, nullable=true)
|
||||
* @var string
|
||||
*/
|
||||
protected $unique_id;
|
||||
|
|
|
@ -6,8 +6,8 @@ use Doctrine\Common\Collections\Collection;
|
|||
use Doctrine\ORM\Mapping as ORM;
|
||||
|
||||
/**
|
||||
* @Table(name="users", uniqueConstraints={@UniqueConstraint(name="email_idx", columns={"email"})})
|
||||
* @Entity(repositoryClass="App\Entity\Repository\UserRepository")
|
||||
* @ORM\Table(name="users", uniqueConstraints={@UniqueConstraint(name="email_idx", columns={"email"})})
|
||||
* @ORM\Entity(repositoryClass="App\Entity\Repository\UserRepository")
|
||||
* @HasLifecycleCallbacks
|
||||
*/
|
||||
class User
|
||||
|
@ -15,64 +15,64 @@ class User
|
|||
use Traits\TruncateStrings;
|
||||
|
||||
/**
|
||||
* @Column(name="uid", type="integer")
|
||||
* @Id
|
||||
* @GeneratedValue(strategy="AUTO")
|
||||
* @ORM\Column(name="uid", type="integer")
|
||||
* @ORM\Id
|
||||
* @ORM\GeneratedValue(strategy="AUTO")
|
||||
* @var int
|
||||
*/
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @Column(name="email", type="string", length=100, nullable=true)
|
||||
* @ORM\Column(name="email", type="string", length=100, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $email;
|
||||
|
||||
/**
|
||||
* @Column(name="auth_password", type="string", length=255, nullable=true)
|
||||
* @ORM\Column(name="auth_password", type="string", length=255, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $auth_password;
|
||||
|
||||
/**
|
||||
* @Column(name="name", type="string", length=100, nullable=true)
|
||||
* @ORM\Column(name="name", type="string", length=100, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $name;
|
||||
|
||||
/**
|
||||
* @Column(name="timezone", type="string", length=100, nullable=true)
|
||||
* @ORM\Column(name="timezone", type="string", length=100, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $timezone;
|
||||
|
||||
/**
|
||||
* @Column(name="locale", type="string", length=25, nullable=true)
|
||||
* @ORM\Column(name="locale", type="string", length=25, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $locale;
|
||||
|
||||
/**
|
||||
* @Column(name="theme", type="string", length=25, nullable=true)
|
||||
* @ORM\Column(name="theme", type="string", length=25, nullable=true)
|
||||
* @var string|null
|
||||
*/
|
||||
protected $theme;
|
||||
|
||||
/**
|
||||
* @Column(name="created_at", type="integer")
|
||||
* @ORM\Column(name="created_at", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $created_at;
|
||||
|
||||
/**
|
||||
* @Column(name="updated_at", type="integer")
|
||||
* @ORM\Column(name="updated_at", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
protected $updated_at;
|
||||
|
||||
/**
|
||||
* @ManyToMany(targetEntity="Role", inversedBy="users", fetch="EAGER")
|
||||
* @JoinTable(name="user_has_role",
|
||||
* @ORM\ManyToMany(targetEntity="Role", inversedBy="users", fetch="EAGER")
|
||||
* @ORM\JoinTable(name="user_has_role",
|
||||
* joinColumns={@JoinColumn(name="user_id", referencedColumnName="uid", onDelete="CASCADE")},
|
||||
* inverseJoinColumns={@JoinColumn(name="role_id", referencedColumnName="id", onDelete="CASCADE")}
|
||||
* )
|
||||
|
@ -81,7 +81,7 @@ class User
|
|||
protected $roles;
|
||||
|
||||
/**
|
||||
* @OneToMany(targetEntity="ApiKey", mappedBy="user")
|
||||
* @ORM\OneToMany(targetEntity="ApiKey", mappedBy="user")
|
||||
* @var Collection
|
||||
*/
|
||||
protected $api_keys;
|
||||
|
|
Loading…
Reference in New Issue