Add task and project API formatters
This commit is contained in:
39
app/Formatter/ProjectApiApiFormatter.php
Normal file
39
app/Formatter/ProjectApiApiFormatter.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
namespace Kanboard\Formatter;
|
||||
|
||||
use Kanboard\Core\Filter\FormatterInterface;
|
||||
|
||||
/**
|
||||
* Class ProjectApiFormatter
|
||||
*
|
||||
* @package Kanboard\Formatter
|
||||
*/
|
||||
class ProjectApiFormatter extends BaseFormatter implements FormatterInterface
|
||||
{
|
||||
protected $project = null;
|
||||
|
||||
public function withProject($project)
|
||||
{
|
||||
$this->project = $project;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Apply formatter
|
||||
*
|
||||
* @access public
|
||||
* @return mixed
|
||||
*/
|
||||
public function format()
|
||||
{
|
||||
if (! empty($this->project)) {
|
||||
$this->project['url'] = array(
|
||||
'board' => $this->helper->url->to('BoardViewController', 'show', array('project_id' => $this->project['id']), '', true),
|
||||
'list' => $this->helper->url->to('TaskListController', 'show', array('project_id' => $this->project['id']), '', true),
|
||||
);
|
||||
}
|
||||
|
||||
return $this->project;
|
||||
}
|
||||
}
|
||||
38
app/Formatter/ProjectsApiFormatter.php
Normal file
38
app/Formatter/ProjectsApiFormatter.php
Normal file
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
namespace Kanboard\Formatter;
|
||||
|
||||
use Kanboard\Core\Filter\FormatterInterface;
|
||||
|
||||
/**
|
||||
* Class ProjectsApiFormatter
|
||||
*
|
||||
* @package Kanboard\Formatter
|
||||
*/
|
||||
class ProjectsApiFormatter extends BaseFormatter implements FormatterInterface
|
||||
{
|
||||
protected $projects = array();
|
||||
|
||||
public function withProjects($projects)
|
||||
{
|
||||
$this->projects = $projects;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Apply formatter
|
||||
*
|
||||
* @access public
|
||||
* @return mixed
|
||||
*/
|
||||
public function format()
|
||||
{
|
||||
if (! empty($this->projects)) {
|
||||
foreach ($this->projects as &$project) {
|
||||
$project = $this->projectApiFormatter->withProject($project)->format();
|
||||
}
|
||||
}
|
||||
|
||||
return $this->projects;
|
||||
}
|
||||
}
|
||||
37
app/Formatter/TaskApiFormatter.php
Normal file
37
app/Formatter/TaskApiFormatter.php
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
namespace Kanboard\Formatter;
|
||||
|
||||
use Kanboard\Core\Filter\FormatterInterface;
|
||||
|
||||
/**
|
||||
* Class TaskApiFormatter
|
||||
*
|
||||
* @package Kanboard\Formatter
|
||||
*/
|
||||
class TaskApiFormatter extends BaseFormatter implements FormatterInterface
|
||||
{
|
||||
protected $task = null;
|
||||
|
||||
public function withTask($task)
|
||||
{
|
||||
$this->task = $task;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Apply formatter
|
||||
*
|
||||
* @access public
|
||||
* @return mixed
|
||||
*/
|
||||
public function format()
|
||||
{
|
||||
if (! empty($this->task)) {
|
||||
$this->task['url'] = $this->helper->url->to('TaskViewController', 'show', array('task_id' => $this->task['id'], 'project_id' => $this->task['project_id']), '', true);
|
||||
$this->task['color'] = $this->colorModel->getColorProperties($this->task['color_id']);
|
||||
}
|
||||
|
||||
return $this->task;
|
||||
}
|
||||
}
|
||||
38
app/Formatter/TasksApiFormatter.php
Normal file
38
app/Formatter/TasksApiFormatter.php
Normal file
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
namespace Kanboard\Formatter;
|
||||
|
||||
use Kanboard\Core\Filter\FormatterInterface;
|
||||
|
||||
/**
|
||||
* Class TasksApiFormatter
|
||||
*
|
||||
* @package Kanboard\Formatter
|
||||
*/
|
||||
class TasksApiFormatter extends BaseFormatter implements FormatterInterface
|
||||
{
|
||||
protected $tasks = array();
|
||||
|
||||
public function withTasks($tasks)
|
||||
{
|
||||
$this->tasks = $tasks;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Apply formatter
|
||||
*
|
||||
* @access public
|
||||
* @return mixed
|
||||
*/
|
||||
public function format()
|
||||
{
|
||||
if (! empty($this->tasks)) {
|
||||
foreach ($this->tasks as &$task) {
|
||||
$task = $this->taskApiFormatter->withTask($task)->format();
|
||||
}
|
||||
}
|
||||
|
||||
return $this->tasks;
|
||||
}
|
||||
}
|
||||
@@ -2,13 +2,15 @@
|
||||
|
||||
namespace Kanboard\Formatter;
|
||||
|
||||
use Kanboard\Core\Filter\FormatterInterface;
|
||||
|
||||
/**
|
||||
* Class UserMentionFormatter
|
||||
*
|
||||
* @package Kanboard\Formatter
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class UserMentionFormatter extends BaseFormatter
|
||||
class UserMentionFormatter extends BaseFormatter implements FormatterInterface
|
||||
{
|
||||
protected $users = array();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user