82 lines
2.7 KiB
PHP
82 lines
2.7 KiB
PHP
<?php
|
|
|
|
namespace App\Action;
|
|
|
|
use App\Response\JsonCorsResponse;
|
|
use App\Service\JcatInfoCollectorService;
|
|
use App\Service\JiraCollectorService;
|
|
use App\Service\LabInfoCollectorService;
|
|
use App\Service\TrInfoCollectorService;
|
|
use App\Service\VacationInfoCollectorService;
|
|
use Interop\Http\ServerMiddleware\DelegateInterface;
|
|
use Interop\Http\ServerMiddleware\MiddlewareInterface as ServerMiddlewareInterface;
|
|
use Psr\Http\Message\ServerRequestInterface;
|
|
use Zend\Config\Config;
|
|
|
|
class TspInfoAction implements ServerMiddlewareInterface
|
|
{
|
|
/**
|
|
* @var Config
|
|
*/
|
|
private $config;
|
|
|
|
/**
|
|
* @var VacationInfoCollectorService
|
|
*/
|
|
private $vacationInfoCollectorService;
|
|
|
|
/**
|
|
* @var TrInfoCollectorService
|
|
*/
|
|
private $trInfoCollectorService;
|
|
|
|
/**
|
|
* @var JcatInfoCollectorService
|
|
*/
|
|
private $jcatInfoCollectorService;
|
|
|
|
/**
|
|
* @var LabInfoCollectorService
|
|
*/
|
|
private $labInfoCollectorService;
|
|
|
|
/**
|
|
* @var JiraCollectorService
|
|
*/
|
|
private $jiraCollectorService;
|
|
|
|
public function __construct(Config $config,
|
|
VacationInfoCollectorService $vacationInfoCollectorService,
|
|
TrInfoCollectorService $trInfoCollectorService,
|
|
JcatInfoCollectorService $jcatInfoCollectorService,
|
|
LabInfoCollectorService $labInfoCollectorService,
|
|
JiraCollectorService $jiraCollectorService)
|
|
{
|
|
$this->config = $config;
|
|
$this->vacationInfoCollectorService = $vacationInfoCollectorService;
|
|
$this->trInfoCollectorService = $trInfoCollectorService;
|
|
$this->jcatInfoCollectorService = $jcatInfoCollectorService;
|
|
$this->labInfoCollectorService = $labInfoCollectorService;
|
|
$this->jiraCollectorService = $jiraCollectorService;
|
|
}
|
|
|
|
/**
|
|
* @param ServerRequestInterface $request
|
|
* @param DelegateInterface $delegate
|
|
* @return JsonCorsResponse
|
|
*/
|
|
public function process(ServerRequestInterface $request, DelegateInterface $delegate)
|
|
{
|
|
return new JsonCorsResponse([
|
|
'cameraUrls' => $this->config->get('url.eurestCameras')->toArray(),
|
|
'animGifs' => [],
|
|
'praGoals' => $this->trInfoCollectorService->getPraGoals(),
|
|
'trProgressInfo' => $this->trInfoCollectorService->getProgressInfo(),
|
|
'trFlowErrors' => $this->jcatInfoCollectorService->getTrFlowErrors(),
|
|
'expedites' => $this->jiraCollectorService->getExpedites(),
|
|
'isVacationSoon' => $this->vacationInfoCollectorService->isVacationSoon(),
|
|
'labTemperature' => $this->labInfoCollectorService->getLabTemperatureData(),
|
|
]);
|
|
}
|
|
}
|