|
|
|
@ -9,12 +9,19 @@ 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']); |
|
|
|
@ -23,17 +30,20 @@ class CallController
|
|
|
|
|
|
|
|
|
|
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' => ['string'], |
|
|
|
|
'src' => ['string'], |
|
|
|
|
'dst' => ['string'], |
|
|
|
|
'uniqueid' => [], |
|
|
|
|
'src' => [], |
|
|
|
|
'dst' => [], |
|
|
|
|
'i_date' => ['date'], |
|
|
|
|
'f_date' => ['date'], |
|
|
|
|
'entry' => ['string'] |
|
|
|
|
'entry' => [], |
|
|
|
|
'org_id' => ['integer', 'required'] |
|
|
|
|
]); |
|
|
|
|
|
|
|
|
|
$body = json_decode($request->getBody()->getContents(), true); |
|
|
|
|
$validator = $validator->withData($body); |
|
|
|
|
if (!$validator->validate()) { |
|
|
|
@ -41,31 +51,18 @@ class CallController
|
|
|
|
|
->write(json_encode($validator->errors())); |
|
|
|
|
return $response->withStatus(422); |
|
|
|
|
} |
|
|
|
|
$result = Bilhetes::getBilhetes($body); |
|
|
|
|
|
|
|
|
|
/*$query = "SELECT |
|
|
|
|
a.id_bilhetes AS id, a.calldate AS data_hora, |
|
|
|
|
a.src AS origem, a.dst AS destino, a.billsec AS tempo_conversacao, |
|
|
|
|
a.duration AS tempo_atendimento, a.accountcode AS id_transfer, |
|
|
|
|
a.uniqueid AS uniqueid, a.userfield AS nome_audio, |
|
|
|
|
a.data_bilhete AS data, a.fora_horario AS fora_horario, |
|
|
|
|
a.org_id |
|
|
|
|
FROM pbx_bilhetes a |
|
|
|
|
WHERE a.lastapp <> 'Transferred Call' "; |
|
|
|
|
|
|
|
|
|
self::$logger->debug('Passed in bilhetes validation', true); |
|
|
|
|
|
|
|
|
|
foreach ($body as $k => $v) { |
|
|
|
|
if ($v) { |
|
|
|
|
$query .= " AND $k = :$k"; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
$result = Bilhetes::getBilhetes($body); |
|
|
|
|
$response->getBody()->write(json_encode(['status' => true, 'data' => $result])); |
|
|
|
|
|
|
|
|
|
$result = Bilhetes::query($query, $data); */ |
|
|
|
|
if (!$result) { |
|
|
|
|
//this block returns an error message if the result of the query is empty |
|
|
|
|
/*if (!$result) { |
|
|
|
|
$response->getBody()->write(json_encode(['status' => false, 'data' => ['message' => 'Nenhum resultado encontrado!']])); |
|
|
|
|
} else { |
|
|
|
|
$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); |
|
|
|
@ -77,7 +74,7 @@ class CallController
|
|
|
|
|
{ |
|
|
|
|
try { |
|
|
|
|
$body = json_decode($request->getBody()->getContents(), true); |
|
|
|
|
$dados = $this->validateData($request, true); |
|
|
|
|
//$dados = $this->validateData($request, true); |
|
|
|
|
$query = "SELECT |
|
|
|
|
a.id_bilhetes AS id, |
|
|
|
|
a.uniqueid, |
|
|
|
|