HEX
Server: nginx/1.24.0
System: Linux DGT-WORDPRESS-VM-SERVER 6.14.0-1017-azure #17~24.04.1-Ubuntu SMP Mon Dec 1 20:10:50 UTC 2025 x86_64
User: ubuntu (1000)
PHP: 8.4.12
Disabled: NONE
Upload Files
File: /mnt/data/ghayatcom/ghayatcom-api/app/Casts/AppoitmentEnumCast.php
<?php

namespace App\Casts;

use Illuminate\Contracts\Database\Eloquent\CastsAttributes;
use App\Enums\AppoitmentStatusEnum;

class AppoitmentEnumCast implements CastsAttributes
{
    /**
     * Cast the given value.
     *
     * @param  \Illuminate\Database\Eloquent\Model  $model
     * @param  string  $key
     * @param  mixed  $value
     * @param  array  $attributes
     * @return mixed
     */
    public function get($model, $key, $value, $attributes)
    {
        /** @var object AppoitmentStatusEnum */
        $arr = [
            'NEW' => 1,//AppoitmentStatusEnum::NEW()->getIndex(),
            'ACCEPTED' => 2,//AppoitmentStatusEnum::ACCEPTED()->getIndex(),
            'COMPLETED' => 3,//AppoitmentStatusEnum::COMPLETED()->getIndex(),
            'CANCELLED' => 4,//AppoitmentStatusEnum::CANCELLED()->getIndex(),
            'EXPIRED' => 5,//AppoitmentStatusEnum::EXPIRED()->getIndex(),
            'REJECTED' => 6,//AppoitmentStatusEnum::REJECTED()->getIndex()
        ];
        return (string)$arr[$value];
        // return $value;
    }

    /**
     * Prepare the given value for storage.
     *
     * @param  \Illuminate\Database\Eloquent\Model  $model
     * @param  string  $key
     * @param  array  $value
     * @param  array  $attributes
     * @return mixed
     */
    public function set($model, $key, $value, $attributes)
    {
        return $value;
    }
}