Files
luos/workflow/engine/src/Services/Api/ProcessMaker/Project.php

238 lines
6.8 KiB
PHP
Raw Normal View History

<?php
namespace Services\Api\ProcessMaker;
use Luracast\Restler\RestException;
use ProcessMaker\Services\Api;
use \ProcessMaker\Project\Adapter;
use \ProcessMaker\Util;
/**
* Class Project
*
* @package Services\Api\ProcessMaker
* @author Erik Amaru Ortiz <aortiz.erik@gmail.com, erik@colosa.com>
*
* @protected
*/
class Project extends Api
{
public function index()
2013-12-05 23:01:02 -04:00
{
try {
$start = null;
$limit = null;
$filter = "";
2013-12-05 23:01:02 -04:00
$projects = Adapter\BpmnWorkflow::getList($start, $limit, $filter, CASE_LOWER);
return $projects;
2013-12-05 23:01:02 -04:00
} 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()));
}
}
2013-12-05 23:01:02 -04:00
}