<?php

namespace App\Models;

use Illuminate\Support\Facades\Storage;

class Regions extends GenericCentral
{
    protected $table = 'regions';
    protected $primaryKey = 'code';
    protected $guarded = [];
    protected $appends = ['flagURL'];

    public $translatable = ['name'];
    public $incrementing = false;
    public $module = 'regions';

    public function __construct()
    {
        parent::__construct();
    }

    public static function querySelect()
    {
        return "  SELECT regions.* FROM regions  ";
    }

    public static function queryWhere()
    {
        return "  ";
    }

    public static function queryGroup()
    {
        return "  ";
    }

    public function getFlagURLAttribute()
    {
        if (filter_var($this->flag, FILTER_VALIDATE_URL))
            return $this->flag;
        if ($this->flag)
            return Storage::disk()->url($this->flag);
        return null;
    }

    public static function getRegionsCurrency()
    {
        $data = [];
        $regions = self::with('country')->get();
        foreach ($regions as $region) {
            $data[$region->code] = $region->country->default_currency;
        }
        return $data;
    }
}
