<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;

class Setting extends Model {
    protected $fillable = ['key', 'value'];

    public static function get(string $key, $default = null) {
        return static::where('key', $key)->value('value') ?? $default;
    }

    public static function set(string $key, $value): void {
        static::updateOrCreate(['key' => $key], ['value' => $value]);
    }

    public static function allAsMap(): array {
        return static::all()->pluck('value', 'key')->toArray();
    }
}
