<?php

namespace App\Models;

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

class AllowedPage extends Model
{
    /** @use HasFactory<AllowedPageFactory> */
    use HasFactory;

    protected $fillable = ['platform', 'page_id', 'name', 'is_active'];

    protected function casts(): array
    {
        return ['is_active' => 'boolean'];
    }

    /** @param Builder<AllowedPage> $query */
    public function scopeForPlatform(Builder $query, string $platform): Builder
    {
        return $query->where('platform', strtolower(trim($platform)));
    }

    /** @param Builder<AllowedPage> $query */
    public function scopeActive(Builder $query): Builder
    {
        return $query->where('is_active', true);
    }
}
