model = new OrderItemModel(); } public function __invoke(ServerRequestInterface $request) { $body = json_decode((string)$request->getBody(), true) ?? []; try { // order_item_id e company_id são obrigatórios para deletar um item específico v::key('order_item_id', v::intType()->positive()) ->key('company_id', v::intType()->positive()) ->assert($body); } catch (ValidationException $e) { return ResponseLib::sendFail("Validation failed: " . $e->getFullMessage(), [], "E_VALIDATE")->withStatus(422); } $orderItemId = (int) $body['order_item_id']; $companyId = (int) $body['company_id']; // Obtém o company_id do payload $deleted = $this->model->deleteOrderItem($orderItemId, $companyId); // Passa company_id para o Model return $deleted ? ResponseLib::sendOk(['deleted' => true]) : ResponseLib::sendFail("Failed to Delete Order Item or Item Not Found for this Company", [], "E_DATABASE")->withStatus(404); } }