model = new OrderItemModel(); } public function __invoke(ServerRequestInterface $request) { $body = json_decode((string)$request->getBody(), true) ?? []; try { v::key('company_id', v::intType()->positive()) ->key('order_item_ids', v::arrayType()->each(v::intType()->positive())) ->assert($body); } catch (ValidationException $e) { return ResponseLib::sendFail( "Validation failed: " . $e->getFullMessage(), [], "E_VALIDATE" )->withStatus(400); } $companyId = (int) $body['company_id']; $orderItemIds = $body['order_item_ids']; $results = $this->model->updateOrderItems($orderItemIds, $companyId); return ResponseLib::sendOk([ 'updated_items' => $results ]); } }