<?php

namespace App\Models\OLDLMS;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Model;

class Livechat extends Model
{
    use HasFactory;


    // public $sStatusNames = [
    //     0 => 'Menunggu Konfirmasi',
    //     1 => 'Diterima',
    //     3 => 'Ditolak',
    //     2 => 'Selesai',
    //     4 => 'Expired',
    // ];

    public $sStatusNames = [
        0 => 'Request TC',
        1 => 'Accepted by Doctor but User not Payment',
        3 => 'Decline by Doctor',
        2 => 'Payment Success',
        4 => 'Payment Expired',
        5 => 'Cancel by Patient'
    ];

    const CREATED_AT = 'dCreateOn';
    const UPDATED_AT = 'dUpdateOn';
    const DELETED_AT = 'dDeleteOn';

    protected $connection = 'oldlms';

    protected $table = 'tx_livechat';

    protected $appends = [
        'status_name',
    ];

    protected function statusName(): Attribute
    {
        return Attribute::make(
            get: function ($value) {
                return $this->sStatusNames[$this->sStatus] ?? '-';
            },
        );
    }


    public function user()
    {
        return $this->belongsTo(User::class, 'nIDUser', 'nID');
    }

    public function doctor()
    {
        return $this->belongsTo(Dokter::class, 'nIDDokter', 'nIDUser');
    }


    public function appointment()
    {
        return $this->belongsTo(Appointment::class, 'nIDAppointment', 'nID');
    }

    public function healthCare()
    {
        return $this->belongsTo(Healthcare::class, 'nIDHealthCare', 'nID');
    }
}
