<?php

namespace App\Models;

enum ActivityLogType: string
{
  case CREATE           = 'CREATE';
  case UPDATE_STATUS    = 'UPDATE_STATUS';
  case ASSIGN           = 'ASSIGN';
  case COMMENT          = 'COMMENT';
  case ESCALATE         = 'ESCALATE';
  case SOLVED           = 'SOLVED';
  case CANCELED         = 'CANCELED';

  public function message(): string
  {
    return match ($this) {
      self::UPDATE_STATUS => 'Status berubah menjadi #status',
      self::CREATE        => 'Tiket berhasil dibuat oleh #namaUser',
      self::ASSIGN        => 'Tiket ditugaskan kepada #namaUser',
      self::COMMENT       => '#namaUser menambahkan komentar',
      self::ESCALATE      => 'Tiket dieskalasi ke #namaUser',
      self::SOLVED        => 'Tiket berhasil diselesaikan',
      self::CANCELED      => 'Tiket dibatalkan',
    };
  }
}
