model = new TableModel(); } public function __invoke(ServerRequestInterface $request) { $body = json_decode((string)$request->getBody(), true) ?? []; $tableNumber = $body['table_number'] ?? null; $companyId = $body['company_id'] ?? null; // Validação usando Respect Validation try { v::key('table_number', v::alnum(' ')->notEmpty()) ->key('company_id', v::intType()->positive()) ->assert($body); } catch (ValidationException $e) { return ResponseLib::sendFail("Validation failed: " . $e->getFullMessage(), [], "E_VALIDATE")->withStatus(401); } $deleted = $this->model->deleteTableByNumber((string)$tableNumber, (int)$companyId); return $deleted ? ResponseLib::sendOk(['deleted' => true]) : ResponseLib::sendFail("Table Not Found or Already Deleted", [], "E_DATABASE")->withStatus(204); } }