<?php
namespace App\Entity;
use App\Repository\InternalSecurityAnswerRepository;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Validator\Constraints as Assert;
#[ORM\Entity(repositoryClass: InternalSecurityAnswerRepository::class)]
#[UniqueEntity(fields: ['date', 'organisation', 'internalSecurityQuestion'])]
#[ORM\UniqueConstraint(name: 'unique_internal_answer', columns: ["date", "organisation_id", "internal_security_question_id"])]
class InternalSecurityAnswer extends BasicEntity
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\ManyToOne(inversedBy: 'internalSecurityAnswers')]
#[ORM\JoinColumn(nullable: false)]
private ?Organisation $organisation = null;
#[ORM\ManyToOne(inversedBy: 'internalSecurityAnswers')]
#[ORM\JoinColumn(nullable: false)]
private ?InternalSecurityQuestion $internalSecurityQuestion = null;
#[ORM\Column(type: Types::DATE_MUTABLE)]
#[Assert\Unique]
private ?\DateTime $date = null;
#[ORM\Column]
#[Field(name: "is_correct", type: "boolean")]
private ?bool $isCorrect = null;
public function getId(): ?int
{
return $this->id;
}
public function getOrganisation(): ?Organisation
{
return $this->organisation;
}
public function setOrganisation(?Organisation $organisation): static
{
$this->organisation = $organisation;
return $this;
}
public function setInternalSecurityQuestion(?InternalSecurityQuestion $internalSecurityQuestion): static
{
$this->internalSecurityQuestion = $internalSecurityQuestion;
return $this;
}
public function getDate(): ?\DateTime
{
return $this->date;
}
public function setDate(?\DateTime $date): static
{
$this->date = $date;
return $this;
}
public function getIsCorrect(): ?bool
{
return $this->isCorrect;
}
public function setIsCorrect(bool $isCorrect): static
{
$this->isCorrect = $isCorrect;
return $this;
}
}