<?php
declare(strict_types=1);
namespace WnsSecurityComplianceSuite\Diagnostics\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\Routing\Annotation\Route;
use WnsSecurityComplianceSuite\Diagnostics\Provider\ScheduledTaskStatusProvider;
/**
* @Route(defaults={"_routeScope"={"api"}})
*/
class ScheduledTaskCheckController extends AbstractController
{
private ScheduledTaskStatusProvider $scheduledTaskStatusProvider;
public function __construct(
ScheduledTaskStatusProvider $scheduledTaskStatusProvider
) {
$this->scheduledTaskStatusProvider = $scheduledTaskStatusProvider;
}
/**
* @Route("/api/wscs/diagnostics/scheduled-task-check", name="api.wscs.diagnostics.scheduled-task-check", methods={"GET"})
*/
public function scheduledTaskCheck(): JsonResponse
{
try {
return new JsonResponse([
'success' => true,
'scheduledTasks' => $this->scheduledTaskStatusProvider->getScheduledTaskStatus(),
]);
} catch (\Exception $e) {
return new JsonResponse([
'success' => false,
'error' => $e->getMessage(),
]);
}
}
}