diff options
author | Frederic Guillot <fred@kanboard.net> | 2015-07-05 14:10:03 -0400 |
---|---|---|
committer | Frederic Guillot <fred@kanboard.net> | 2015-07-05 14:10:03 -0400 |
commit | 67b9a56469b406b44cd1baad4445ddb6d707794f (patch) | |
tree | 7b7c31a6d8fbbebbf3d0a1a60d271d215040f5b2 /app/Api/Project.php | |
parent | afab68b130ccdd97a7575a682683d6df71006748 (diff) |
Add urls in api response for tasks and projects
Diffstat (limited to 'app/Api/Project.php')
-rw-r--r-- | app/Api/Project.php | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/app/Api/Project.php b/app/Api/Project.php index 2451cd9c..faf2a3da 100644 --- a/app/Api/Project.php +++ b/app/Api/Project.php @@ -12,17 +12,17 @@ class Project extends Base { public function getProjectById($project_id) { - return $this->project->getById($project_id); + return $this->formatProject($this->project->getById($project_id)); } public function getProjectByName($name) { - return $this->project->getByName($name); + return $this->formatProject($this->project->getByName($name)); } public function getAllProjects() { - return $this->project->getAll(); + return $this->formatProjects($this->project->getAll()); } public function removeProject($project_id) @@ -82,4 +82,28 @@ class Project extends Base list($valid,) = $this->project->validateModification($values); return $valid && $this->project->update($values); } + + private function formatProject($project) + { + if (! empty($project)) { + $project['url'] = array( + 'board' => $this->helper->url->base().$this->helper->url->to('board', 'show', array('project_id' => $project['id'])), + 'calendar' => $this->helper->url->base().$this->helper->url->to('calendar', 'show', array('project_id' => $project['id'])), + 'list' => $this->helper->url->base().$this->helper->url->to('listing', 'show', array('project_id' => $project['id'])), + ); + } + + return $project; + } + + private function formatProjects($projects) + { + if (! empty($projects)) { + foreach ($projects as &$project) { + $project = $this->formatProject($project); + } + } + + return $projects; + } } |