Files
vuefilemanager/src/Domain/Settings/Controllers/GetServerStatusController.php
2022-03-16 09:50:49 +01:00

38 lines
957 B
PHP

<?php
namespace Domain\Settings\Controllers;
use Storage;
use Support\Status\Actions\GetServerSetupStatusAction;
class GetServerStatusController
{
public function __construct(
public GetServerSetupStatusAction $getServerSetupStatus,
) {
}
public function __invoke(): array
{
// Get server data
$status = ($this->getServerSetupStatus)();
// Get latest logs
$status['logs'] = getListOfLatestLogs();
// Add latest database backups
$status['backups'] = collect(Storage::allFiles('app-backup'))
->map(fn ($path) => str_replace('app-backup/', '', $path))
->reverse()
->values()
->take(5);
// Add cron info
$status['cron'] = [
'running' => isRunningCron(),
'lastUpdate' => isRunningCron() ? format_date(cache()->get('latest_cron_update')) : null,
];
return $status;
}
}