From 27f947412fcf7b04a55f7118ddd1029ab6db4b66 Mon Sep 17 00:00:00 2001 From: Nikolaos Georgakis Date: Tue, 7 Jun 2016 17:48:03 +0300 Subject: [PATCH 1/5] 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 --- .../AuthenticationApiMiddleware.php | 7 ++++ app/Api/SubtaskTimeTracking.php | 32 +++++++++++++++++++ app/ServiceProvider/ApiProvider.php | 2 ++ 3 files changed, 41 insertions(+) create mode 100644 app/Api/SubtaskTimeTracking.php diff --git a/app/Api/Middleware/AuthenticationApiMiddleware.php b/app/Api/Middleware/AuthenticationApiMiddleware.php index 5f63e1a18..b16e10b81 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 000000000..e178dbce9 --- /dev/null +++ b/app/Api/SubtaskTimeTracking.php @@ -0,0 +1,32 @@ +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 19d945f6e..4fb74f45d 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)) From 9ba464d52701ff64bb641a01d9b06a17d7d4bbf8 Mon Sep 17 00:00:00 2001 From: ngtech Date: Wed, 8 Jun 2016 10:27:44 +0300 Subject: [PATCH 2/5] Update and rename SubtaskTimeTracking.php to SubtaskTimeTrackingApi.php --- app/Api/{SubtaskTimeTracking.php => SubtaskTimeTrackingApi.php} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename app/Api/{SubtaskTimeTracking.php => SubtaskTimeTrackingApi.php} (92%) diff --git a/app/Api/SubtaskTimeTracking.php b/app/Api/SubtaskTimeTrackingApi.php similarity index 92% rename from app/Api/SubtaskTimeTracking.php rename to app/Api/SubtaskTimeTrackingApi.php index e178dbce9..d84a27625 100644 --- a/app/Api/SubtaskTimeTracking.php +++ b/app/Api/SubtaskTimeTrackingApi.php @@ -8,7 +8,7 @@ namespace Kanboard\Api; * @package api * @author Nikolaos Georgakis */ -class SubtaskTimeTracking extends \Kanboard\Core\Base +class SubtaskTimeTrackingApi extends \Kanboard\Core\Base { public function hasTimer($subtask_id,$user_id) { From b829afc19d851a9248ccf26ebf848abec7e9145a Mon Sep 17 00:00:00 2001 From: ngtech Date: Wed, 8 Jun 2016 10:29:22 +0300 Subject: [PATCH 3/5] Update ApiProvider.php --- app/ServiceProvider/ApiProvider.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/ServiceProvider/ApiProvider.php b/app/ServiceProvider/ApiProvider.php index 4fb74f45d..93b3c7f58 100644 --- a/app/ServiceProvider/ApiProvider.php +++ b/app/ServiceProvider/ApiProvider.php @@ -18,7 +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\SubtaskTimeTrackingApi; use Kanboard\Api\SwimlaneApi; use Kanboard\Api\TaskApi; use Kanboard\Api\TaskLinkApi; @@ -61,7 +61,7 @@ class ApiProvider implements ServiceProviderInterface ->withObject(new ProjectApi($container)) ->withObject(new ProjectPermissionApi($container)) ->withObject(new SubtaskApi($container)) - ->withObject(new SubtaskTimeTracking($container)) + ->withObject(new SubtaskTimeTrackingApi($container)) ->withObject(new SwimlaneApi($container)) ->withObject(new TaskApi($container)) ->withObject(new TaskLinkApi($container)) From a37a8d5878e10e091812083bb4f50bf4681ab31f Mon Sep 17 00:00:00 2001 From: Nikolaos Georgakis Date: Wed, 8 Jun 2016 13:34:12 +0300 Subject: [PATCH 4/5] Updated namespace to match new API files --- app/Api/SubtaskTimeTrackingApi.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/Api/SubtaskTimeTrackingApi.php b/app/Api/SubtaskTimeTrackingApi.php index d84a27625..80f5289bf 100644 --- a/app/Api/SubtaskTimeTrackingApi.php +++ b/app/Api/SubtaskTimeTrackingApi.php @@ -2,13 +2,15 @@ namespace Kanboard\Api; +Use \Kanboard\Core\Base + /** * Subtask Time Tracking API controller * * @package api * @author Nikolaos Georgakis */ -class SubtaskTimeTrackingApi extends \Kanboard\Core\Base +class SubtaskTimeTrackingApi extends Base { public function hasTimer($subtask_id,$user_id) { From 79088a7f658c15c6399aefed90f318bf54944d23 Mon Sep 17 00:00:00 2001 From: Nikolaos Georgakis Date: Wed, 8 Jun 2016 13:39:41 +0300 Subject: [PATCH 5/5] Updated to include "Model" suffix --- app/Api/SubtaskTimeTrackingApi.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/Api/SubtaskTimeTrackingApi.php b/app/Api/SubtaskTimeTrackingApi.php index 80f5289bf..0e700b31d 100644 --- a/app/Api/SubtaskTimeTrackingApi.php +++ b/app/Api/SubtaskTimeTrackingApi.php @@ -2,7 +2,7 @@ namespace Kanboard\Api; -Use \Kanboard\Core\Base +use Kanboard\Core\Base; /** * Subtask Time Tracking API controller @@ -14,21 +14,21 @@ class SubtaskTimeTrackingApi extends Base { public function hasTimer($subtask_id,$user_id) { - return $this->subtaskTimeTracking->hasTimer($subtask_id,$user_id); + return $this->subtaskTimeTrackingModel->hasTimer($subtask_id,$user_id); } public function logStartTime($subtask_id,$user_id) { - return $this->subtaskTimeTracking->logStartTime($subtask_id,$user_id); + return $this->subtaskTimeTrackingModel->logStartTime($subtask_id,$user_id); } public function logEndTime($subtask_id,$user_id) { - return $this->subtaskTimeTracking->logEndTime($subtask_id,$user_id); + return $this->subtaskTimeTrackingModel->logEndTime($subtask_id,$user_id); } public function getTimeSpent($subtask_id,$user_id) { - return $this->subtaskTimeTracking->getTimeSpent($subtask_id,$user_id); + return $this->subtaskTimeTrackingModel->getTimeSpent($subtask_id,$user_id); } }