Files
luos/workflow/engine/src/Services/Api/ProcessMaker/Project.php
Victor Saisa Lopez defc377061 ProcessMaker-MA "Dynaforms Resources (endpoints)"
- Se han implementado los siguientes Endpoints:
    GET    /api/1.0/{workspace}/project/{prj_uid}/dynaforms
    GET    /api/1.0/{workspace}/project/{prj_uid}/dynaform/{dyn_uid}
    POST   /api/1.0/{workspace}/project/{prj_uid}/dynaform
    PUT    /api/1.0/{workspace}/project/{prj_uid}/dynaform/{dyn_uid}
    DELETE /api/1.0/{workspace}/project/{prj_uid}/dynaform/{dyn_uid}
2013-12-23 17:14:04 -04:00

97 lines
2.4 KiB
PHP

<?php
namespace Services\Api\ProcessMaker;
use Luracast\Restler\RestException;
use ProcessMaker\Services\Api;
use ProcessMaker\Adapter\Bpmn\Model as BpmnModel;
/**
* Class Project
*
* @package Services\Api\ProcessMaker
* @author Erik Amaru Ortiz <aortiz.erik@gmail.com, erik@colosa.com>
*
* @protected
*/
class Project extends Api
{
function index()
{
try {
$projects = BpmnModel::loadProjects();
return $projects;
} catch (\Exception $e) {
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
}
}
/**
* @status 201
*/
function post($request_data)
{
try {
$bpmnModel = new BpmnModel();
$uids = $bpmnModel->createProject($request_data);
$wfProcess = \ProcessMaker\Adapter\Workflow::loadFromBpmnProject($uids[0]['new_uid']);
$process = new \BusinessModel\Process();
$userUid = $this->getUserId();
$data = array('process' => $wfProcess);
$process->createProcess($userUid, $data);
return $uids;
} catch (\Exception $e) {
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
}
}
function get($prjUid)
{
try {
$project = BpmnModel::loadProject($prjUid);
//$WorkflowProces = \ProcessMaker\Adapter\Workflow::loadFromBpmnProject($prjUid);
//return $WorkflowProces;
return $project;
} catch (\Exception $e) {
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
}
}
/**
* @url GET /:projectUid/dynaforms
*/
public function doGetDynaForms($projectUid)
{
try {
$process = new \BusinessModel\Process();
$response = $process->getDynaForms($projectUid);
return $response;
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
/**
* @url GET /:projectUid/input-documents
*/
public function doGetInputDocuments($projectUid)
{
try {
$process = new \BusinessModel\Process();
$response = $process->getInputDocuments($projectUid);
return $response;
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
}