<?php
namespace App\CasinoBundle\Entity;
use App\CmsBundle\Entity\TimeStampedTrait;
use App\ProfileBundle\Entity\User;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Table(
* name="user_bonus",
* uniqueConstraints={@ORM\UniqueConstraint(name="unique_user_bonus", columns={"user_id", "bonus_id"})}
* )
*
* @ORM\Entity(repositoryClass="App\CasinoBundle\Repository\UserBonusRepository")
*/
class UserBonus
{
use TimeStampedTrait;
/**
* @ORM\Column(name="id", type="bigint", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private int $id;
/**
* @ORM\ManyToOne(
* targetEntity="App\ProfileBundle\Entity\User",
* inversedBy="ownedBonuses"
* )
* @ORM\JoinColumn(nullable=false, onDelete="CASCADE")
*/
private ?User $user = null;
/**
* @ORM\ManyToOne(
* targetEntity="App\CasinoBundle\Entity\NewBonus",
* inversedBy="bonusOwners"
* )
* @ORM\JoinColumn(nullable=false, onDelete="CASCADE")
*/
private ?NewBonus $bonus = null;
/**
* @ORM\Column(name="is_mystery", type="boolean", nullable=false, options={"default"=false})
*/
private bool $isMystery = false;
/**
* @return ?User
*/
public function getUser(): ?User
{
return $this->user;
}
/**
* @param ?User $user
* @return $this
*/
public function setUser(?User $user): self
{
$this->user = $user;
return $this;
}
/**
* @return ?NewBonus
*/
public function getBonus(): ?NewBonus
{
return $this->bonus;
}
/**
* @param ?NewBonus $bonus
* @return $this
*/
public function setBonus(?NewBonus $bonus): self
{
$this->bonus = $bonus;
return $this;
}
}