37 lines
1.2 KiB
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'));
|
|
}
|
|
}
|