開發一個擷取登入使用者ID的REST API
ProcessMaker沒有提供擷取登入使用者ID的REST API,需要我們自己定制開發。
1 、運作環境
- ProcessMaker 版本 :3.2.2 社群版
- workspace:workflow
- 作業系統:Ubuntu SMP Mon Feb 12 21:23:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linu
2、操作步驟
2-1 、切換到Api目錄
cd /opt/processmaker-3.2.2-0/apps/processmaker/htdocs/workflow/engine/src/ProcessMaker/Services/Api
2-2 、建立類檔案LoggedUserId.php
sudo vi LoggedUserId.php
2-3、輸入代碼
<?php
namespace ProcessMaker\Services\Api;
use \ProcessMaker\Services\Api;
use \Luracast\Restler\RestException;
/**
* LoggedUserId Api Controller
*
* @protected
*/
class LoggedUserId extends Api
{
/**
* Return the ID of the logged-in user
*
* @url GET
* @access protected
* @class AccessControl {@permission PM_USERS,PM_FACTORY}
*
* @author genwise <[email protected]>
* @copyright Public Domain
*/
public function getLoggedUserId()
{
$response['id'] = $this->getUserId();
return $response;
}
}
2-4 、切換到Services目錄
cd ..
2-5 、編輯api.ini
sudo vi api.ini
2-6 、在api.ini 最後添加以下代碼
[alias: loggeduserid]
loggeduserid = "ProcessMaker\Services\Api\LoggedUserId"
2-7、删除檔案routes.php
cd /opt/processmaker-3.2.2-0/apps/processmaker/htdocs/shared/sites/workflow
sudo rm routes.php
3、擷取登入使用者ID的REST API開發完成
通路方法是:GET
通路端點是:/api/1.0/workflow/loggeduserid
參考資料:
- 電子表單DynaForm通路ProcessMaker REST API