|
|
|
<?php
|
|
|
|
|
|
|
|
namespace app\controllers;
|
|
|
|
|
|
|
|
use Slim\Routing\RouteCollectorProxy;
|
|
|
|
use Psr\Http\Message\ResponseInterface as Response;
|
|
|
|
use Psr\Http\Message\ServerRequestInterface as Request;
|
|
|
|
use Valitron\Validator;
|
|
|
|
use Exception;
|
|
|
|
|
|
|
|
use app\Repositories\Bilhetes;
|
|
|
|
use app\shared\Logger;
|
|
|
|
use app\traits\Validate;
|
|
|
|
|
|
|
|
class CallController
|
|
|
|
{
|
|
|
|
private static Logger $logger;
|
|
|
|
const LOG_ACTIVE = true;
|
|
|
|
|
|
|
|
static function route()
|
|
|
|
{
|
|
|
|
self::$logger = new Logger('api' . date('Ymd'), self::LOG_ACTIVE);
|
|
|
|
self::$logger->debug('CallController->route()', true);
|
|
|
|
|
|
|
|
return function (RouteCollectorProxy $group) {
|
|
|
|
$group->post('/bilhetes', [self::class, 'listarBilhetes']);
|
|
|
|
$group->post('/eventos', [self::class, 'listarEventos']);
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
function listarBilhetes(Request $request, Response $response, array $args)
|
|
|
|
{
|
|
|
|
//self::$logger->debug('Org id do token: ' . print_r($request->getAttribute('orgs'), true), true);
|
|
|
|
try {
|
|
|
|
$validator = new Validator();
|
|
|
|
$validator->mapFieldsRules([
|
|
|
|
'id' => ['integer', ['min', 1]],
|
|
|
|
'uniqueid' => [],
|
|
|
|
'src' => [],
|
|
|
|
'dst' => [],
|
|
|
|
'data_i' => ['date'],
|
|
|
|
'data_f' => ['date'],
|
|
|
|
'entrada' => [],
|
|
|
|
'org_id' => ['integer', 'required']
|
|
|
|
]);
|
|
|
|
|
|
|
|
$body = json_decode($request->getBody()->getContents(), true);
|
|
|
|
$validator = $validator->withData($body);
|
|
|
|
if (!$validator->validate()) {
|
|
|
|
$response->getBody()
|
|
|
|
->write(json_encode($validator->errors()));
|
|
|
|
return $response->withStatus(422);
|
|
|
|
}
|
|
|
|
|
|
|
|
self::$logger->debug('Passed in bilhetes validation with body: ' . print_r($body, true), true);
|
|
|
|
|
|
|
|
$result = Bilhetes::getBilhetes($body);
|
|
|
|
$response->getBody()->write(json_encode(['status' => true, 'data' => $result]));
|
|
|
|
} catch (Exception $e) {
|
|
|
|
$response->getBody()->write(json_encode(['status' => false, 'data' => ["message" => "Nao foi possivel realizar a consulta! " . $e->getMessage()]]));
|
|
|
|
return $response->withStatus(500);
|
|
|
|
}
|
|
|
|
return $response;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function listarEventos(Request $request, Response $response, array $args)
|
|
|
|
{
|
|
|
|
try {
|
|
|
|
$validator = new Validator();
|
|
|
|
$validator->mapFieldsRules([
|
|
|
|
'id' => ['integer', ['min', 1]],
|
|
|
|
'fila' => [],
|
|
|
|
'entrada' => [],
|
|
|
|
'uniqueid' => [],
|
|
|
|
'src' => [],
|
|
|
|
'dst' => [],
|
|
|
|
'data_i' => ['date'],
|
|
|
|
'data_f' => ['date'],
|
|
|
|
'org_id' => ['integer', 'required']
|
|
|
|
]);
|
|
|
|
|
|
|
|
$body = json_decode($request->getBody()->getContents(), true);
|
|
|
|
$validator = $validator->withData($body);
|
|
|
|
if (!$validator->validate()) {
|
|
|
|
$response->getBody()
|
|
|
|
->write(json_encode($validator->errors()));
|
|
|
|
return $response->withStatus(422);
|
|
|
|
}
|
|
|
|
|
|
|
|
self::$logger->debug('Passed in bilhetes validation with body: ' . print_r($body, true), true);
|
|
|
|
$result = Bilhetes::getEventosBilhetes($body);
|
|
|
|
$response->getBody()->write(json_encode(['status' => true, 'data' => $result]));
|
|
|
|
} catch (Exception $e) {
|
|
|
|
$response->getBody()->write(json_encode(['status' => false, 'data' => ["message" => "Nao foi possivel realizar a consulta! " . $e->getMessage()]]));
|
|
|
|
}
|
|
|
|
return $response;
|
|
|
|
}
|
|
|
|
}
|