<?php

namespace App\Models;

class TicketModel
{
  public function __construct(
    private int $id,

    private int $userId,
    private string $namaUser,

    private int $kategoriId,
    private string $namaKategori,

    private int $prioritasId,
    private string $namaPrioritas,

    private int $slaId,
    private string $namaSla,

    private int $statusId,
    private string $namaStatus,

    private string $judul,
    private ?string $deskripsi,

    private string $tanggalDibuat,
    private string $tanggalUpdate,
    private ?string $deadline,

    private bool $isClosed,
    private string $nomorTiket,
  ) {}

  // Getter

  public function getId(): int
  {
    return $this->id;
  }

  public function getUserId(): int
  {
    return $this->userId;
  }

  public function getNamaUser(): string
  {
    return $this->namaUser;
  }

  public function getKategoriId(): int
  {
    return $this->kategoriId;
  }

  public function getNamaKategori(): string
  {
    return $this->namaKategori;
  }

  public function getPrioritasId(): int
  {
    return $this->prioritasId;
  }

  public function getNamaPrioritas(): string
  {
    return $this->namaPrioritas;
  }

  public function getSlaId(): int
  {
    return $this->slaId;
  }

  public function getNamaSla(): string
  {
    return $this->namaSla;
  }

  public function getStatusId(): int
  {
    return $this->statusId;
  }

  public function getNamaStatus(): string
  {
    return $this->namaStatus;
  }

  public function getJudul(): string
  {
    return $this->judul;
  }

  public function getDeskripsi(): ?string
  {
    return $this->deskripsi;
  }

  public function getTanggalDibuat(): string
  {
    return $this->tanggalDibuat;
  }

  public function getTanggalUpdate(): string
  {
    return $this->tanggalUpdate;
  }

  public function getDeadline(): ?string
  {
    return $this->deadline;
  }

  public function isClosed(): bool
  {
    return $this->isClosed;
  }

  public function getNomorTiket(): string
  {
    return $this->nomorTiket;
  }
}
