<?php

namespace App\Http\Controllers;

use Inertia\Inertia;
use App\Models\Agent;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class AgentController extends Controller
{
    public function index()
    {
        // Pega o tenant do usuário logado (assumindo que o user tem tenant_id)
        // Se o user for admin global, talvez precise de lógica diferente, 
        // mas aqui vamos pegar os agentes do tenant do usuário.

        $user = Auth::user();

        // Ajuste esta query conforme sua estrutura de User x Tenant
        // Se o usuário 'admin' não tem tenant_id direto, você pode listar tudo ou pegar o primeiro.
        // Aqui assumo que você quer listar todos os agentes cadastrados no sistema para o Admin.

        $agents = Agent::orderBy('name')
            ->get()
            ->map(function ($agent) {
                return [
                    'id' => $agent->id,
                    'name' => $agent->name,
                    'interface' => $agent->interface,
                    'status' => $agent->status, // available, paused, offline
                    'pause_reason' => $agent->pause_reason,
                    'calls_answered' => $agent->total_calls_answered,
                    'calls_missed' => $agent->total_ring_no_answer,
                    // Calcula há quanto tempo está nesse status
                    'status_duration' => $agent->last_status_change
                        ? $agent->last_status_change->diffForHumans(null, true)
                        : 'N/A',
                ];
            });

        return Inertia::render('Agents/Index', [
            'agents' => $agents
        ]);
    }
}
