<?php
namespace App\Entity;
use App\Entity\Common\RoleInterface;
use App\Repository\UserWorkroomArenaRepository;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: UserWorkroomArenaRepository::class)]
class UserWorkroomArena
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column(type: 'integer')]
private $id;
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'userWorkroomArenas')]
#[ORM\JoinColumn(nullable: false)]
private $user;
#[ORM\ManyToOne(targetEntity: WorkroomArena::class, inversedBy: 'userWorkroomArenas')]
#[ORM\JoinColumn(nullable: false)]
private $workroomArena;
#[ORM\Column(type: 'integer', nullable: true)]
private $role;
#[ORM\Column(type: 'boolean', options: ['default' => 0])]
private $status;
public function getId(): ?int
{
return $this->id;
}
public function getUser(): ?User
{
return $this->user;
}
public function setUser(?User $user): self
{
$this->user = $user;
return $this;
}
public function getWorkroomArena(): ?WorkroomArena
{
return $this->workroomArena;
}
public function setWorkroomArena(?WorkroomArena $workroomArena): self
{
$this->workroomArena = $workroomArena;
return $this;
}
public function getRole(): ?int
{
return $this->role;
}
public function setRole(?int $role): self
{
$this->role = $role;
return $this;
}
/**
* @return false|int|string|null
*/
public function getRoleName()
{
return in_array($this->role, RoleInterface::ROLE_NUMBERS) ?
array_search($this->role, RoleInterface::ROLE_NUMBERS) : null;
}
public function getStatus(): ?bool
{
return $this->status;
}
public function setStatus(bool $status): self
{
$this->status = $status;
return $this;
}
}