"id missing"]); } $bb_up = $this->post["bb_up"]; $bb_down = $this->post["bb_down"]; $execution_date = false; if($this->post["execution_date"]) { try { $execution_date = new \DateTime($this->post["execution_date"]); } catch(\Exception $e) { return \mfResponse::BadRequest(["message" => "Invalid Timestamp format"]); } } if(!is_numeric($bb_down) || !$bb_down || !is_numeric($bb_up) || !$bb_up || !$bb_down > 10000 || $bb_up > 10000) { return \mfResponse::BadRequest(["message" => "Invalid bandwidth"]); } $wohneinheit = false; if(is_numeric($req_id)) { $id = $req_id; $wohneinheit = new \ADBWohneinheit($id); } if(!$wohneinheit || !$wohneinheit->id) { $oaid = $req_id; $wohneinheit = \ADBWohneinheitModel::getFirst(["oaid" => $oaid]); if (!$wohneinheit) { return \mfResponse::NotFound(["message" => "Home not found"]); } } $preorder = \PreorderModel::getFirstActive(["adb_wohneinheit_id" => $wohneinheit->id]); if(!$preorder) { return \mfResponse::NotFound(["message" => "Home not found"]); } $cc_home_id = \Citycom_OanApiHelper::hausnummerExtrefToCitycomId($wohneinheit->extref); $data["up"] = $bb_up; $data["down"] = $bb_down; $data["product_name"] = false; $data["execution_date"] = ($execution_date) ? $execution_date->format("Y-m-d") : false; $data["services"] = CITYCOM_OAN_API_SERVICES_FOR_ORDER; if($preorder->campaign->name == "Citycom - Graz") { $data["product_name"] = "Estmk OAN $bb_down/$bb_up"; } $cc_api_client = new \Citycom_OanApiClient(CITYCOM_OAN_API_USER, CITYCOM_OAN_API_PASS); $cc_api = new \Citycom_OanApiHelper($cc_api_client); if(!$cc_api->orderServices($preorder, $cc_home_id, $data)) { return \mfResponse::InternalServerError(["message" => "Error activating service"]); } return \mfResponse::Ok(); } }