You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
185 lines
3.7 KiB
185 lines
3.7 KiB
6 years ago
|
<?php
|
||
|
|
||
|
namespace App\Entity;
|
||
|
|
||
|
use Doctrine\Common\Collections\ArrayCollection;
|
||
|
use Doctrine\DBAL\Connection;
|
||
|
use Doctrine\ORM\Event\LifecycleEventArgs;
|
||
|
use Doctrine\ORM\Mapping as ORM;
|
||
|
|
||
|
/**
|
||
|
* @ORM\Entity(repositoryClass="App\Repository\EndpointRepository")
|
||
|
* @ORM\HasLifecycleCallbacks()
|
||
|
*/
|
||
|
class Endpoint implements \JsonSerializable
|
||
|
{
|
||
|
/**
|
||
|
* @ORM\Id()
|
||
|
* @ORM\GeneratedValue()
|
||
|
* @ORM\Column(type="integer")
|
||
|
* @var integer
|
||
|
*/
|
||
|
private $id;
|
||
|
|
||
|
/**
|
||
|
* @ORM\Column(type="string", length=255)
|
||
|
* @var string
|
||
|
*/
|
||
|
private $name;
|
||
|
|
||
|
/**
|
||
|
* @ORM\Column(type="string", length=255)
|
||
|
* @var string
|
||
|
*/
|
||
|
private $type;
|
||
|
|
||
|
/**
|
||
|
* @ORM\Column(type="string", length=255)
|
||
|
* @var string
|
||
|
*/
|
||
|
private $server;
|
||
|
|
||
|
/**
|
||
|
* @ORM\Column(name="streamKey", type="string", length=255)
|
||
|
* @var string
|
||
|
*/
|
||
|
private $streamKey;
|
||
|
|
||
|
/**
|
||
|
* @ORM\ManyToOne(targetEntity="App\Entity\Streams", inversedBy="endpoints")
|
||
|
* @ORM\JoinColumn(name="stream_id", referencedColumnName="id")
|
||
|
*/
|
||
|
private $stream;
|
||
|
|
||
|
/**
|
||
|
* @return int
|
||
|
* @author Soner Sayakci <shyim@posteo.de>
|
||
|
*/
|
||
|
public function getId(): int
|
||
|
{
|
||
|
return $this->id;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return string
|
||
|
* @author Soner Sayakci <shyim@posteo.de>
|
||
|
*/
|
||
|
public function getName(): ?string
|
||
|
{
|
||
|
return $this->name;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @param string $name
|
||
|
* @return Endpoint
|
||
|
* @author Soner Sayakci <shyim@posteo.de>
|
||
|
*/
|
||
|
public function setName($name): self
|
||
|
{
|
||
|
$this->name = $name;
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return null|string
|
||
|
* @author Soner Sayakci <shyim@posteo.de>
|
||
|
*/
|
||
|
public function getType(): ?string
|
||
|
{
|
||
|
return $this->type;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @param string $type
|
||
|
* @return Endpoint
|
||
|
* @author Soner Sayakci <shyim@posteo.de>
|
||
|
*/
|
||
|
public function setType(string $type): self
|
||
|
{
|
||
|
$this->type = $type;
|
||
|
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return null|string
|
||
|
* @author Soner Sayakci <shyim@posteo.de>
|
||
|
*/
|
||
|
public function getServer(): ?string
|
||
|
{
|
||
|
return $this->server;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @param string $server
|
||
|
* @return Endpoint
|
||
|
* @author Soner Sayakci <shyim@posteo.de>
|
||
|
*/
|
||
|
public function setServer(string $server): self
|
||
|
{
|
||
|
$this->server = $server;
|
||
|
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return null|string
|
||
|
* @author Soner Sayakci <shyim@posteo.de>
|
||
|
*/
|
||
|
public function getStreamKey(): ?string
|
||
|
{
|
||
|
return $this->streamKey;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @param string $streamKey
|
||
|
* @return Endpoint
|
||
|
* @author Soner Sayakci <shyim@posteo.de>
|
||
|
*/
|
||
|
public function setStreamKey(string $streamKey): self
|
||
|
{
|
||
|
$this->streamKey = $streamKey;
|
||
|
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return Streams
|
||
|
* @author Soner Sayakci <shyim@posteo.de>
|
||
|
*/
|
||
|
public function getStream(): ?Streams
|
||
|
{
|
||
|
return $this->stream;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @param mixed $stream
|
||
|
* @author Soner Sayakci <shyim@posteo.de>
|
||
|
*/
|
||
|
public function setStream($stream): void
|
||
|
{
|
||
|
$this->stream = $stream;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @ORM\PostPersist()
|
||
|
* @ORM\PostUpdate()
|
||
|
* @author Soner Sayakci <shyim@posteo.de>
|
||
|
* @param LifecycleEventArgs $args
|
||
|
* @throws \Doctrine\DBAL\DBALException
|
||
|
*/
|
||
|
public function updateConfig(LifecycleEventArgs $args): void
|
||
|
{
|
||
|
$args->getEntityManager()->getConnection()->insert('queue', ['task' => 'generate_config']);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return array|mixed
|
||
|
* @author Soner Sayakci <shyim@posteo.de>
|
||
|
*/
|
||
|
public function jsonSerialize()
|
||
|
{
|
||
|
return get_object_vars($this);
|
||
|
}
|
||
|
}
|