Add entity for conservation place (draft)

This commit is contained in:
Nicolò P 2024-11-12 17:18:01 +01:00
parent 458fd3e562
commit 184991e8cf

View File

@ -0,0 +1,312 @@
<?php
namespace App\Entity;
use App\RecordInterface;
use App\Repository\ConservationRepository;
use DateTimeImmutable;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\DBAL\Types\Types;
use App\RecordStatus;
use Doctrine\Common\Collections\Collection as DoctrineCollection;
#[ORM\Entity(repositoryClass: ConservationRepository::class)]
#[ORM\Table(name: 'collection')]
class ConservationPlace implements RecordInterface
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column(name: 'id')]
private ?int $id = null;
#[ORM\Column(name: 'stato')]
private ?int $status = null;
#[ORM\Column(name: 'modif')]
private ?DateTimeImmutable $modifiedAt = null;
#[ORM\Column(name: 'luogo_cons', type: Types::TEXT)]
private ?string $place = null;
//#[ORM\Column(name: 'coord_cons', type: Types::TEXT)]
private ?string $coordinates = null;
#[ORM\Column(name: 'reg_cons', type: Types::TEXT)]
private ?string $region = null;
#[ORM\Column(name: 'prov_cons', type: Types::TEXT)]
private ?int $province = null;
#[ORM\Column(name: 'com_cons', type: Types::TEXT)]
private ?int $municipality = null;
#[ORM\Column(name: 'desc_cons', type: Types::TEXT)]
private ?string $description = null;
#[ORM\Column(name: 'desc_br_cons', type: Types::TEXT)]
private ?string $shortDescription = null;
#[ORM\Column(name: 'id_est_cons', type: Types::TEXT)]
private ?string $externalIdentifier = null;
#[ORM\Column(name: 'link_cons', type: Types::TEXT)]
private ?string $link = null;
#[ORM\Column(name: 'sogg_cons', type: Types::TEXT)]
private ?string $subjectHeadings = null;
#[ORM\Column(name: 'uri_cons', type: Types::TEXT)]
private ?string $uri = null;
#[ORM\Column(name: 'resp', length: 100)]
private ?string $owner = null;
#[ORM\Column(name: 'note_cons', type: Types::TEXT)]
private ?string $notes = null;
#[ORM\Column(length: 100, name: 'editor')]
private ?string $editor = null;
#[ORM\Column(length: 100, name: 'creator')]
private ?string $creator = null;
// TODO: These are references to vocabs
#[ORM\Column(name: 'dir_aut_cons')]
private ?int $authorRights = null;
#[ORM\Column(name: 'dir_acc_cons')]
private ?int $accessRights = null;
#[ORM\Column(name: 'lic_cons')]
private ?int $license = null;
#[ORM\JoinTable(name: 'rel_conservazione_collezione')]
#[ORM\JoinColumn(name: 'Conservazione_id_cons', referencedColumnName: 'id')]
#[ORM\InverseJoinColumn(name: 'Collezione_id_coll', referencedColumnName: 'id')]
#[ORM\ManyToMany(targetEntity: Collection::class, inversedBy: 'conservation_place')]
private DoctrineCollection $collections;
private bool $isEditable = false;
public function getId(): ?int
{
return $this->id;
}
public function getStatus(): ?string
{
$status = RecordStatus::tryFrom($this->status);
return $status->toString();
}
public function setStatus(int $status): static
{
$this->status = $status;
return $this;
}
public function getModifiedAt(): ?DateTimeImmutable
{
return $this->modifiedAt;
}
public function setModifiedAt(DateTimeImmutable $modifiedAt): static
{
$this->modifiedAt = $modifiedAt;
return $this;
}
public function getOwner(): ?string
{
return $this->owner;
}
public function setOwner(string $owner): static
{
$this->owner = $owner;
return $this;
}
public function getEditor(): ?string
{
return $this->editor;
}
public function setEditor(string $editor): static
{
$this->editor = $editor;
return $this;
}
public function getCreator(): ?string
{
return $this->creator;
}
public function setCreator(string $creator): static
{
$this->creator = $creator;
return $this;
}
public function getPlace(): ?string
{
return $this->place;
}
public function setPlace(string $place): static
{
$this->place = $place;
return $this;
}
public function getRegion(): ?string
{
return $this->region;
}
public function setRegion(string $region): static
{
$this->region = $region;
return $this;
}
public function getProvince(): ?string
{
return $this->province;
}
public function setProvince(string $province): static
{
$this->province = $province;
return $this;
}
public function getMunicipality(): ?string
{
return $this->municipality;
}
public function setMunicipality(string $municipality): static
{
$this->municipality = $municipality;
return $this;
}
public function getDescription(): ?string
{
return $this->description;
}
public function setDescription(string $description): static
{
$this->description = $description;
return $this;
}
public function getShortDescription(): ?string
{
return $this->shortDescription;
}
public function setShortDescription(string $shortDescription): static
{
$this->shortDescription = $shortDescription;
return $this;
}
public function getExternalIdentifier(): ?string
{
return $this->externalIdentifier;
}
public function setExternalIdentifier(string $externalIdentifier): static
{
$this->externalIdentifier = $externalIdentifier;
return $this;
}
public function getLink(): ?string
{
return $this->link;
}
public function setLink(string $link): static
{
$this->link = $link;
return $this;
}
public function getSubjectHeadings(): ?string
{
return $this->subjectHeadings;
}
public function setSubjectHeadings(string $subjectHeadings): static
{
$this->subjectHeadings = $subjectHeadings;
return $this;
}
public function getUri(): ?string
{
return $this->uri;
}
public function setUri(string $uri): static
{
$this->uri = $uri;
return $this;
}
public function getNotes(): ?string
{
return $this->notes;
}
public function setNotes(string $notes): static
{
$this->notes = $notes;
return $this;
}
public function getCollections(): ?DoctrineCollection
{
return $this->collections;
}
public function setBibliographies(DoctrineCollection $collections): static
{
$this->collections = $collections;
return $this;
}
public function getEditableStatus(): bool
{
return $this->isEditable;
}
public function setEditableStatus(bool $status): static
{
$this->isEditable = $status;
return $this;
}
}