<?php

namespace Config;

use CodeIgniter\Config\BaseConfig;
use CodeIgniter\Filters\Cors;
use CodeIgniter\Filters\CSRF;
use CodeIgniter\Filters\DebugToolbar;
use CodeIgniter\Filters\ForceHTTPS;
use CodeIgniter\Filters\Honeypot;
use CodeIgniter\Filters\InvalidChars;
use CodeIgniter\Filters\PageCache;
use CodeIgniter\Filters\PerformanceMetrics;
use CodeIgniter\Filters\SecureHeaders;

// ------ إضافاتنا الخاصة بالمشروع ------
use App\Filters\AdminAuthFilter;
use App\Filters\ClientAuthFilter;
use App\Filters\LocaleFilter;
// ---------------------------------------

class Filters extends BaseConfig
{
    /**
     * تعريف كل الـ Filters المتاحة بالمشروع + الأسماء المستعارة (aliases) الخاصة بيها.
     * هنا بالظبط لازم نضيف adminAuth و clientAuth و locale.
     */
    public array $aliases = [
        'csrf'          => CSRF::class,
        'toolbar'       => DebugToolbar::class,
        'honeypot'      => Honeypot::class,
        'invalidchars'  => InvalidChars::class,
        'secureheaders' => SecureHeaders::class,
        'cors'          => Cors::class,
        'forcehttps'    => ForceHTTPS::class,
        'pagecache'     => PageCache::class,
        'performance'   => PerformanceMetrics::class,

        // ---- إضافاتنا ----
        'adminAuth'  => AdminAuthFilter::class,
        'clientAuth' => ClientAuthFilter::class,
        'locale'     => LocaleFilter::class,
    ];

    /**
     * فلاتر تشتغل تلقائياً على كل طلب (بدون الحاجة تحددها بالـ Routes).
     * أضفنا 'locale' هنا عشان يفعّل عربي/إنجليزي على كل صفحة.
     */
    public array $globals = [
        'before' => [
            // 'honeypot',
            // 'csrf',
            'invalidchars',
            'locale', // ---- إضافتنا ----
        ],
        'after' => [
            'toolbar',
            // 'honeypot',
            // 'secureheaders',
        ],
    ];

    public array $methods = [];

    public array $filters = [];
}
