From 43c536ce018a3edb8c1b6e0b9b2af8960efbe519 Mon Sep 17 00:00:00 2001 From: Victor Saisa Lopez Date: Tue, 3 Dec 2013 13:05:09 -0400 Subject: [PATCH] ProcessMaker-MA "2170 Project Properties - Step resources (Parte 1)" - Se ha anadido el "Status 201 (Created)" para el metodo POST para el step - Se ha anadido la clase "StepStructure" para la validacion de los tipos de datos (Validacion con Restler) - Se ha anadido el alias "step" en el "api.ini" --- .../ProcessMaker/Project/Activity/Step.php | 52 ++++++++++++++++++- workflow/engine/src/Services/api.ini | 2 + 2 files changed, 52 insertions(+), 2 deletions(-) diff --git a/workflow/engine/src/Services/Api/ProcessMaker/Project/Activity/Step.php b/workflow/engine/src/Services/Api/ProcessMaker/Project/Activity/Step.php index b6aa76feb..29713e066 100644 --- a/workflow/engine/src/Services/Api/ProcessMaker/Project/Activity/Step.php +++ b/workflow/engine/src/Services/Api/ProcessMaker/Project/Activity/Step.php @@ -4,6 +4,39 @@ namespace Services\Api\ProcessMaker\Project\Activity; use \ProcessMaker\Api; use \Luracast\Restler\RestException; +class StepStructure +{ + /** + * @var string {@from body}{@min 32}{@max 32} + */ + public $step_uid; + + /** + * @var string {@from body}{@choice DYNAFORM,INPUT_DOCUMENT,OUTPUT_DOCUMENT} + */ + public $step_type_obj; + + /** + * @var string {@from body}{@min 32}{@max 32} + */ + public $step_uid_obj; + + /** + * @var string + */ + public $step_condition; + + /** + * @var int {@from body}{@min 1} + */ + public $step_position; + + /** + * @var string {@from body}{@choice EDIT,VIEW} + */ + public $step_mode; +} + /** * Project\Activity\Step Api Controller * @@ -29,10 +62,18 @@ class Step extends Api /** * @url POST /:projectUid/activity/:activityUid/step + * + * @param string $activityUid + * @param string $projectUid + * @param StepStructure $request_data + * + * @status 201 */ - public function doPostActivityStep($activityUid, $projectUid, $request_data = array()) + public function doPostActivityStep($activityUid, $projectUid, StepStructure $request_data = null) { try { + $request_data = (array)($request_data); + $step = new \BusinessModel\Step(); $stepUid = $step->create($activityUid, $projectUid, $request_data); @@ -47,10 +88,17 @@ class Step extends Api /** * @url PUT /:projectUid/activity/:activityUid/step/:stepUid + * + * @param string $stepUid + * @param string $activityUid + * @param string $projectUid + * @param StepStructure $request_data */ - public function doPutActivityStep($stepUid, $activityUid, $projectUid, $request_data = array()) + public function doPutActivityStep($stepUid, $activityUid, $projectUid, StepStructure $request_data = null) { try { + $request_data = (array)($request_data); + $step = new \BusinessModel\Step(); $step->update($stepUid, $request_data); diff --git a/workflow/engine/src/Services/api.ini b/workflow/engine/src/Services/api.ini index fbac327e7..2c7f5c67b 100644 --- a/workflow/engine/src/Services/api.ini +++ b/workflow/engine/src/Services/api.ini @@ -14,3 +14,5 @@ debug = 1 [alias: project] activity = "Services\Api\ProcessMaker\Project\Activity" + step = "Services\Api\ProcessMaker\Project\Activity\Step" +