Browse Source

implements rota messages list

main
lucas cardoso 2 years ago
parent
commit
f998c09599
  1. 60
      app/Controllers/MessageController.php
  2. 5
      app/Models/MessageModel.php
  3. 6
      index.php

60
app/Controllers/MessageController.php

@ -3,53 +3,39 @@
namespace app\Controllers;
use app\Core\Controller;
use app\Models\Message;
use app\Models\MessageModel;
use Exception;
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Throwable;
/**
* Description of MessageController
*
* @author root
*/
class MessageController extends Controller
{
/** @var Message $message model de Message */
protected $message;
protected MessageModel $messageModel;
public function __construct()
{
$this->message = new Message();
$this->messageModel = new MessageModel();
}
/**
* Calcula o timeout para o encerramento da chamada
* @param type $matricula
* @param type $ramal
* @param type $timer
* @return boolean
*/
public function timeoutTalk($uniqueid, $cliente)
function listarMensagens(Request $request, Response $response, $args): Response
{
try {
$message = $this->message->findLastMessage($uniqueid);
if ($cliente == $message->dst) {
if (strtotime($message->msg_date . '+' . CONF_WHATSAPP_TIMEOUT_CLIENT_RESPOSTA . ' seconds') < time()) {
print('FINISH');
return "FINISH";
}
$timealert = strtotime($message->msg_date . '+' . (CONF_WHATSAPP_TIMEOUT_CLIENT_RESPOSTA - 60) . ' seconds');
if ($timealert < strtotime(date('Y-m-d H:i:s'))) {
print('alerta');
return "ALERT";
}
}
return false;
} catch (Exception $ex) {
$this->message->rollback();
$this->message($ex->getMessage());
logger()->error($ex->getMessage());
$params = $request->getQueryParams();
$data = $this->messageModel->list($params);
$response->getBody()->write(
$this->retorno(
"Sucesso",
"sucesso",
$data
)
);
} catch (Throwable $th) {
$response->getBody()->write($this->retorno(
$th->getMessage(),
"error"
));
}
return false;
return $response;
}
}

5
app/Models/MessageModel.php

@ -102,7 +102,10 @@ class MessageModel implements Model
}
function list(array $params = [])
{
throw new Exception('Methodo não implementado');
$table = MessageModel::$table;
$query = "SELECT * FROM $table ";
return $this->db->read($query,)->fetchAll();
}
function delet(array $params)
{

6
index.php

@ -2,6 +2,7 @@
use app\Controllers\AtendimentosController;
use app\Controllers\AuthController;
use app\Controllers\MessageController;
use app\Controllers\PausaController;
use app\Controllers\QueueController;
use Slim\Factory\AppFactory;
@ -35,4 +36,9 @@ $app->group('/atendimentos', function (RouteCollectorProxy $group) {
$group->get('', [AtendimentosController::class, 'listarAtendimentos']);
$group->post('/finalizar', [AtendimentosController::class, 'finalizarAtemdimento']);
});
$app->group('/messages', function (RouteCollectorProxy $group) {
$group->get('', [MessageController::class, 'listarMensagens']);
});
$app->run();
Loading…
Cancel
Save