<?php

declare(strict_types=1);

namespace App\Models;

use App\Models\StatusAkun;
use App\Models\UserRole;

final class UserModel
{
  public function __construct(
    private int $id,
    private string $nama,
    private string $username,
    private string $password,
    private string $email,
    private string $noTelepon,
    private UserRole $role,
    private ?int $divisiId,
    private ?string $namaDivisi,
    private StatusAkun $statusAkun,
    private string $createdAt,
    private ?string $updatedAt,
    private ?string $spesialisasi
  ) {}

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

  public function getNama(): string
  {
    return $this->nama;
  }

  public function getUsername(): string
  {
    return $this->username;
  }

  public function getPassword(): string
  {
    return $this->password;
  }

  public function getEmail(): string
  {
    return $this->email;
  }

  public function getNoTelepon(): string
  {
    return $this->noTelepon;
  }

  public function getRole(): UserRole
  {
    return $this->role;
  }

  public function getDivisiId(): ?int
  {
    return $this->divisiId;
  }

  public function getNamaDivisi(): ?string
  {
    return $this->namaDivisi;
  }

  public function getStatusAkun(): StatusAkun
  {
    return $this->statusAkun;
  }

  public function getCreatedAt(): string
  {
    return $this->createdAt;
  }

  public function getUpdatedAt(): string
  {
    return $this->updatedAt;
  }

  public function getSpesialisasi(): ?string
  {
    return $this->spesialisasi;
  }
}
