OmniBoard/app/Http/Controllers/DashboardController.php

40 lines
1.2 KiB
PHP

<?php
namespace App\Http\Controllers;
use Inertia\Inertia;
use App\Models\Queue;
use Carbon\Carbon;
class DashboardController extends Controller
{
public function index()
{
/**
* Graças à Trait 'BelongsToTenant' no Model Queue,
* o Laravel aplica automaticamente: WHERE tenant_id = ID_DO_USUARIO_LOGADO
*/
$queues = Queue::with([
// 1. Relacionamento com Métricas Diárias
'dailyMetrics' => function ($query) {
// Filtra para pegar apenas os dados de HOJE
$query->whereDate('date', Carbon::today());
},
// 2. Relacionamento com Lista de Espera (Ao Vivo)
'waitingList' => function ($query) {
// Ordena: Quem chegou primeiro aparece no topo da lista interna (se formos exibir detalhes)
$query->orderBy('entered_at', 'asc');
}
])
// Ordena as filas por nome para ficarem sempre na mesma posição no Dashboard
->orderBy('name', 'asc')
->get();
return Inertia::render('Dashboard', [
'queues' => $queues,
]);
}
}