<?php
namespace App\Entity\Channel;
use App\Entity\Account\User;
use App\Repository\Channel\ChannelRepository;
use Doctrine\ORM\Mapping as ORM;
use Nellapp\Bundle\SDKBundle\Channel\Entity\ChannelInterface;
use Nellapp\Bundle\SDKBundle\Channel\Entity\ChannelMethodTrait;
use Nellapp\Bundle\SDKBundle\Channel\Entity\ChannelPropertyTrait;
use Symfony\Component\Serializer\Annotation as Serial;
#[ORM\Entity(repositoryClass: ChannelRepository::class)]
#[ORM\Table(name: 'channel_channels')]
class Channel implements ChannelInterface
{
use ChannelMethodTrait;
use ChannelPropertyTrait;
#[ORM\Id, ORM\Column(type: 'string', length: 36)]
#[Serial\Groups(['GlobalJSVariable', 'Channel'])]
private ?string $id = null;
#[ORM\Column(type: 'string')]
#[Serial\Groups(['GlobalJSVariable', 'Channel'])]
private ?string $name = null;
#[ORM\Column(type: 'string', nullable: true)]
#[Serial\Groups(['Channel', 'GlobalJSVariable'])]
private ?string $imagePath = null;
#[ORM\Column(type: 'boolean', nullable: false, options: ['default' => false])]
private bool $paymentAlert = false;
#[ORM\ManyToOne(targetEntity: User::class)]
private ?User $owner = null;
#[ORM\Column(type: 'boolean', nullable: false, options: ['default' => false])]
private bool $enabledIndexing = false;
#[ORM\Column(type: 'boolean', nullable: false, options: ['default' => false])]
private bool $enabledChatBot = false;
}