summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorNikolaos Georgakis <nikos.git@ngtech.gr>2016-06-07 17:48:03 +0300
committerNikolaos Georgakis <nikos.git@ngtech.gr>2016-06-07 17:53:24 +0300
commit27f947412fcf7b04a55f7118ddd1029ab6db4b66 (patch)
treed8f2ac28519fe8c0de95b724b50631d48cbb06d3 /app
parent5e7a812933390d30e714efc3a1ff4a94dbd1702d (diff)
Expose SubTask Time Tracking though the API
Also allow users to create Subtasks and Log Time for Subtasks through the User API Rebased to new API code
Diffstat (limited to 'app')
-rw-r--r--app/Api/Middleware/AuthenticationApiMiddleware.php7
-rw-r--r--app/Api/SubtaskTimeTracking.php32
-rw-r--r--app/ServiceProvider/ApiProvider.php2
3 files changed, 41 insertions, 0 deletions
diff --git a/app/Api/Middleware/AuthenticationApiMiddleware.php b/app/Api/Middleware/AuthenticationApiMiddleware.php
index 5f63e1a1..b16e10b8 100644
--- a/app/Api/Middleware/AuthenticationApiMiddleware.php
+++ b/app/Api/Middleware/AuthenticationApiMiddleware.php
@@ -32,13 +32,20 @@ class AuthenticationApiMiddleware extends Base implements MiddlewareInterface
'getDefaultTaskColors',
'getColorList',
'getProjectById',
+ 'getSubTask',
'getTask',
'getTaskByReference',
+ 'getTimeSpent',
'getAllTasks',
+ 'getAllSubTasks',
+ 'hasTimer',
+ 'logStartTime',
+ 'logEndTime',
'openTask',
'closeTask',
'moveTaskPosition',
'createTask',
+ 'createSubtask',
'updateTask',
'getBoard',
'getProjectActivity',
diff --git a/app/Api/SubtaskTimeTracking.php b/app/Api/SubtaskTimeTracking.php
new file mode 100644
index 00000000..e178dbce
--- /dev/null
+++ b/app/Api/SubtaskTimeTracking.php
@@ -0,0 +1,32 @@
+<?php
+
+namespace Kanboard\Api;
+
+/**
+ * Subtask Time Tracking API controller
+ *
+ * @package api
+ * @author Nikolaos Georgakis
+ */
+class SubtaskTimeTracking extends \Kanboard\Core\Base
+{
+ public function hasTimer($subtask_id,$user_id)
+ {
+ return $this->subtaskTimeTracking->hasTimer($subtask_id,$user_id);
+ }
+
+ public function logStartTime($subtask_id,$user_id)
+ {
+ return $this->subtaskTimeTracking->logStartTime($subtask_id,$user_id);
+ }
+
+ public function logEndTime($subtask_id,$user_id)
+ {
+ return $this->subtaskTimeTracking->logEndTime($subtask_id,$user_id);
+ }
+
+ public function getTimeSpent($subtask_id,$user_id)
+ {
+ return $this->subtaskTimeTracking->getTimeSpent($subtask_id,$user_id);
+ }
+}
diff --git a/app/ServiceProvider/ApiProvider.php b/app/ServiceProvider/ApiProvider.php
index 19d945f6..4fb74f45 100644
--- a/app/ServiceProvider/ApiProvider.php
+++ b/app/ServiceProvider/ApiProvider.php
@@ -18,6 +18,7 @@ use Kanboard\Api\Middleware\AuthenticationApiMiddleware;
use Kanboard\Api\ProjectApi;
use Kanboard\Api\ProjectPermissionApi;
use Kanboard\Api\SubtaskApi;
+use Kanboard\Api\SubtaskTimeTracking;
use Kanboard\Api\SwimlaneApi;
use Kanboard\Api\TaskApi;
use Kanboard\Api\TaskLinkApi;
@@ -60,6 +61,7 @@ class ApiProvider implements ServiceProviderInterface
->withObject(new ProjectApi($container))
->withObject(new ProjectPermissionApi($container))
->withObject(new SubtaskApi($container))
+ ->withObject(new SubtaskTimeTracking($container))
->withObject(new SwimlaneApi($container))
->withObject(new TaskApi($container))
->withObject(new TaskLinkApi($container))