<?php
/*
 *  Copyright 2021. Optima, LLC
 *  Protected with Proprietary License
 */

namespace App\Models\FileUpload;

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

class FileUpload extends Model
{
    use HasFactory;

    protected $fillable = [
        'name',
        'path'
    ];

    protected $appends = ['url', 'type'];

    public function getUrlAttribute()
    {
        return url($this->path);
    }

    public function getTypeAttribute()
    {
        $ext = explode('.', $this->path);

        $imgMime = ['jpg', 'jpeg', 'png', 'gif'];
        $documentMime = ['pdf'];
        $videoMime = ['mp4', 'avi', 'webm', 'flv', 'wmv', 'mov'];

        if(in_array($ext[1], $imgMime)) {
            return 'image';
        } elseif(in_array($ext[1], $documentMime)) {
            return 'document';
        } elseif(in_array($ext[1], $videoMime)) {
            return 'video';
        } else {
            return 'file';
        }
    }
}
