summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancois Ferrand <thetypz@gmail.com>2015-03-03 16:01:37 +0100
committerFrancois Ferrand <thetypz@gmail.com>2015-03-03 16:35:45 +0100
commitefbcc22f5af2e9b5d241a9cee0dded48353cb91e (patch)
tree447a9abe9c90a4fce1f3b3ec64cb97ebc8bcca97
parent23f8f2c576271a9007b5da0a4d0ba144ad66086d (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.php16
-rw-r--r--docs/api-json-rpc.markdown89
-rw-r--r--jsonrpc.php2
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');