forked from SimplesIP/pabx-app
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.5 KiB
46 lines
1.5 KiB
<?php |
|
|
|
namespace app\controllers; |
|
|
|
use app\models\Queue; |
|
use app\traits\Validate; |
|
use Slim\Routing\RouteCollectorProxy; |
|
use Psr\Http\Message\ResponseInterface as Response; |
|
use Psr\Http\Message\ServerRequestInterface as Request; |
|
use Exception; |
|
|
|
class QueueController |
|
{ |
|
use Validate; |
|
static function route() |
|
{ |
|
return function (RouteCollectorProxy $group) { |
|
$group->post('/listar', [self::class, 'listarQueue']); |
|
}; |
|
} |
|
|
|
function listarQueue(Request $request, Response $response, array $args) |
|
{ |
|
try { |
|
$body = json_decode($request->getBody()->getContents(), true); |
|
$dados = $this->validateData($request); |
|
|
|
$dados['org_id'] = $body['org_id']; |
|
|
|
$data = Queue::find($dados, [ |
|
'id', "REGEXP_REPLACE(nome, '@[0-9]+', '') AS nome", 'numero', 'musicclass', 'strategy', 'servicelevel', |
|
'status', 'tempo_ring', 'modo_atendimento', |
|
'disponivelfila', 'libera_pausa' |
|
]); |
|
|
|
if (!$data) { |
|
$response->getBody()->write(json_encode(['status' => false, 'data' => ['message' => 'Nenhum resultado encontrado!']])); |
|
} else { |
|
$response->getBody()->write(json_encode(['status' => true, 'data' => $data])); |
|
} |
|
} catch (Exception $e) { |
|
$response->getBody()->write(json_encode(['status' => false, 'data' => ["message" => "Nao foi possivel realizar a consulta! " . $e->getMessage()]])); |
|
} |
|
return $response; |
|
} |
|
}
|
|
|