model = new OrderModel(); } public function __invoke(ServerRequestInterface $request) { $body = json_decode((string)$request->getBody(), true) ?? []; try { v::key('order_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(401); } $orderId = (int) $body['order_id']; $companyId = (int) $body['company_id']; $hardDelete = isset($body['cancel']) && $body['cancel'] === true; $deleted = $this->model->deleteOrder($orderId, $companyId, $hardDelete); return $deleted ? ResponseLib::sendOk(['deleted' => true, 'hard' => $hardDelete]) : ResponseLib::sendFail("Failed to Delete Order or Order Not Found", [], "E_DATABASE")->withStatus(204); } }