from django.shortcuts import redirect
from django.contrib import messages
from functools import wraps

def recruiter_required(view_func):
    """
    Sirf un users ko allow karega jinka is_recruiter=True hai.
    """
    @wraps(view_func)
    def _wrapped_view(request, *args, **kwargs):
        # 1. Check Login
        if not request.user.is_authenticated:
            return redirect('account_login')
        
        # 2. Check Role
        if request.user.is_recruiter:
            return view_func(request, *args, **kwargs)
        
        # 3. Unauthorized access
        messages.error(request, "Bhai, ye page sirf Recruiters ke liye hai! Aapka role Candidate hai.")
        return redirect('profile_dashboard') # Candidate ko uske dashboard bhej do
        
    return _wrapped_view

def candidate_required(view_func):
    """
    Sirf un users ko allow karega jinka is_candidate=True hai.
    """
    @wraps(view_func)
    def _wrapped_view(request, *args, **kwargs):
        # 1. Check Login
        if not request.user.is_authenticated:
            return redirect('account_login')
        
        # 2. Check Role
        if request.user.is_candidate:
            return view_func(request, *args, **kwargs)
        
        # 3. Unauthorized access
        messages.error(request, "Bhai, ye page Candidates ke liye hai. Aap Recruiter dashboard dekhiye.")
        return redirect('recruiter_dashboard') # Recruiter ko uske dashboard bhej do
        
    return _wrapped_view