Files
luos/workflow/engine/src/Services/Api/ProcessMaker/Project/InputDocument.php
Victor Saisa Lopez 7252fbdd40 ProcessMaker-MA "Input Documents Resources (endpoints)"
- Se han implementado los siguientes Endpoints:
    GET    * /api/1.0/{workspace}/project/{prj_uid}/input-documents
    GET    * /api/1.0/{workspace}/project/{prj_uid}/input-document/{inp_doc_uid}
    POST   * /api/1.0/{workspace}/project/{prj_uid}/input-document
    PUT    * /api/1.0/{workspace}/project/{prj_uid}/input-document/{inp_doc_uid}
    DELETE   /api/1.0/{workspace}/project/{prj_uid}/input-document/{inp_doc_uid}

    Para los Endpoints con *, se ha corregido los siguientes atributos:
    - "out_doc_form_needed" se a cambiado por "inp_doc_form_needed"
    - "inp_doc_versionning" se a cambiado por "inp_doc_versioning"
2013-12-16 11:59:47 -04:00

176 lines
4.0 KiB
PHP

<?php
namespace Services\Api\ProcessMaker\Project;
use \ProcessMaker\Services\Api;
use \Luracast\Restler\RestException;
/**
* Project\InputDocument Api Controller
*
* @protected
*/
class InputDocument extends Api
{
/**
* @url GET /:projectUid/input-document/:inputDocumentUid
*/
public function doGetInputDocument($inputDocumentUid, $projectUid)
{
try {
$inputdoc = new \BusinessModel\InputDocument();
$response = $inputdoc->getInputDocument($inputDocumentUid);
return $response;
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
/**
* @url POST /:projectUid/input-document
*
* @param string $projectUid
* @param InputDocumentPostStructure $request_data
*
* @status 201
*/
public function doPostInputDocument($projectUid, InputDocumentPostStructure $request_data = null)
{
try {
$inputdoc = new \BusinessModel\InputDocument();
$arrayData = $inputdoc->getArrayDataFromRequestData($request_data);
$arrayData = $inputdoc->create($projectUid, $arrayData);
$response = $arrayData;
return $response;
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
/**
* @url PUT /:projectUid/input-document/:inputDocumentUid
*
* @param string $inputDocumentUid
* @param string $projectUid
* @param InputDocumentPutStructure $request_data
*/
public function doPutInputDocument($inputDocumentUid, $projectUid, InputDocumentPutStructure $request_data = null)
{
try {
$inputdoc = new \BusinessModel\InputDocument();
$arrayData = $inputdoc->getArrayDataFromRequestData($request_data);
$arrayData = $inputdoc->update($inputDocumentUid, $arrayData);
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
/**
* @url DELETE /:projectUid/input-document/:inputDocumentUid
*/
public function doDeleteInputDocument($inputDocumentUid, $projectUid)
{
try {
$inputdoc = new \BusinessModel\InputDocument();
$inputdoc->delete($inputDocumentUid);
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
}
class InputDocumentPostStructure
{
/**
* @var string {@from body}{@required true}
*/
public $inp_doc_title;
/**
* @var string {@from body}
*/
public $inp_doc_description;
/**
* @var string {@from body}{@choice VIRTUAL,REAL,VREAL}
*/
public $inp_doc_form_needed;
/**
* @var string {@from body}{@choice ORIGINAL,COPY}
*/
public $inp_doc_original;
/**
* @var string {@from body}{@choice PRIVATE}
*/
public $inp_doc_published;
/**
* @var int {@from body}{@choice 0,1}
*/
public $inp_doc_versioning;
/**
* @var string {@from body}
*/
public $inp_doc_destination_path;
/**
* @var string {@from body}
*/
public $inp_doc_tags;
}
class InputDocumentPutStructure
{
/**
* @var string {@from body}
*/
public $inp_doc_title;
/**
* @var string {@from body}
*/
public $inp_doc_description;
/**
* @var string {@from body}{@choice VIRTUAL,REAL,VREAL}
*/
public $inp_doc_form_needed;
/**
* @var string {@from body}{@choice ORIGINAL,COPY}
*/
public $inp_doc_original;
/**
* @var string {@from body}{@choice PRIVATE}
*/
public $inp_doc_published;
/**
* @var int {@from body}{@choice 0,1}
*/
public $inp_doc_versioning;
/**
* @var string {@from body}
*/
public $inp_doc_destination_path;
/**
* @var string {@from body}
*/
public $inp_doc_tags;
}