Merge branch 'fronkdev' into 'master'

Added statusupdate endpoint to Preorder Selfservice Api

See merge request fronk/thetool!826
This commit is contained in:
Frank Schubert
2024-12-18 15:31:57 +00:00

View File

@@ -4,6 +4,7 @@ class PreorderselfserviceApicontroller extends mfBaseApicontroller {
public function init() {
$this->addRoute("/preorderselfservice/preorder", "getPreorder", "GET");
$this->addRoute("/preorderselfservice/:oaid/:status", "setSelfserviceStatus", "POST");
}
protected function authenticated() {
@@ -70,4 +71,45 @@ class PreorderselfserviceApicontroller extends mfBaseApicontroller {
return mfResponse::Ok($result);
}
/*
* /preorderselfservice/:oaid/:status
*/
protected function setSelfserviceStatus($params = []) {
if(!$params["oaid"] || !$params["status"]) {
return mfResponse::BadRequest(["message" => "mandatory parameters missing"]);
}
$oaid = $params["oaid"];
$status_code = $params["status"];
$preorder = PreorderModel::getFirst(["oaid" => $oaid]);
if(!$preorder) {
return mfResponse::NotFound(["message" => "OAID not found"]);
}
$valid_stati = [200, 242];
if(!in_array($status_code, $valid_stati)) {
return mfResponse::BadRequest(["message" => "Invalid Status code"]);
}
//var_dump($preorder->statusflags);exit;
$sflag = PreorderStatusflagModel::getFirst(["code" => $status_code]);
$sflag_val = PreorderStatusflagValueModel::getFirst(["preorder_id" => $preorder->id, "flag_id" => $sflag->id]);
if(!$sflag_val) {
$sflag_val = PreorderStatusflagValueModel::create([
"preorder_id" => $preorder->id,
"flag_id" => $sflag->id
]);
}
if($sflag_val->value != 1) {
$sflag_val->value = 1;
if(!$sflag_val->save()) {
return mfResponse::InternalServerError();
}
}
return mfResponse::Ok(["message" => "Status saved successfully"]);
}
}