Browse Source

Implementei validacao da requisicao em api/v2/meet/joinmeet

1.9-pjsip
parent
commit
10065b81d1
  1. 16
      app/controllers/MeetController.php

16
app/controllers/MeetController.php

@ -12,6 +12,7 @@ use Slim\Routing\RouteCollectorProxy;
use Psr\Http\Message\ResponseInterface as Response; use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Message\ServerRequestInterface as Request;
use Exception; use Exception;
use Valitron\Validator;
class MeetController class MeetController
{ {
@ -38,6 +39,19 @@ class MeetController
$this->serverRequest(); $this->serverRequest();
$body = json_decode($request->getBody()->getContents(), true); $body = json_decode($request->getBody()->getContents(), true);
//validation: must have ort_id and data must have the folowing array keys:
$validator = new Validator();
$validator->mapFieldsRules([
"org_id" => ['integer', 'required', ['min', 1]],
"data" => ['array', 'required', ['arrayHasKeys', ['roomName', 'displayName', 'id']]]
]);
$validator = $validator->withData($body);
if (!$validator->validate()) {
$response->getBody()
->write(json_encode($validator->errors()));
return $response->withStatus(422);
}
$dados = []; $dados = [];
$dados['org_id'] = $body['org_id']; $dados['org_id'] = $body['org_id'];
$dados['meet_id'] = $body['data']['roomName']; $dados['meet_id'] = $body['data']['roomName'];
@ -52,7 +66,7 @@ class MeetController
self::$logger->debug('Gonna get by id', true); self::$logger->debug('Gonna get by id', true);
$m = Meet::getMeetById($body['data']['roomName']); $m = Meet::getMeetById($body['data']['roomName']);
$meet = null; //$meet = null;
if (!$m) { if (!$m) {
self::$logger->debug("Meet not found. Needs to bee created", true); self::$logger->debug("Meet not found. Needs to bee created", true);
$meet = Meet::dinamicInsertQuery('pbx_meet', $dados); $meet = Meet::dinamicInsertQuery('pbx_meet', $dados);

Loading…
Cancel
Save