ultimatepos/Modules/Maintenance/Http/Controllers/DashboardController.php

37 lines
1.2 KiB
PHP

<?php
namespace Modules\Maintenance\Http\Controllers;
use Illuminate\Routing\Controller;
use Modules\Maintenance\Http\Controllers\Concerns\AuthorizesMaintenance;
use Modules\Maintenance\Services\MaintenanceDashboardService;
use Modules\Maintenance\Services\MaintenanceHealthService;
use Modules\Maintenance\Utils\MaintenanceUtil;
class DashboardController extends Controller
{
use AuthorizesMaintenance;
public function __construct(
protected MaintenanceDashboardService $dashboardService,
protected MaintenanceHealthService $healthService,
protected MaintenanceUtil $maintenanceUtil
) {}
public function index()
{
$this->authorizeMaintenanceAccess('maintenance.view');
$business = $this->maintenanceUtil->getBusiness();
if (! $business) {
abort(404);
}
$stats = $this->dashboardService->getStats($business);
$recent_activities = $this->dashboardService->getRecentActivities($business);
$charts = $this->dashboardService->getChartData($business);
$health = $this->healthService->assess();
return view('maintenance::dashboard.index', compact('stats', 'recent_activities', 'charts', 'health'));
}
}