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

163 lines
4.8 KiB
PHP
Raw Normal View History

<?php
namespace Services\Api\ProcessMaker\Project;
use \ProcessMaker\Services\Api;
use \Luracast\Restler\RestException;
/**
* Project\ProjectUsers Api Controller
*
* @protected
*/
class FilesManager extends Api
{
/**
* @param string $prjUid {@min 32} {@max 32}
* @param string $path {@choice templates,folder,}
*
* @url GET /:prjUid/process-file-manager
*/
public function doGetProcessFilesManager($prjUid, $path = '')
{
try {
$filesManager = new \BusinessModel\FilesManager();
if ($path != '') {
if ($path == 'templates') {
$path = 'mailTemplates';
} else {
$path = 'public';
}
$arrayData = $filesManager->getProcessFilesManagerPath($prjUid, $path);
} else {
$arrayData = $filesManager->getProcessFilesManager($prjUid);
}
//Response
$response = $arrayData;
} catch (\Exception $e) {
//response
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
}
return $response;
}
/**
* @param string $prjUid {@min 32} {@max 32}
* @param string $path {@choice templates,folder,}
*
* @url GET /:prjUid/process-file-manager-download
*/
public function doGetProcessFilesManagerDownload($prjUid, $path = '')
{
try {
$filesManager = new \BusinessModel\FilesManager();
$arrayData = $filesManager->getProcessFilesManagerDownload($prjUid);
//Response
$response = $arrayData;
} catch (\Exception $e) {
//response
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
}
return $response;
}
/**
* @param string $prjUid {@min 32} {@max 32}
* @param ProcessFilesManagerStructure $request_data
*
* @url POST /:prjUid/process-file-manager
*/
public function doPostProcessFilesManager($prjUid, ProcessFilesManagerStructure $request_data)
{
try {
$userUid = $this->getUserId();
$request_data = (array)($request_data);
$filesManager = new \BusinessModel\FilesManager();
$arrayData = $filesManager->addProcessFilesManager($prjUid, $userUid, $request_data);
//Response
$response = $arrayData;
} catch (\Exception $e) {
//response
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
}
return $response;
}
/**
* @param string $prjUid {@min 32} {@max 32}
*
* @url POST /:prjUid/process-file-manager-upload
*/
public function doPostProcessFilesManagerUpload($prjUid)
{
try {
$userUid = $this->getUserId();
$filesManager = new \BusinessModel\FilesManager();
$arrayData = $filesManager->uploadProcessFilesManager($prjUid, $userUid);
//Response
$response = $arrayData;
} catch (\Exception $e) {
//response
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
}
return $response;
}
/**
* @param string $prjUid {@min 32} {@max 32}
* @param ProcessFilesManagerStructure $request_data
*
* @url PUT /:prjUid/process-file-manager-upload
*/
public function doPutProcessFilesManagerUpload($prjUid, ProcessFilesManagerStructure $request_data)
{
try {
$userUid = $this->getUserId();
$request_data = (array)($request_data);
$filesManager = new \BusinessModel\FilesManager();
$arrayData = $filesManager->updateProcessFilesManager($prjUid, $userUid, $request_data);
//Response
$response = $arrayData;
} catch (\Exception $e) {
//response
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
}
return $response;
}
/**
* @param string $prjUid {@min 32} {@max 32}
*
* @url DELETE /:prjUid/process-file-manager-delete
*/
public function doDeleteProcessFilesManager($prjUid)
{
try {
$filesManager = new \BusinessModel\FilesManager();
$arrayData = $filesManager->deleteProcessFilesManager($prjUid);
//Response
$response = $arrayData;
} catch (\Exception $e) {
//response
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
}
return $response;
}
}
class ProcessFilesManagerStructure
{
/**
* @var string {@from body}
*/
public $file_name;
/**
* @var string {@from body}
*/
public $path;
/**
* @var string {@from body}
*/
public $content;
}