天天看點

ProcessMaker REST API 定制開發開發一個擷取登入使用者ID的REST API

開發一個擷取登入使用者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