/** * @url POST /generate-bpmn * * @param array $request_data * * @status 201 */ public function doPostGenerateBpmn(array $request_data) { try { //Set data $request_data = array_change_key_case($request_data, CASE_UPPER); //Verify data $process = new \ProcessMaker\BusinessModel\Process(); $process->throwExceptionIfDataNotMetFieldDefinition( $request_data, array("PRO_UID" => array("type" => "string", "required" => true, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "processUid")), array("processUid" => "pro_uid"), true ); //Generate BPMN $workflowBpmn = new \ProcessMaker\Project\Adapter\WorkflowBpmn(); $projectUid = $workflowBpmn->generateBpmn($request_data["PRO_UID"], "pro_uid", $this->getUserId()); $arrayData = array_change_key_case(array_merge(array("PRJ_UID" => $projectUid), $request_data), CASE_LOWER); $response = $arrayData; return $response; } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } }
/** * Generate BPMN (New record is generated) * * return void */ public function generateBpmn() { try { $processUid = $_POST["processUid"]; $workflowBpmn = new \ProcessMaker\Project\Adapter\WorkflowBpmn(); $projectUid = $workflowBpmn->generateBpmn($processUid, "processUid", $_SESSION["USER_LOGGED"]); $this->status = "OK"; $this->projectUid = $projectUid; } catch (Exception $e) { $this->status = "ERROR"; $this->message = $e->getMessage(); } }