* tsp-info endpoint added
* different collector services are now implemented
This commit is contained in:
73
src/App/Action/TspInfoAction.php
Normal file
73
src/App/Action/TspInfoAction.php
Normal file
@@ -0,0 +1,73 @@
|
||||
<?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(),
|
||||
]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user