diff options
author | Francois Ferrand <thetypz@gmail.com> | 2015-03-03 16:01:37 +0100 |
---|---|---|
committer | Francois Ferrand <thetypz@gmail.com> | 2015-03-03 16:35:45 +0100 |
commit | efbcc22f5af2e9b5d241a9cee0dded48353cb91e (patch) | |
tree | 447a9abe9c90a4fce1f3b3ec64cb97ebc8bcca97 | |
parent | 23f8f2c576271a9007b5da0a4d0ba144ad66086d (diff) |
Add missing swimlane REST API
Missing API to retrieve extra details were missing:
getSwimlane($project_id, $name)
getAllSwimlanes($project_id)
-rw-r--r-- | app/Model/Swimlane.php | 16 | ||||
-rw-r--r-- | docs/api-json-rpc.markdown | 89 | ||||
-rw-r--r-- | jsonrpc.php | 2 |
3 files changed, 107 insertions, 0 deletions
diff --git a/app/Model/Swimlane.php b/app/Model/Swimlane.php index c9bc43e1..c189c91f 100644 --- a/app/Model/Swimlane.php +++ b/app/Model/Swimlane.php @@ -75,6 +75,22 @@ class Swimlane extends Base } /** + * Get a swimlane by the project and the name + * + * @access public + * @param integer $project_id Project id + * @param string $name Name + * @return integer + */ + public function getByName($project_id, $name) + { + return $this->db->table(self::TABLE) + ->eq('project_id', $project_id) + ->eq('name', $name) + ->findAll(); + } + + /** * Get default swimlane properties * * @access public diff --git a/docs/api-json-rpc.markdown b/docs/api-json-rpc.markdown index 1075de56..c2636cfd 100644 --- a/docs/api-json-rpc.markdown +++ b/docs/api-json-rpc.markdown @@ -1045,6 +1045,95 @@ Response example: } ``` +### getAllSwimlanes + +- Purpose: **Get the list of all swimlanes of a project** +- Parameters: + - **project_id** (integer, required) +- Result on success: **swimlane properties** +- Result on failure: **null** + +Request example: + +```json +{ + "jsonrpc": "2.0", + "method": "getAllSwimlanes", + "id": 1242049935, + "params": [ + 2 + ] +} +``` + +Response example: + +```json +{ + "jsonrpc": "2.0", + "id": 1242049935, + "result": [ + { + "id": "0", + "name": "Default" + }, + { + "id": "3", + "name": "Version 1.0", + "is_active" : "0", + "position" : 1, + "project_id" : 2 + }, + { + "id": "2", + "name": "Version 7.0", + "is_active" : "1" + "position" : 2, + "project_id" : 2 + } + ] +} +``` + +### getSwimlane + +- Purpose: **Get the a swimlane** +- Parameters: + - **project_id** (integer, required) + - **name** (string, required) +- Result on success: **swimlane properties** +- Result on failure: **null** + +Request example: + +```json +{ + "jsonrpc": "2.0", + "method": "getSwimlane", + "id": 1242049935, + "params": [ + 2, + "Version 1.0" + ] +} +``` + +Response example: + +```json +{ + "jsonrpc": "2.0", + "id": 1242049935, + "result": { + "id": "3", + "name": "Version 1.0", + "is_active" : "0", + "position" : 2, + "project_id" : 2 + } +} +``` + ### moveSwimlaneUp - Purpose: **Move up the swimlane position** diff --git a/jsonrpc.php b/jsonrpc.php index 66421daf..afc1ed18 100644 --- a/jsonrpc.php +++ b/jsonrpc.php @@ -68,6 +68,8 @@ $server->bind('removeColumn', $container['board'], 'removeColumn'); * Swimlane procedures */ $server->bind('getSwimlanes', $container['swimlane'], 'getSwimlanes'); +$server->bind('getAllSwimlanes', $container['swimlane'], 'getAll'); +$server->bind('getSwimlane', $container['swimlane'], 'getByName'); $server->bind('addSwimlane', $container['swimlane'], 'create'); $server->bind('updateSwimlane', $container['swimlane'], 'rename'); $server->bind('removeSwimlane', $container['swimlane'], 'remove'); |