* * @protected */ class Project extends Api { public function index() { try { $start = null; $limit = null; $filter = ""; $projects = Adapter\BpmnWorkflow::getList($start, $limit, $filter, CASE_LOWER); return $projects; } catch (\Exception $e) { throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()); } } public function get($prjUid) { try { return Adapter\BpmnWorkflow::getStruct($prjUid); } catch (\Exception $e) { throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()); } } /** * @status 201 */ public function post($request_data) { try { //TODO } catch (\Exception $e) { // TODO in case that $process->createProcess($userUid, $data); fails maybe the BPMN project was created successfully // so, we need remove it or change the creation order. throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()); } } public function put($prjUid, $request_data) { try { return Adapter\BpmnWorkflow::updateFromStruct($prjUid, $request_data); } catch (\Exception $e) { throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()); } } public function delete($prjUid) { try { // TODO } catch (\Exception $e) { throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()); } } /** * @url GET /:prj_uid/process * * @param string $prj_uid {@min 32}{@max 32} */ public function doGetProcess($prj_uid) { try { $process = new \BusinessModel\Process(); $process->setFormatFieldNameInUppercase(false); $process->setArrayFieldNameForException(array("processUid" => "prj_uid")); $response = $process->getProcess($prj_uid); return $response; } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } } /** * @url PUT /:prj_uid/process * * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data */ public function doPutProcess($prj_uid, $request_data) { try { $process = new \BusinessModel\Process(); $process->setFormatFieldNameInUppercase(false); $process->setArrayFieldNameForException(array("processUid" => "prj_uid")); $arrayData = $process->update($prj_uid, $request_data); } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } } /** * @url GET /:prj_uid/dynaforms * * @param string $prj_uid {@min 32}{@max 32} */ public function doGetDynaForms($prj_uid) { try { $process = new \BusinessModel\Process(); $process->setFormatFieldNameInUppercase(false); $process->setArrayFieldNameForException(array("processUid" => "prj_uid")); $response = $process->getDynaForms($prj_uid); return $response; } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } } /** * @url GET /:prj_uid/input-documents * * @param string $prj_uid {@min 32}{@max 32} */ public function doGetInputDocuments($prj_uid) { try { $process = new \BusinessModel\Process(); $process->setFormatFieldNameInUppercase(false); $process->setArrayFieldNameForException(array("processUid" => "prj_uid")); $response = $process->getInputDocuments($prj_uid); return $response; } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } } /** * @url GET /:prj_uid/web-entries * * @param string $prj_uid {@min 32}{@max 32} */ public function doGetWebEntries($prj_uid) { try { $process = new \BusinessModel\Process(); $process->setFormatFieldNameInUppercase(false); $process->setArrayFieldNameForException(array("processUid" => "prj_uid")); $response = $process->getWebEntries($prj_uid); return $response; } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } } /** * @url GET /:prj_uid/variables * * @param string $prj_uid {@min 32}{@max 32} */ public function doGetVariables($prj_uid) { try { $process = new \BusinessModel\Process(); $process->setFormatFieldNameInUppercase(false); $process->setArrayFieldNameForException(array("processUid" => "prj_uid")); $response = $process->getVariables("ALL", $prj_uid); return $response; } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } } /** * @url GET /:prj_uid/grid/variables * @url GET /:prj_uid/grid/:grid_uid/variables * * @param string $prj_uid {@min 32}{@max 32} * @param string $grid_uid */ public function doGetGridVariables($prj_uid, $grid_uid = "") { try { $process = new \BusinessModel\Process(); $process->setFormatFieldNameInUppercase(false); $process->setArrayFieldNameForException(array("processUid" => "prj_uid")); $response = ($grid_uid == "")? $process->getVariables("GRID", $prj_uid) : $process->getVariables("GRIDVARS", $prj_uid, $grid_uid); return $response; } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } } /** * @url GET /:prj_uid/trigger-wizards * * @param string $prj_uid {@min 32}{@max 32} */ public function doGetTriggerWizards($prj_uid) { try { $process = new \BusinessModel\Process(); $process->setFormatFieldNameInUppercase(false); $process->setArrayFieldNameForException(array("processUid" => "prj_uid", "libraryName" => "lib_name", "methodName" => "fn_name")); $response = $process->getLibraries($prj_uid); return $response; } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } } }