<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class AdminAuth
{
    public function handle(Request $request, Closure $next)
    {
        if (!Auth::check()) {
            return redirect()->route('admin.login');
        }

        $user = auth()->user();

        // Kullanıcının aktif olup olmadığını ve admin rolü olup olmadığını kontrol et
        if (!$user->is_active || !$user->hasRole(['super-admin', 'system-admin'])) {
            Auth::logout();
            return redirect()->route('admin.login')->withErrors([
                'email' => 'Yönetim paneline erişim yetkiniz bulunmamaktadır.'
            ]);
        }

        return $next($request);
    }
}
