74 lines
2.5 KiB
PHP
74 lines
2.5 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;
|
||
|
|
|
||
|
|
class TspInfoAction implements ServerMiddlewareInterface
|
||
|
|
{
|
||
|
|
/**
|
||
|
|
* @var VacationInfoCollectorService
|
||
|
|
*/
|
||
|
|
private $vacationInfoCollectorService;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @var TrInfoCollectorService
|
||
|
|
*/
|
||
|
|
private $trInfoCollectorService;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @var JcatInfoCollectorService
|
||
|
|
*/
|
||
|
|
private $jcatInfoCollectorService;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @var LabInfoCollectorService
|
||
|
|
*/
|
||
|
|
private $labInfoCollectorService;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @var JiraCollectorService
|
||
|
|
*/
|
||
|
|
private $jiraCollectorService;
|
||
|
|
|
||
|
|
public function __construct(VacationInfoCollectorService $vacationInfoCollectorService,
|
||
|
|
TrInfoCollectorService $trInfoCollectorService,
|
||
|
|
JcatInfoCollectorService $jcatInfoCollectorService,
|
||
|
|
LabInfoCollectorService $labInfoCollectorService,
|
||
|
|
JiraCollectorService $jiraCollectorService)
|
||
|
|
{
|
||
|
|
$this->vacationInfoCollectorService = $vacationInfoCollectorService;
|
||
|
|
$this->trInfoCollectorService = $trInfoCollectorService;
|
||
|
|
$this->jcatInfoCollectorService = $jcatInfoCollectorService;
|
||
|
|
$this->labInfoCollectorService = $labInfoCollectorService;
|
||
|
|
$this->jiraCollectorService = $jiraCollectorService;
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @param ServerRequestInterface $request
|
||
|
|
* @param DelegateInterface $delegate
|
||
|
|
* @return JsonCorsResponse
|
||
|
|
* @todo lab temperature data
|
||
|
|
*/
|
||
|
|
public function process(ServerRequestInterface $request, DelegateInterface $delegate)
|
||
|
|
{
|
||
|
|
return new JsonCorsResponse([
|
||
|
|
'animGifs' => [],
|
||
|
|
'praGoals' => $this->trInfoCollectorService->getPraGoals(),
|
||
|
|
'trProgress' => $this->trInfoCollectorService->getProgressInfo(),
|
||
|
|
'trFlow' => $this->jcatInfoCollectorService->getTrFlow(),
|
||
|
|
'expedites' => $this->jiraCollectorService->getExpedites(),
|
||
|
|
'vacationInfo' => $this->vacationInfoCollectorService->isVacationSoon(),
|
||
|
|
'labTemperature' => $this->labInfoCollectorService->getLabTemperatureData(),
|
||
|
|
]);
|
||
|
|
}
|
||
|
|
}
|