Add API calls to manage tags

This commit is contained in:
Frederic Guillot
2016-12-17 17:02:29 -05:00
parent ddeb89e2c6
commit 1186104469
10 changed files with 189 additions and 4 deletions

View File

@@ -0,0 +1,44 @@
<?php
namespace Kanboard\Api\Procedure;
use Kanboard\Api\Authorization\ProjectAuthorization;
use Kanboard\Api\Authorization\TagAuthorization;
/**
* Class TagProcedure
*
* @package Kanboard\Api\Procedure
* @author Frederic Guillot
*/
class TagProcedure extends BaseProcedure
{
public function getAllTags()
{
return $this->tagModel->getAll();
}
public function getTagsByProject($project_id)
{
ProjectAuthorization::getInstance($this->container)->check($this->getClassName(), 'getTagsByProject', $project_id);
return $this->tagModel->getAllByProject($project_id);
}
public function createTag($project_id, $tag)
{
ProjectAuthorization::getInstance($this->container)->check($this->getClassName(), 'createTag', $project_id);
return $this->tagModel->findOrCreateTag($project_id, $tag);
}
public function updateTag($tag_id, $tag)
{
TagAuthorization::getInstance($this->container)->check($this->getClassName(), 'updateTag', $tag_id);
return $this->tagModel->update($tag_id, $tag);
}
public function removeTag($tag_id)
{
TagAuthorization::getInstance($this->container)->check($this->getClassName(), 'removeTag', $tag_id);
return $this->tagModel->remove($tag_id);
}
}

View File

@@ -0,0 +1,26 @@
<?php
namespace Kanboard\Api\Procedure;
use Kanboard\Api\Authorization\TaskAuthorization;
/**
* Class TaskTagProcedure
*
* @package Kanboard\Api\Procedure
* @author Frederic Guillot
*/
class TaskTagProcedure extends BaseProcedure
{
public function setTaskTags($project_id, $task_id, array $tags)
{
TaskAuthorization::getInstance($this->container)->check($this->getClassName(), 'setTaskTags', $task_id);
return $this->taskTagModel->save($project_id, $task_id, $tags);
}
public function getTaskTags($task_id)
{
TaskAuthorization::getInstance($this->container)->check($this->getClassName(), 'getTaskTags', $task_id);
return $this->taskTagModel->getList($task_id);
}
}