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

190 lines
6.2 KiB
PHP
Raw Normal View History

2014-01-09 16:33:07 -04:00
<?php
namespace ProcessMaker\Services\Api\Project;
2014-01-09 16:33:07 -04:00
use \ProcessMaker\Services\Api;
use \Luracast\Restler\RestException;
/**
* Project\ProcessPermissions Api Controller
2014-01-09 16:33:07 -04:00
*
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
* @copyright Colosa - Bolivia
*
* @protected
*/
class ProcessPermissions extends Api
{
/**
2014-02-06 15:58:10 -04:00
* @param string $prj_uid {@min 1} {@max 32}
2014-01-09 16:33:07 -04:00
*
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
* @copyright Colosa - Bolivia
*
* @return array
*
* @url GET /:prj_uid/process-permissions
2014-01-09 16:33:07 -04:00
*/
2014-02-06 15:58:10 -04:00
public function doGetProcessPermissions($prj_uid)
2014-01-09 16:33:07 -04:00
{
try {
$processPermissions = new \ProcessMaker\BusinessModel\ProcessPermissions();
2014-02-06 15:58:10 -04:00
$response = $processPermissions->getProcessPermissions($prj_uid);
2014-01-09 16:33:07 -04:00
return $response;
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
2014-01-10 15:32:14 -04:00
/**
2014-02-06 15:58:10 -04:00
* @param string $prj_uid {@min 1} {@max 32}
* @param string $ob_uid {@min 1} {@max 32}
2014-01-10 15:32:14 -04:00
*
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
* @copyright Colosa - Bolivia
*
* @return array
*
2014-02-06 15:58:10 -04:00
* @url GET /:prj_uid/process-permission/:ob_uid
2014-01-10 15:32:14 -04:00
*/
2014-02-06 15:58:10 -04:00
public function doGetProcessPermission($prj_uid, $ob_uid)
2014-01-10 15:32:14 -04:00
{
try {
$processPermissions = new \ProcessMaker\BusinessModel\ProcessPermissions();
2014-02-06 15:58:10 -04:00
$response = $processPermissions->getProcessPermissions($prj_uid, $ob_uid);
2014-01-10 15:32:14 -04:00
return $response;
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
/**
2014-02-06 15:58:10 -04:00
* @param string $prj_uid {@min 1} {@max 32}
* @param array $request_data
*
* @param string $usr_uid {@from body} {@min 1} {@max 32}
* @param string $op_user_relation {@from body} {@choice 1,2}
* @param string $op_case_status {@from body} {@choice ALL,DRAFT,TO_DO,PAUSED,COMPLETED}
* @param string $op_participate {@from body} {@choice 0,1}
* @param string $op_obj_type {@from body} {@choice ANY,DYNAFORM,INPUT,OUTPUT,CASES_NOTES,MSGS_HISTORY,SUMMARY_FORM}
* @param string $op_action {@from body} {@choice VIEW,BLOCK,DELETE,RESEND}
* @param string $tas_uid {@from body}
* @param string $op_task_source {@from body}
* @param string $dynaforms {@from body}
* @param string $inputs {@from body}
* @param string $outputs {@from body}
*
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
* @copyright Colosa - Bolivia
*
* @return array
*
2014-02-06 15:58:10 -04:00
* @url POST /:prj_uid/process-permission/
2014-01-17 12:06:04 -04:00
* @status 201
*/
public function doPostProcessPermission(
2014-02-06 15:58:10 -04:00
$prj_uid,
2014-01-25 06:36:45 -04:00
$request_data,
$usr_uid,
$op_user_relation,
$op_case_status,
2014-01-25 06:36:45 -04:00
$op_participate,
$op_obj_type,
$op_action,
$tas_uid = '',
$op_task_source = '',
$dynaforms = '',
$inputs = '',
$outputs = ''
) {
try {
$hiddenFields = array('task_target', 'group_user', 'task_source',
'object_type', 'object', 'participated', 'action'
);
2014-02-06 15:58:10 -04:00
$request_data['pro_uid'] = $prj_uid;
$processPermissions = new \ProcessMaker\BusinessModel\ProcessPermissions();
$response = $processPermissions->saveProcessPermission($request_data);
foreach ($response as $key => $eventData) {
if (in_array($key, $hiddenFields)) {
unset($response[$key]);
}
}
return $response;
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
/**
2014-02-06 15:58:10 -04:00
* @param string $prj_uid {@min 1} {@max 32}
* @param string $ob_uid {@min 1} {@max 32}
* @param array $request_data
*
* @param string $usr_uid {@from body} {@min 1} {@max 32}
* @param string $op_user_relation {@from body} {@choice 1,2}
* @param string $op_case_status {@from body} {@choice ALL,DRAFT,TO_DO,PAUSED,COMPLETED}
* @param string $op_participate {@from body} {@choice 0,1}
* @param string $op_obj_type {@from body} {@choice ANY,DYNAFORM,INPUT,OUTPUT,CASES_NOTES,MSGS_HISTORY,SUMMARY_FORM}
* @param string $op_action {@from body} {@choice VIEW,BLOCK,DELETE,RESEND}
* @param string $tas_uid {@from body}
* @param string $op_task_source {@from body}
* @param string $dynaforms {@from body}
* @param string $inputs {@from body}
* @param string $outputs {@from body}
*
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
* @copyright Colosa - Bolivia
*
* @return array
*
2014-02-06 15:58:10 -04:00
* @url PUT /:prj_uid/process-permission/:ob_uid
*/
public function doPutProcessPermission(
2014-02-06 15:58:10 -04:00
$prj_uid,
$ob_uid,
2014-01-25 06:36:45 -04:00
$request_data,
$usr_uid,
2014-01-25 06:36:45 -04:00
$op_user_relation,
$op_case_status,
$op_participate,
$op_obj_type,
$op_action,
$tas_uid = '',
2014-01-25 06:36:45 -04:00
$op_task_source = '',
$dynaforms = '',
$inputs = '',
$outputs = ''
) {
try {
2014-02-06 15:58:10 -04:00
$request_data['pro_uid'] = $prj_uid;
$processPermissions = new \ProcessMaker\BusinessModel\ProcessPermissions();
2014-02-06 15:58:10 -04:00
$response = $processPermissions->saveProcessPermission($request_data, $ob_uid);
return $response;
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
/**
2014-02-06 15:58:10 -04:00
* @param string $prj_uid {@min 1} {@max 32}
* @param string $ob_uid {@min 1} {@max 32}
*
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
* @copyright Colosa - Bolivia
*
* @return void
*
2014-02-06 15:58:10 -04:00
* @url DELETE /:prj_uid/process-permission/:ob_uid
*/
2014-02-06 15:58:10 -04:00
public function doDeleteProcessPermission($prj_uid, $ob_uid)
{
try {
$processPermissions = new \ProcessMaker\BusinessModel\ProcessPermissions();
2014-02-06 15:58:10 -04:00
$response = $processPermissions->deleteProcessPermission($ob_uid, $prj_uid);
return $response;
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
2014-01-09 16:33:07 -04:00
}