<?php

namespace App\Http\Controllers\Ajustador;

use App\Http\Controllers\Controller;
use App\Models\Notificacion;
use Illuminate\Support\Facades\Auth;

class AjustadorNotificationController extends Controller
{
    public function index()
    {
        $ajustador = Auth::guard('ajustador')->user();

        $notifications = Notificacion::with(['caso:id,numero_reclamo,estado_actual'])
            ->where('ajustador_id', $ajustador->id)
            ->latest()
            ->take(50)
            ->get();

        return response()->json([
            'notifications' => $notifications,
            'unread_count' => $notifications->where('leida', false)->count(),
        ]);
    }

    public function markAsRead(Notificacion $notificacion)
    {
        $ajustador = Auth::guard('ajustador')->user();

        if ($notificacion->ajustador_id !== $ajustador->id) {
            return response()->json(['error' => 'Unauthorized'], 403);
        }

        $notificacion->update(['leida' => true]);

        return response()->json(['success' => true]);
    }

    public function markAllAsRead()
    {
        $ajustador = Auth::guard('ajustador')->user();

        Notificacion::where('ajustador_id', $ajustador->id)
            ->where('leida', false)
            ->update(['leida' => true]);

        return response()->json(['success' => true]);
    }
}
