summaryrefslogtreecommitdiff
path: root/app/Api/ActionApi.php
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2016-06-26 10:25:13 -0400
committerFrederic Guillot <fred@kanboard.net>2016-06-26 10:25:13 -0400
commit4a230d331ec220fc32a48525afb308af0d9787fa (patch)
tree514aa3d703155b7f97a2c77147c9fd74cef60f84 /app/Api/ActionApi.php
parent922e0fb6de06a98774418612e0b0f75af72b6dbb (diff)
Added application and project roles validation for API procedure calls
Diffstat (limited to 'app/Api/ActionApi.php')
-rw-r--r--app/Api/ActionApi.php87
1 files changed, 0 insertions, 87 deletions
diff --git a/app/Api/ActionApi.php b/app/Api/ActionApi.php
deleted file mode 100644
index 116742d8..00000000
--- a/app/Api/ActionApi.php
+++ /dev/null
@@ -1,87 +0,0 @@
-<?php
-
-namespace Kanboard\Api;
-
-use Kanboard\Core\Base;
-
-/**
- * Action API controller
- *
- * @package Kanboard\Api
- * @author Frederic Guillot
- */
-class ActionApi extends Base
-{
- public function getAvailableActions()
- {
- return $this->actionManager->getAvailableActions();
- }
-
- public function getAvailableActionEvents()
- {
- return $this->eventManager->getAll();
- }
-
- public function getCompatibleActionEvents($action_name)
- {
- return $this->actionManager->getCompatibleEvents($action_name);
- }
-
- public function removeAction($action_id)
- {
- return $this->actionModel->remove($action_id);
- }
-
- public function getActions($project_id)
- {
- return $this->actionModel->getAllByProject($project_id);
- }
-
- public function createAction($project_id, $event_name, $action_name, array $params)
- {
- $values = array(
- 'project_id' => $project_id,
- 'event_name' => $event_name,
- 'action_name' => $action_name,
- 'params' => $params,
- );
-
- list($valid, ) = $this->actionValidator->validateCreation($values);
-
- if (! $valid) {
- return false;
- }
-
- // Check if the action exists
- $actions = $this->actionManager->getAvailableActions();
-
- if (! isset($actions[$action_name])) {
- return false;
- }
-
- // Check the event
- $action = $this->actionManager->getAction($action_name);
-
- if (! in_array($event_name, $action->getEvents())) {
- return false;
- }
-
- $required_params = $action->getActionRequiredParameters();
-
- // Check missing parameters
- foreach ($required_params as $param => $value) {
- if (! isset($params[$param])) {
- return false;
- }
- }
-
- // Check extra parameters
- foreach ($params as $param => $value) {
- if (! isset($required_params[$param])) {
- return false;
- }
- }
-
- return $this->actionModel->create($values);
- }
-}