src/Entity/CRM/TranscriptionJob.php line 13
<?phpnamespace App\Entity\CRM;use App\Entity\CRM\Order;use App\Enum\IngestSource;use App\Enum\TranscriptionJobStatus;use App\Repository\TranscriptionJobRepository;use Doctrine\DBAL\Types\Types;use Doctrine\ORM\Mapping as ORM;#[ORM\Entity(repositoryClass: TranscriptionJobRepository::class)]class TranscriptionJob{public const MANUAL_TRANSCRIPTION_QUEUE_PRIORITY = 1_000_000;public const MANUAL_EVALUATION_QUEUE_PRIORITY = 1_000_000;#[ORM\Id]#[ORM\GeneratedValue]#[ORM\Column]private ?int $id = null;#[ORM\ManyToOne(inversedBy: 'transcriptionJobs')]#[ORM\JoinColumn(nullable: true, onDelete: 'SET NULL')]private ?Branch $tenant = null;#[ORM\ManyToOne(inversedBy: 'transcriptionJobs')]#[ORM\JoinColumn(nullable: true, onDelete: 'SET NULL')]private ?DataSource $source = null;#[ORM\Column(length: 255)]private ?string $filename = null;#[ORM\Column(length: 768, unique: true)]private ?string $filePath = null;#[ORM\Column(length: 16, enumType: TranscriptionJobStatus::class)]private TranscriptionJobStatus $status = TranscriptionJobStatus::PENDING;#[ORM\Column(type: Types::DATETIME_MUTABLE)]private \DateTimeInterface $createdAt;#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]private ?\DateTimeInterface $completedAt = null;#[ORM\Column(nullable: true)]private ?float $duration = null;#[ORM\Column]private bool $audioDeleted = false;#[ORM\Column]private int $queuePriority = 0;#[ORM\Column(length: 255, nullable: true)]private ?string $uploadedBy = null;#[ORM\Column(length: 10, nullable: true)]private ?string $callDate = null;#[ORM\Column(length: 8, nullable: true)]private ?string $callTime = null;#[ORM\Column(length: 64, nullable: true)]private ?string $consultantId = null;#[ORM\Column(length: 32, nullable: true)]private ?string $targetNumber = null;#[ORM\Column(length: 64, nullable: true)]private ?string $branchNumber = null;#[ORM\Column(length: 32, enumType: IngestSource::class)]private IngestSource $ingestSource = IngestSource::FTP;#[ORM\ManyToOne]#[ORM\JoinColumn(nullable: true, onDelete: 'SET NULL')]private ?Order $linkedOrder = null;#[ORM\Column(type: Types::TEXT, nullable: true)]private ?string $note = null;#[ORM\Column(type: Types::TEXT, nullable: true)]private ?string $transcription = null;#[ORM\ManyToOne(inversedBy: 'transcriptionJobs')]#[ORM\JoinColumn(nullable: true, onDelete: 'SET NULL')]private ?CallStatus $callStatus = null;#[ORM\OneToOne(mappedBy: 'transcriptionJob', targetEntity: CallEvaluation::class)]private ?CallEvaluation $evaluation = null;public function __construct(){$this->createdAt = new \DateTimeImmutable();}public function __toString(): string{return (string) ($this->filename ?? ('Job #' . $this->id));}public function getId(): ?int{return $this->id;}public function getTenant(): ?Branch{return $this->tenant;}public function setTenant(?Branch $tenant): static{$this->tenant = $tenant;return $this;}public function getSource(): ?DataSource{return $this->source;}public function setSource(?DataSource $source): static{$this->source = $source;return $this;}public function getFilename(): ?string{return $this->filename;}public function setFilename(string $filename): static{$this->filename = $filename;return $this;}public function getFilePath(): ?string{return $this->filePath;}public function setFilePath(string $filePath): static{$this->filePath = $filePath;return $this;}public function getStatus(): TranscriptionJobStatus{return $this->status;}public function setStatus(TranscriptionJobStatus $status): static{$this->status = $status;return $this;}public function getCreatedAt(): \DateTimeInterface{return $this->createdAt;}public function setCreatedAt(\DateTimeInterface $createdAt): static{$this->createdAt = $createdAt;return $this;}public function getCompletedAt(): ?\DateTimeInterface{return $this->completedAt;}public function setCompletedAt(?\DateTimeInterface $completedAt): static{$this->completedAt = $completedAt;return $this;}public function getDuration(): ?float{return $this->duration;}public function setDuration(?float $duration): static{$this->duration = $duration;return $this;}public function isAudioDeleted(): bool{return $this->audioDeleted;}public function setAudioDeleted(bool $audioDeleted): static{$this->audioDeleted = $audioDeleted;return $this;}public function getQueuePriority(): int{return $this->queuePriority;}public function setQueuePriority(int $queuePriority): static{$this->queuePriority = $queuePriority;return $this;}public function getUploadedBy(): ?string{return $this->uploadedBy;}public function setUploadedBy(?string $uploadedBy): static{$this->uploadedBy = $uploadedBy;return $this;}public function getCallDate(): ?string{return $this->callDate;}public function setCallDate(?string $callDate): static{$this->callDate = $callDate;return $this;}public function getCallTime(): ?string{return $this->callTime;}public function setCallTime(?string $callTime): static{$this->callTime = $callTime;return $this;}public function getConsultantId(): ?string{return $this->consultantId;}public function setConsultantId(?string $consultantId): static{$this->consultantId = $consultantId;return $this;}public function getTargetNumber(): ?string{return $this->targetNumber;}public function setTargetNumber(?string $targetNumber): static{$this->targetNumber = $targetNumber;return $this;}public function getBranchNumber(): ?string{return $this->branchNumber;}public function setBranchNumber(?string $branchNumber): static{$this->branchNumber = $branchNumber;return $this;}public function getIngestSource(): IngestSource{return $this->ingestSource;}public function setIngestSource(IngestSource $ingestSource): static{$this->ingestSource = $ingestSource;return $this;}public function getLinkedOrder(): ?Order{return $this->linkedOrder;}public function setLinkedOrder(?Order $linkedOrder): static{$this->linkedOrder = $linkedOrder;return $this;}public function getNote(): ?string{return $this->note;}public function setNote(?string $note): static{$this->note = $note;return $this;}public function getTranscription(): ?string{return $this->transcription;}public function setTranscription(?string $transcription): static{$this->transcription = $transcription;return $this;}public function getCallStatus(): ?CallStatus{return $this->callStatus;}public function setCallStatus(?CallStatus $callStatus): static{$this->callStatus = $callStatus;return $this;}public function getEvaluation(): ?CallEvaluation{return $this->evaluation;}public function setEvaluation(?CallEvaluation $evaluation): static{$this->evaluation = $evaluation;return $this;}}