diff --git a/appinfo/routes.php b/appinfo/routes.php index a86020203..bbf8772cd 100644 --- a/appinfo/routes.php +++ b/appinfo/routes.php @@ -22,46 +22,46 @@ */ return [ - 'routes' => [ - ['name' => 'page#index', 'url' => '/', 'verb' => 'GET'], + 'routes' => [ + ['name' => 'page#index', 'url' => '/', 'verb' => 'GET'], - // share - ['name' => 'share#searchUser', 'url' => '/share/search/{search}', 'verb' => 'GET'], + // share + ['name' => 'share#searchUser', 'url' => '/share/search/{search}', 'verb' => 'GET'], - // boards - ['name' => 'board#index', 'url' => '/boards', 'verb' => 'GET'], - ['name' => 'board#create', 'url' => '/boards', 'verb' => 'POST'], - ['name' => 'board#read', 'url' => '/boards/{boardId}', 'verb' => 'GET'], - ['name' => 'board#update', 'url' => '/boards/{boardId}', 'verb' => 'PUT'], - ['name' => 'board#delete', 'url' => '/boards/{boardId}', 'verb' => 'DELETE'], + // boards + ['name' => 'board#index', 'url' => '/boards', 'verb' => 'GET'], + ['name' => 'board#create', 'url' => '/boards', 'verb' => 'POST'], + ['name' => 'board#read', 'url' => '/boards/{boardId}', 'verb' => 'GET'], + ['name' => 'board#update', 'url' => '/boards/{boardId}', 'verb' => 'PUT'], + ['name' => 'board#delete', 'url' => '/boards/{boardId}', 'verb' => 'DELETE'], ['name' => 'board#getUserPermissions', 'url' => '/boards/{boardId}/permissions', 'verb' => 'GET'], - ['name' => 'board#addAcl', 'url' => '/boards/{boardId}/acl', 'verb' => 'POST'], - ['name' => 'board#updateAcl', 'url' => '/boards/{boardId}/acl', 'verb' => 'PUT'], - ['name' => 'board#deleteAcl', 'url' => '/boards/{boardId}/acl/{aclId}', 'verb' => 'DELETE'], + ['name' => 'board#addAcl', 'url' => '/boards/{boardId}/acl', 'verb' => 'POST'], + ['name' => 'board#updateAcl', 'url' => '/boards/{boardId}/acl', 'verb' => 'PUT'], + ['name' => 'board#deleteAcl', 'url' => '/boards/{boardId}/acl/{aclId}', 'verb' => 'DELETE'], - // stacks - ['name' => 'stack#index', 'url' => '/stacks/{boardId}', 'verb' => 'GET'], - ['name' => 'stack#create', 'url' => '/stacks', 'verb' => 'POST'], - ['name' => 'stack#update', 'url' => '/stacks/{stackId}', 'verb' => 'PUT'], - ['name' => 'stack#delete', 'url' => '/stacks/{stackId}', 'verb' => 'DELETE'], - ['name' => 'stack#archived', 'url' => '/stacks/{boardId}/archived', 'verb' => 'GET'], + // stacks + ['name' => 'stack#index', 'url' => '/stacks/{boardId}', 'verb' => 'GET'], + ['name' => 'stack#create', 'url' => '/stacks', 'verb' => 'POST'], + ['name' => 'stack#update', 'url' => '/stacks/{stackId}', 'verb' => 'PUT'], + ['name' => 'stack#delete', 'url' => '/stacks/{stackId}', 'verb' => 'DELETE'], + ['name' => 'stack#archived', 'url' => '/stacks/{boardId}/archived', 'verb' => 'GET'], - // cards - ['name' => 'card#read', 'url' => '/cards/{cardId}', 'verb' => 'GET'], - ['name' => 'card#create', 'url' => '/cards', 'verb' => 'POST'], - ['name' => 'card#update', 'url' => '/cards/{cardId}', 'verb' => 'PUT'], - ['name' => 'card#delete', 'url' => '/cards/{cardId}', 'verb' => 'DELETE'], - ['name' => 'card#rename', 'url' => '/cards/{cardId}/rename', 'verb' => 'PUT'], - ['name' => 'card#reorder', 'url' => '/cards/{cardId}/reorder', 'verb' => 'PUT'], - ['name' => 'card#archive', 'url' => '/cards/{cardId}/archive', 'verb' => 'PUT'], - ['name' => 'card#unarchive', 'url' => '/cards/{cardId}/unarchive', 'verb' => 'PUT'], - ['name' => 'card#assignLabel', 'url' => '/cards/{cardId}/label/{labelId}', 'verb' => 'POST'], - ['name' => 'card#removeLabel', 'url' => '/cards/{cardId}/label/{labelId}', 'verb' => 'DELETE'], + // cards + ['name' => 'card#read', 'url' => '/cards/{cardId}', 'verb' => 'GET'], + ['name' => 'card#create', 'url' => '/cards', 'verb' => 'POST'], + ['name' => 'card#update', 'url' => '/cards/{cardId}', 'verb' => 'PUT'], + ['name' => 'card#delete', 'url' => '/cards/{cardId}', 'verb' => 'DELETE'], + ['name' => 'card#rename', 'url' => '/cards/{cardId}/rename', 'verb' => 'PUT'], + ['name' => 'card#reorder', 'url' => '/cards/{cardId}/reorder', 'verb' => 'PUT'], + ['name' => 'card#archive', 'url' => '/cards/{cardId}/archive', 'verb' => 'PUT'], + ['name' => 'card#unarchive', 'url' => '/cards/{cardId}/unarchive', 'verb' => 'PUT'], + ['name' => 'card#assignLabel', 'url' => '/cards/{cardId}/label/{labelId}', 'verb' => 'POST'], + ['name' => 'card#removeLabel', 'url' => '/cards/{cardId}/label/{labelId}', 'verb' => 'DELETE'], - // labels - ['name' => 'label#create', 'url' => '/labels', 'verb' => 'POST'], - ['name' => 'label#update', 'url' => '/labels/{labelId}', 'verb' => 'PUT'], - ['name' => 'label#delete', 'url' => '/labels/{labelId}', 'verb' => 'DELETE'], + // labels + ['name' => 'label#create', 'url' => '/labels', 'verb' => 'POST'], + ['name' => 'label#update', 'url' => '/labels/{labelId}', 'verb' => 'PUT'], + ['name' => 'label#delete', 'url' => '/labels/{labelId}', 'verb' => 'DELETE'], - ] + ] ]; diff --git a/lib/Controller/BoardController.php b/lib/Controller/BoardController.php index f406e8ef6..ac6b311d7 100644 --- a/lib/Controller/BoardController.php +++ b/lib/Controller/BoardController.php @@ -49,10 +49,10 @@ class BoardController extends Controller { $this->userInfo = $this->getBoardPrerequisites(); } - /** - * TODO: move to boardservice - * @return array - */ + /** + * TODO: move to boardservice + * @return array + */ private function getBoardPrerequisites() { $groups = $this->groupManager->getUserGroupIds( $this->userManager->get($this->userId) diff --git a/lib/Controller/CardController.php b/lib/Controller/CardController.php index c7e6b4913..b18ceec73 100644 --- a/lib/Controller/CardController.php +++ b/lib/Controller/CardController.php @@ -29,23 +29,23 @@ use OCP\AppFramework\Controller; class CardController extends Controller { - private $userId; - private $cardService; + private $userId; + private $cardService; - public function __construct($appName, IRequest $request, CardService $cardService, $userId) { - parent::__construct($appName, $request); - $this->userId = $userId; - $this->cardService = $cardService; - } + public function __construct($appName, IRequest $request, CardService $cardService, $userId) { + parent::__construct($appName, $request); + $this->userId = $userId; + $this->cardService = $cardService; + } /** * @NoAdminRequired * @param $cardId * @return \OCP\AppFramework\Db\Entity */ - public function read($cardId) { - return $this->cardService->find($cardId); - } + public function read($cardId) { + return $this->cardService->find($cardId); + } /** * @NoAdminRequired @@ -54,9 +54,9 @@ class CardController extends Controller { * @param $order * @return array */ - public function reorder($cardId, $stackId, $order) { - return $this->cardService->reorder($cardId, $stackId, $order); - } + public function reorder($cardId, $stackId, $order) { + return $this->cardService->reorder($cardId, $stackId, $order); + } /** * @NoAdminRequired @@ -64,9 +64,9 @@ class CardController extends Controller { * @param $title * @return \OCP\AppFramework\Db\Entity */ - public function rename($cardId, $title) { - return $this->cardService->rename($cardId, $title); - } + public function rename($cardId, $title) { + return $this->cardService->rename($cardId, $title); + } /** * @NoAdminRequired @@ -76,9 +76,9 @@ class CardController extends Controller { * @param int $order * @return \OCP\AppFramework\Db\Entity */ - public function create($title, $stackId, $type, $order = 999) { - return $this->cardService->create($title, $stackId, $type, $order, $this->userId); - } + public function create($title, $stackId, $type, $order = 999) { + return $this->cardService->create($title, $stackId, $type, $order, $this->userId); + } /** * @NoAdminRequired @@ -90,53 +90,53 @@ class CardController extends Controller { * @param $description * @return \OCP\AppFramework\Db\Entity */ - public function update($id, $title, $stackId, $type, $order, $description) { - return $this->cardService->update($id, $title, $stackId, $type, $order, $description, $this->userId); - } + public function update($id, $title, $stackId, $type, $order, $description) { + return $this->cardService->update($id, $title, $stackId, $type, $order, $description, $this->userId); + } /** * @NoAdminRequired * @param $cardId * @return \OCP\AppFramework\Db\Entity */ - public function delete($cardId) { - return $this->cardService->delete($cardId); - } + public function delete($cardId) { + return $this->cardService->delete($cardId); + } /** * @NoAdminRequired * @param $cardId * @return \OCP\AppFramework\Db\Entity */ - public function archive($cardId) { - return $this->cardService->archive($cardId); - } + public function archive($cardId) { + return $this->cardService->archive($cardId); + } /** * @NoAdminRequired * @param $cardId * @return \OCP\AppFramework\Db\Entity */ - public function unarchive($cardId) { - return $this->cardService->unarchive($cardId); - } + public function unarchive($cardId) { + return $this->cardService->unarchive($cardId); + } /** * @NoAdminRequired * @param $cardId * @param $labelId */ - public function assignLabel($cardId, $labelId) { - $this->cardService->assignLabel($cardId, $labelId); - } + public function assignLabel($cardId, $labelId) { + $this->cardService->assignLabel($cardId, $labelId); + } /** * @NoAdminRequired * @param $cardId * @param $labelId */ - public function removeLabel($cardId, $labelId) { - $this->cardService->removeLabel($cardId, $labelId); - } + public function removeLabel($cardId, $labelId) { + $this->cardService->removeLabel($cardId, $labelId); + } } diff --git a/lib/Controller/LabelController.php b/lib/Controller/LabelController.php index 519169eb2..21c17849d 100644 --- a/lib/Controller/LabelController.php +++ b/lib/Controller/LabelController.php @@ -30,12 +30,12 @@ use OCP\AppFramework\Controller; class LabelController extends Controller { - private $labelService; + private $labelService; - public function __construct($appName, IRequest $request, LabelService $labelService) { - parent::__construct($appName, $request); - $this->labelService = $labelService; - } + public function __construct($appName, IRequest $request, LabelService $labelService) { + parent::__construct($appName, $request); + $this->labelService = $labelService; + } /** * @NoAdminRequired @@ -44,9 +44,9 @@ class LabelController extends Controller { * @param $boardId * @return \OCP\AppFramework\Db\Entity */ - public function create($title, $color, $boardId) { - return $this->labelService->create($title, $color, $boardId); - } + public function create($title, $color, $boardId) { + return $this->labelService->create($title, $color, $boardId); + } /** * @NoAdminRequired @@ -55,17 +55,17 @@ class LabelController extends Controller { * @param $color * @return \OCP\AppFramework\Db\Entity */ - public function update($id, $title, $color) { - return $this->labelService->update($id, $title, $color); - } + public function update($id, $title, $color) { + return $this->labelService->update($id, $title, $color); + } /** * @NoAdminRequired * @param $labelId * @return \OCP\AppFramework\Db\Entity */ - public function delete($labelId) { - return $this->labelService->delete($labelId); - } + public function delete($labelId) { + return $this->labelService->delete($labelId); + } } diff --git a/lib/Controller/StackController.php b/lib/Controller/StackController.php index b2cbb14e0..10601eef8 100644 --- a/lib/Controller/StackController.php +++ b/lib/Controller/StackController.php @@ -31,31 +31,31 @@ use OCP\AppFramework\Controller; class StackController extends Controller { - private $userId; - private $stackService; - public function __construct($appName, IRequest $request, StackService $cardService, $userId) { - parent::__construct($appName, $request); - $this->userId = $userId; - $this->stackService = $cardService; - } + private $userId; + private $stackService; + public function __construct($appName, IRequest $request, StackService $cardService, $userId) { + parent::__construct($appName, $request); + $this->userId = $userId; + $this->stackService = $cardService; + } /** * @NoAdminRequired * @param $boardId * @return array */ - public function index($boardId) { - return $this->stackService->findAll($boardId); - } + public function index($boardId) { + return $this->stackService->findAll($boardId); + } /** * @NoAdminRequired * @param $boardId * @return array */ - public function archived($boardId) { - return $this->stackService->findAllArchived($boardId); - } + public function archived($boardId) { + return $this->stackService->findAllArchived($boardId); + } /** * @NoAdminRequired @@ -64,9 +64,9 @@ class StackController extends Controller { * @param int $order * @return \OCP\AppFramework\Db\Entity */ - public function create($title, $boardId, $order = 999) { - return $this->stackService->create($title, $boardId, $order); - } + public function create($title, $boardId, $order = 999) { + return $this->stackService->create($title, $boardId, $order); + } /** * @NoAdminRequired @@ -76,16 +76,16 @@ class StackController extends Controller { * @param $order * @return \OCP\AppFramework\Db\Entity */ - public function update($id, $title, $boardId, $order) { - return $this->stackService->update($id, $title, $boardId, $order); - } + public function update($id, $title, $boardId, $order) { + return $this->stackService->update($id, $title, $boardId, $order); + } /** * @NoAdminRequired * @param $stackId * @return \OCP\AppFramework\Db\Entity */ - public function delete($stackId) { - return $this->stackService->delete($stackId); - } + public function delete($stackId) { + return $this->stackService->delete($stackId); + } } diff --git a/lib/Db/AclMapper.php b/lib/Db/AclMapper.php index f0b5a1cc8..ff1cade1c 100644 --- a/lib/Db/AclMapper.php +++ b/lib/Db/AclMapper.php @@ -28,25 +28,25 @@ use OCP\IDBConnection; class AclMapper extends DeckMapper implements IPermissionMapper { - public function __construct(IDBConnection $db) { - parent::__construct($db, 'deck_board_acl', '\OCA\Deck\Db\Acl'); - } + public function __construct(IDBConnection $db) { + parent::__construct($db, 'deck_board_acl', '\OCA\Deck\Db\Acl'); + } - public function findAll($boardId, $limit = null, $offset = null) { - $sql = 'SELECT id, board_id, type, participant, permission_edit, permission_share, permission_manage FROM `*PREFIX*deck_board_acl` WHERE `board_id` = ? '; - return $this->findEntities($sql, [$boardId], $limit, $offset); - } + public function findAll($boardId, $limit = null, $offset = null) { + $sql = 'SELECT id, board_id, type, participant, permission_edit, permission_share, permission_manage FROM `*PREFIX*deck_board_acl` WHERE `board_id` = ? '; + return $this->findEntities($sql, [$boardId], $limit, $offset); + } - public function isOwner($userId, $aclId) { - $sql = 'SELECT owner FROM `*PREFIX*deck_boards` WHERE `id` IN (SELECT board_id FROM `*PREFIX*deck_board_acl` WHERE id = ?)'; - $stmt = $this->execute($sql, [$aclId]); - $row = $stmt->fetch(); - return ($row['owner'] === $userId); - } + public function isOwner($userId, $aclId) { + $sql = 'SELECT owner FROM `*PREFIX*deck_boards` WHERE `id` IN (SELECT board_id FROM `*PREFIX*deck_board_acl` WHERE id = ?)'; + $stmt = $this->execute($sql, [$aclId]); + $row = $stmt->fetch(); + return ($row['owner'] === $userId); + } - public function findBoardId($aclId) { - $entity = $this->find($aclId); - return $entity->getBoardId(); - } + public function findBoardId($aclId) { + $entity = $this->find($aclId); + return $entity->getBoardId(); + } } diff --git a/lib/Db/Board.php b/lib/Db/Board.php index 4c8455439..d8b76fa02 100644 --- a/lib/Db/Board.php +++ b/lib/Db/Board.php @@ -27,49 +27,49 @@ use JsonSerializable; class Board extends RelationalEntity implements JsonSerializable { - public $id; - protected $title; - protected $owner; - protected $color; - protected $archived = false; - protected $labels; - protected $acl; - protected $shared; + public $id; + protected $title; + protected $owner; + protected $color; + protected $archived = false; + protected $labels; + protected $acl; + protected $shared; - public function __construct() { - $this->addType('id', 'integer'); - $this->addType('shared', 'integer'); - $this->addType('archived', 'boolean'); - $this->addRelation('labels'); - $this->addRelation('acl'); - $this->addRelation('shared'); - $this->shared = -1; - } + public function __construct() { + $this->addType('id', 'integer'); + $this->addType('shared', 'integer'); + $this->addType('archived', 'boolean'); + $this->addRelation('labels'); + $this->addRelation('acl'); + $this->addRelation('shared'); + $this->shared = -1; + } - public function jsonSerialize() { - $result = [ - 'id' => $this->id, - 'title' => $this->title, - 'owner' => $this->owner, - 'color' => $this->color, - 'labels' => $this->labels, - 'acl' => $this->acl, - ]; - if ($this->shared !== -1) { - $result['shared'] = $this->shared; - } - return $result; - } + public function jsonSerialize() { + $result = [ + 'id' => $this->id, + 'title' => $this->title, + 'owner' => $this->owner, + 'color' => $this->color, + 'labels' => $this->labels, + 'acl' => $this->acl, + ]; + if ($this->shared !== -1) { + $result['shared'] = $this->shared; + } + return $result; + } - public function setLabels($labels) { - foreach ($labels as $l) { - $this->labels[] = $l; - } - } + public function setLabels($labels) { + foreach ($labels as $l) { + $this->labels[] = $l; + } + } - public function setAcl($acl) { - foreach ($acl as $a) { - $this->acl[$a->id] = $a; - } - } + public function setAcl($acl) { + foreach ($acl as $a) { + $this->acl[$a->id] = $a; + } + } } \ No newline at end of file diff --git a/lib/Db/Card.php b/lib/Db/Card.php index 3c18f6ea1..c4c938a06 100644 --- a/lib/Db/Card.php +++ b/lib/Db/Card.php @@ -28,41 +28,41 @@ use JsonSerializable; class Card extends RelationalEntity implements JsonSerializable { - public $id; - protected $title; - protected $description; - protected $stackId; - protected $type; - protected $lastModified; - protected $createdAt; - protected $labels; - protected $owner; - protected $order; - protected $archived = false; + public $id; + protected $title; + protected $description; + protected $stackId; + protected $type; + protected $lastModified; + protected $createdAt; + protected $labels; + protected $owner; + protected $order; + protected $archived = false; - public function __construct() { - $this->addType('id', 'integer'); - $this->addType('stackId', 'integer'); - $this->addType('order', 'integer'); - $this->addType('lastModified', 'integer'); - $this->addType('createdAt', 'integer'); - $this->addType('archived', 'boolean'); - $this->addRelation('labels'); - } + public function __construct() { + $this->addType('id', 'integer'); + $this->addType('stackId', 'integer'); + $this->addType('order', 'integer'); + $this->addType('lastModified', 'integer'); + $this->addType('createdAt', 'integer'); + $this->addType('archived', 'boolean'); + $this->addRelation('labels'); + } - public function jsonSerialize() { - return [ - 'id' => $this->id, - 'title' => $this->title, - 'description' => $this->description, - 'type' => $this->type, - 'lastModified' => $this->lastModified, - 'createdAt' => $this->createdAt, - 'owner' => $this->owner, - 'order' => $this->order, - 'stackId' => $this->stackId, - 'labels' => $this->labels, - 'archived' => $this->archived, - ]; - } + public function jsonSerialize() { + return [ + 'id' => $this->id, + 'title' => $this->title, + 'description' => $this->description, + 'type' => $this->type, + 'lastModified' => $this->lastModified, + 'createdAt' => $this->createdAt, + 'owner' => $this->owner, + 'order' => $this->order, + 'stackId' => $this->stackId, + 'labels' => $this->labels, + 'archived' => $this->archived, + ]; + } } diff --git a/lib/Db/Label.php b/lib/Db/Label.php index 1e805ada8..48bc922d9 100644 --- a/lib/Db/Label.php +++ b/lib/Db/Label.php @@ -28,21 +28,21 @@ use JsonSerializable; class Label extends RelationalEntity implements JsonSerializable { - public $id; - protected $title; - protected $color; - protected $boardId; - protected $cardId; - public function __construct() { - $this->addType('id', 'integer'); - } - public function jsonSerialize() { - return [ - 'id' => $this->id, - 'title' => $this->title, - 'boardId' => $this->boardId, - 'cardId' => $this->cardId, - 'color' => $this->color, - ]; - } + public $id; + protected $title; + protected $color; + protected $boardId; + protected $cardId; + public function __construct() { + $this->addType('id', 'integer'); + } + public function jsonSerialize() { + return [ + 'id' => $this->id, + 'title' => $this->title, + 'boardId' => $this->boardId, + 'cardId' => $this->cardId, + 'color' => $this->color, + ]; + } } \ No newline at end of file diff --git a/lib/Db/LabelMapper.php b/lib/Db/LabelMapper.php index d53774b06..f03cb2e8f 100644 --- a/lib/Db/LabelMapper.php +++ b/lib/Db/LabelMapper.php @@ -28,44 +28,44 @@ use OCP\IDBConnection; class LabelMapper extends DeckMapper implements IPermissionMapper { - public function __construct(IDBConnection $db) { - parent::__construct($db, 'deck_labels', '\OCA\Deck\Db\Label'); - } + public function __construct(IDBConnection $db) { + parent::__construct($db, 'deck_labels', '\OCA\Deck\Db\Label'); + } - public function findAll($boardId, $limit = null, $offset = null) { - $sql = 'SELECT * FROM `*PREFIX*deck_labels` WHERE `board_id` = ? ORDER BY `id`'; - return $this->findEntities($sql, [$boardId], $limit, $offset); - } + public function findAll($boardId, $limit = null, $offset = null) { + $sql = 'SELECT * FROM `*PREFIX*deck_labels` WHERE `board_id` = ? ORDER BY `id`'; + return $this->findEntities($sql, [$boardId], $limit, $offset); + } - public function delete(\OCP\AppFramework\Db\Entity $entity) { + public function delete(\OCP\AppFramework\Db\Entity $entity) { // delete assigned labels $this->deleteLabelAssignments($entity->getId()); // delete label - return parent::delete($entity); - } + return parent::delete($entity); + } - public function findAssignedLabelsForCard($cardId, $limit = null, $offset = null) { - $sql = 'SELECT l.* FROM `*PREFIX*deck_assigned_labels` as al INNER JOIN *PREFIX*deck_labels as l ON l.id = al.label_id WHERE `card_id` = ? ORDER BY l.id'; - return $this->findEntities($sql, [$cardId], $limit, $offset); - } - public function findAssignedLabelsForBoard($boardId, $limit = null, $offset = null) { - $sql = "SELECT c.id as card_id, l.id as id, l.title as title, l.color as color FROM oc_deck_cards as c " . - " INNER JOIN oc_deck_assigned_labels as al ON al.card_id = c.id INNER JOIN oc_deck_labels as l ON al.label_id = l.id WHERE board_id=? ORDER BY l.id"; - $entities = $this->findEntities($sql, [$boardId], $limit, $offset); - return $entities; - } + public function findAssignedLabelsForCard($cardId, $limit = null, $offset = null) { + $sql = 'SELECT l.* FROM `*PREFIX*deck_assigned_labels` as al INNER JOIN *PREFIX*deck_labels as l ON l.id = al.label_id WHERE `card_id` = ? ORDER BY l.id'; + return $this->findEntities($sql, [$cardId], $limit, $offset); + } + public function findAssignedLabelsForBoard($boardId, $limit = null, $offset = null) { + $sql = "SELECT c.id as card_id, l.id as id, l.title as title, l.color as color FROM oc_deck_cards as c " . + " INNER JOIN oc_deck_assigned_labels as al ON al.card_id = c.id INNER JOIN oc_deck_labels as l ON al.label_id = l.id WHERE board_id=? ORDER BY l.id"; + $entities = $this->findEntities($sql, [$boardId], $limit, $offset); + return $entities; + } - public function getAssignedLabelsForBoard($boardId) { - $labels = $this->findAssignedLabelsForBoard($boardId); - $result = array(); - foreach ($labels as $label) { - if (!array_key_exists($label->getCardId(), $result)) { - $result[$label->getCardId()] = array(); - } - $result[$label->getCardId()][] = $label; - } - return $result; - } + public function getAssignedLabelsForBoard($boardId) { + $labels = $this->findAssignedLabelsForBoard($boardId); + $result = array(); + foreach ($labels as $label) { + if (!array_key_exists($label->getCardId(), $result)) { + $result[$label->getCardId()] = array(); + } + $result[$label->getCardId()][] = $label; + } + return $result; + } public function deleteLabelAssignments($labelId) { $sql = 'DELETE FROM `*PREFIX*deck_assigned_labels` WHERE label_id = ?'; @@ -81,15 +81,15 @@ class LabelMapper extends DeckMapper implements IPermissionMapper { $stmt->execute(); } - public function isOwner($userId, $labelId) { - $sql = 'SELECT owner FROM `*PREFIX*deck_boards` WHERE `id` IN (SELECT board_id FROM `*PREFIX*deck_labels` WHERE id = ?)'; - $stmt = $this->execute($sql, [$labelId]); - $row = $stmt->fetch(); - return ($row['owner'] === $userId); - } + public function isOwner($userId, $labelId) { + $sql = 'SELECT owner FROM `*PREFIX*deck_boards` WHERE `id` IN (SELECT board_id FROM `*PREFIX*deck_labels` WHERE id = ?)'; + $stmt = $this->execute($sql, [$labelId]); + $row = $stmt->fetch(); + return ($row['owner'] === $userId); + } - public function findBoardId($labelId) { - $entity = $this->find($labelId); - return $entity->getBoardId(); - } + public function findBoardId($labelId) { + $entity = $this->find($labelId); + return $entity->getBoardId(); + } } diff --git a/lib/Db/Stack.php b/lib/Db/Stack.php index 4005284c7..b94499dba 100644 --- a/lib/Db/Stack.php +++ b/lib/Db/Stack.php @@ -28,37 +28,37 @@ use JsonSerializable; class Stack extends RelationalEntity implements JsonSerializable { - public $id; - protected $title; - protected $boardId; - protected $cards = array(); - protected $order; + public $id; + protected $title; + protected $boardId; + protected $cards = array(); + protected $order; - public function __construct() { - $this->addType('id', 'integer'); - $this->addType('boardId', 'integer'); - $this->addType('order', 'integer'); - } + public function __construct() { + $this->addType('id', 'integer'); + $this->addType('boardId', 'integer'); + $this->addType('order', 'integer'); + } - public function setCards($cards) { - $this->cards = $cards; - } + public function setCards($cards) { + $this->cards = $cards; + } - public function jsonSerialize() { - if (!empty($this->cards)) { - return [ - 'id' => $this->id, - 'title' => $this->title, - 'order' => $this->order, - 'boardId' => $this->boardId, - 'cards' => $this->cards - ]; - } - return [ - 'id' => $this->id, - 'title' => $this->title, - 'order' => $this->order, - 'boardId' => $this->boardId - ]; - } + public function jsonSerialize() { + if (!empty($this->cards)) { + return [ + 'id' => $this->id, + 'title' => $this->title, + 'order' => $this->order, + 'boardId' => $this->boardId, + 'cards' => $this->cards + ]; + } + return [ + 'id' => $this->id, + 'title' => $this->title, + 'order' => $this->order, + 'boardId' => $this->boardId + ]; + } } \ No newline at end of file diff --git a/lib/Db/StackMapper.php b/lib/Db/StackMapper.php index afb753ae4..b7d3de23f 100644 --- a/lib/Db/StackMapper.php +++ b/lib/Db/StackMapper.php @@ -29,46 +29,46 @@ use OCP\IDBConnection; class StackMapper extends DeckMapper implements IPermissionMapper { - private $cardMapper; + private $cardMapper; - public function __construct(IDBConnection $db, CardMapper $cardMapper) { - parent::__construct($db, 'deck_stacks', '\OCA\Deck\Db\Stack'); - $this->cardMapper = $cardMapper; - } + public function __construct(IDBConnection $db, CardMapper $cardMapper) { + parent::__construct($db, 'deck_stacks', '\OCA\Deck\Db\Stack'); + $this->cardMapper = $cardMapper; + } /** * @param $id * @return \OCP\AppFramework\Db\Entity if not found */ - public function find($id) { - $sql = 'SELECT * FROM `*PREFIX*deck_stacks` ' . - 'WHERE `id` = ?'; - return $this->findEntity($sql, [$id]); - } + public function find($id) { + $sql = 'SELECT * FROM `*PREFIX*deck_stacks` ' . + 'WHERE `id` = ?'; + return $this->findEntity($sql, [$id]); + } - public function findAll($boardId, $limit = null, $offset = null) { - $sql = 'SELECT * FROM `*PREFIX*deck_stacks` WHERE `board_id` = ? ORDER BY `order`'; - return $this->findEntities($sql, [$boardId], $limit, $offset); - } + public function findAll($boardId, $limit = null, $offset = null) { + $sql = 'SELECT * FROM `*PREFIX*deck_stacks` WHERE `board_id` = ? ORDER BY `order`'; + return $this->findEntities($sql, [$boardId], $limit, $offset); + } - public function delete(Entity $entity) { - // delete cards on stack + public function delete(Entity $entity) { + // delete cards on stack $this->cardMapper->deleteByStack($entity->getId()); - return parent::delete($entity); - } + return parent::delete($entity); + } - public function isOwner($userId, $stackId) { - $sql = 'SELECT owner FROM `*PREFIX*deck_boards` WHERE `id` IN (SELECT board_id FROM `*PREFIX*deck_stacks` WHERE id = ?)'; - $stmt = $this->execute($sql, [$stackId]); - $row = $stmt->fetch(); - return ($row['owner'] === $userId); - } + public function isOwner($userId, $stackId) { + $sql = 'SELECT owner FROM `*PREFIX*deck_boards` WHERE `id` IN (SELECT board_id FROM `*PREFIX*deck_stacks` WHERE id = ?)'; + $stmt = $this->execute($sql, [$stackId]); + $row = $stmt->fetch(); + return ($row['owner'] === $userId); + } - public function findBoardId($stackId) { - $entity = $this->find($stackId); - return $entity->getBoardId(); - } + public function findBoardId($stackId) { + $entity = $this->find($stackId); + return $entity->getBoardId(); + } } \ No newline at end of file diff --git a/lib/Service/BoardService.php b/lib/Service/BoardService.php index 342a54f4a..a65a0bd43 100644 --- a/lib/Service/BoardService.php +++ b/lib/Service/BoardService.php @@ -39,7 +39,7 @@ class BoardService { private $boardMapper; private $labelMapper; - private $aclMapper; + private $aclMapper; private $l10n; private $permissionService; @@ -59,7 +59,7 @@ class BoardService { } public function find($boardId) { - $this->permissionService->checkPermission($this->boardMapper, $boardId, Acl::PERMISSION_READ); + $this->permissionService->checkPermission($this->boardMapper, $boardId, Acl::PERMISSION_READ); return $this->boardMapper->find($boardId, true, true); } @@ -72,11 +72,11 @@ class BoardService { // create new labels $default_labels = [ - '31CC7C' => $this->l10n->t('Finished'), - '317CCC' => $this->l10n->t('To review'), + '31CC7C' => $this->l10n->t('Finished'), + '317CCC' => $this->l10n->t('To review'), 'FF7A66' => $this->l10n->t('Action needed'), 'F1DB50' => $this->l10n->t('Later') - ]; + ]; $labels = []; foreach ($default_labels as $color => $title) { $label = new Label(); @@ -91,12 +91,12 @@ class BoardService { } public function delete($id) { - $this->permissionService->checkPermission($this->boardMapper, $id, Acl::PERMISSION_READ); + $this->permissionService->checkPermission($this->boardMapper, $id, Acl::PERMISSION_READ); return $this->boardMapper->delete($this->find($id)); } public function update($id, $title, $color) { - $this->permissionService->checkPermission($this->boardMapper, $id, Acl::PERMISSION_MANAGE); + $this->permissionService->checkPermission($this->boardMapper, $id, Acl::PERMISSION_MANAGE); $board = $this->find($id); $board->setTitle($title); $board->setColor($color); @@ -105,7 +105,7 @@ class BoardService { public function addAcl($boardId, $type, $participant, $edit, $share, $manage) { - $this->permissionService->checkPermission($this->boardMapper, $boardId, Acl::PERMISSION_SHARE); + $this->permissionService->checkPermission($this->boardMapper, $boardId, Acl::PERMISSION_SHARE); $acl = new Acl(); $acl->setBoardId($boardId); $acl->setType($type); @@ -117,7 +117,7 @@ class BoardService { } public function updateAcl($id, $edit, $share, $manage) { - $this->permissionService->checkPermission($this->boardMapper, $id, Acl::PERMISSION_SHARE); + $this->permissionService->checkPermission($this->boardMapper, $id, Acl::PERMISSION_SHARE); $acl = $this->aclMapper->find($id); $acl->setPermissionEdit($edit); $acl->setPermissionShare($share); @@ -126,7 +126,7 @@ class BoardService { } public function deleteAcl($id) { - $this->permissionService->checkPermission($this->boardMapper, $id, Acl::PERMISSION_SHARE); + $this->permissionService->checkPermission($this->boardMapper, $id, Acl::PERMISSION_SHARE); $acl = $this->aclMapper->find($id); return $this->aclMapper->delete($acl); } diff --git a/lib/Service/CardService.php b/lib/Service/CardService.php index 77cc7f7be..59529d629 100644 --- a/lib/Service/CardService.php +++ b/lib/Service/CardService.php @@ -45,6 +45,9 @@ class CardService { return $this->cardMapper->find($cardId); } + /** + * @param integer $order + */ public function create($title, $stackId, $type, $order, $owner) { $this->permissionService->checkPermission($this->stackMapper, $stackId, Acl::PERMISSION_EDIT); $card = new Card(); diff --git a/lib/Service/LabelService.php b/lib/Service/LabelService.php index 64beabe8c..e1538adff 100644 --- a/lib/Service/LabelService.php +++ b/lib/Service/LabelService.php @@ -30,38 +30,38 @@ use OCA\Deck\Db\LabelMapper; class LabelService { - private $labelMapper; + private $labelMapper; - public function __construct(LabelMapper $labelMapper, PermissionService $permissionService) { - $this->labelMapper = $labelMapper; - $this->permissionService = $permissionService; - } + public function __construct(LabelMapper $labelMapper, PermissionService $permissionService) { + $this->labelMapper = $labelMapper; + $this->permissionService = $permissionService; + } - public function find($labelId) { - $this->permissionService->checkPermission($this->labelMapper, $labelId, Acl::PERMISSION_READ); - return $this->labelMapper->find($labelId); - } + public function find($labelId) { + $this->permissionService->checkPermission($this->labelMapper, $labelId, Acl::PERMISSION_READ); + return $this->labelMapper->find($labelId); + } - public function create($title, $color, $boardId) { - $this->permissionService->checkPermission(null, $boardId, Acl::PERMISSION_MANAGE); - $label = new Label(); - $label->setTitle($title); - $label->setColor($color); - $label->setBoardId($boardId); - return $this->labelMapper->insert($label); - } + public function create($title, $color, $boardId) { + $this->permissionService->checkPermission(null, $boardId, Acl::PERMISSION_MANAGE); + $label = new Label(); + $label->setTitle($title); + $label->setColor($color); + $label->setBoardId($boardId); + return $this->labelMapper->insert($label); + } - public function delete($id) { - $this->permissionService->checkPermission($this->labelMapper, $id, Acl::PERMISSION_MANAGE); - return $this->labelMapper->delete($this->find($id)); - } + public function delete($id) { + $this->permissionService->checkPermission($this->labelMapper, $id, Acl::PERMISSION_MANAGE); + return $this->labelMapper->delete($this->find($id)); + } - public function update($id, $title, $color) { - $this->permissionService->checkPermission($this->labelMapper, $id, Acl::PERMISSION_MANAGE); - $label = $this->find($id); - $label->setTitle($title); - $label->setColor($color); - return $this->labelMapper->update($label); - } + public function update($id, $title, $color) { + $this->permissionService->checkPermission($this->labelMapper, $id, Acl::PERMISSION_MANAGE); + $label = $this->find($id); + $label->setTitle($title); + $label->setColor($color); + return $this->labelMapper->update($label); + } } \ No newline at end of file diff --git a/lib/Service/PermissionService.php b/lib/Service/PermissionService.php index 37c865f85..ca1badae5 100644 --- a/lib/Service/PermissionService.php +++ b/lib/Service/PermissionService.php @@ -75,35 +75,35 @@ class PermissionService { * @return bool * @throws NoPermissionException */ - public function checkPermission($mapper, $id, $permission) { - try { - if ($mapper instanceof IPermissionMapper) { - $boardId = $mapper->findBoardId($id); - } else { - $boardId = $id; - } - if ($boardId === null) { - // Throw NoPermission to not leak information about existing entries - throw new NoPermissionException('Permission denied'); - } + public function checkPermission($mapper, $id, $permission) { + try { + if ($mapper instanceof IPermissionMapper) { + $boardId = $mapper->findBoardId($id); + } else { + $boardId = $id; + } + if ($boardId === null) { + // Throw NoPermission to not leak information about existing entries + throw new NoPermissionException('Permission denied'); + } - if ($this->userIsBoardOwner($boardId)) { - return true; - } - $acls = $this->aclMapper->findAll($boardId); - $result = $this->userCan($acls, $permission); - if ($result) { - return true; - } + if ($this->userIsBoardOwner($boardId)) { + return true; + } + $acls = $this->aclMapper->findAll($boardId); + $result = $this->userCan($acls, $permission); + if ($result) { + return true; + } - } catch (DoesNotExistException $exception) { - // Throw NoPermission to not leak information about existing entries - throw new NoPermissionException('Permission denied'); - } + } catch (DoesNotExistException $exception) { + // Throw NoPermission to not leak information about existing entries + throw new NoPermissionException('Permission denied'); + } - throw new NoPermissionException('Permission denied.'); + throw new NoPermissionException('Permission denied.'); - } + } /** * @param $boardId @@ -114,7 +114,7 @@ class PermissionService { if ($board && $this->userId === $board->getOwner()) { return true; } - return false; + return false; } /** diff --git a/lib/Service/StackService.php b/lib/Service/StackService.php index 043ada05b..84c293604 100644 --- a/lib/Service/StackService.php +++ b/lib/Service/StackService.php @@ -35,71 +35,71 @@ use OCA\Deck\Db\StackMapper; class StackService { - private $stackMapper; - private $cardMapper; - private $labelMapper; - private $permissionService; + private $stackMapper; + private $cardMapper; + private $labelMapper; + private $permissionService; - public function __construct(StackMapper $stackMapper, CardMapper $cardMapper, LabelMapper $labelMapper, PermissionService $permissionService) { - $this->stackMapper = $stackMapper; - $this->cardMapper = $cardMapper; - $this->labelMapper = $labelMapper; - $this->permissionService = $permissionService; - } + public function __construct(StackMapper $stackMapper, CardMapper $cardMapper, LabelMapper $labelMapper, PermissionService $permissionService) { + $this->stackMapper = $stackMapper; + $this->cardMapper = $cardMapper; + $this->labelMapper = $labelMapper; + $this->permissionService = $permissionService; + } - public function findAll($boardId) { - $this->permissionService->checkPermission(null, $boardId, Acl::PERMISSION_READ); - $stacks = $this->stackMapper->findAll($boardId); - $labels = $this->labelMapper->getAssignedLabelsForBoard($boardId); - foreach ($stacks as $stackIndex => $stack) { - $cards = $this->cardMapper->findAll($stack->id); - foreach ($cards as $cardIndex => $card) { - if (array_key_exists($card->id, $labels)) { - $cards[$cardIndex]->setLabels($labels[$card->id]); - } - } - $stacks[$stackIndex]->setCards($cards); - } - return $stacks; - } - - public function findAllArchived($boardId) { - $this->permissionService->checkPermission(null, $boardId, Acl::PERMISSION_READ); - $stacks = $this->stackMapper->findAll($boardId); - $labels = $this->labelMapper->getAssignedLabelsForBoard($boardId); - foreach ($stacks as $stackIndex => $stack) { - $cards = $this->cardMapper->findAllArchived($stack->id); - foreach ($cards as $cardIndex => $card) { - if (array_key_exists($card->id, $labels)) { + public function findAll($boardId) { + $this->permissionService->checkPermission(null, $boardId, Acl::PERMISSION_READ); + $stacks = $this->stackMapper->findAll($boardId); + $labels = $this->labelMapper->getAssignedLabelsForBoard($boardId); + foreach ($stacks as $stackIndex => $stack) { + $cards = $this->cardMapper->findAll($stack->id); + foreach ($cards as $cardIndex => $card) { + if (array_key_exists($card->id, $labels)) { $cards[$cardIndex]->setLabels($labels[$card->id]); } - } - $stacks[$stackIndex]->setCards($cards); - } - return $stacks; - } + } + $stacks[$stackIndex]->setCards($cards); + } + return $stacks; + } - public function create($title, $boardId, $order) { - $this->permissionService->checkPermission(null, $boardId, Acl::PERMISSION_MANAGE); - $stack = new Stack(); - $stack->setTitle($title); - $stack->setBoardId($boardId); - $stack->setOrder($order); - return $this->stackMapper->insert($stack); + public function findAllArchived($boardId) { + $this->permissionService->checkPermission(null, $boardId, Acl::PERMISSION_READ); + $stacks = $this->stackMapper->findAll($boardId); + $labels = $this->labelMapper->getAssignedLabelsForBoard($boardId); + foreach ($stacks as $stackIndex => $stack) { + $cards = $this->cardMapper->findAllArchived($stack->id); + foreach ($cards as $cardIndex => $card) { + if (array_key_exists($card->id, $labels)) { + $cards[$cardIndex]->setLabels($labels[$card->id]); + } + } + $stacks[$stackIndex]->setCards($cards); + } + return $stacks; + } - } + public function create($title, $boardId, $order) { + $this->permissionService->checkPermission(null, $boardId, Acl::PERMISSION_MANAGE); + $stack = new Stack(); + $stack->setTitle($title); + $stack->setBoardId($boardId); + $stack->setOrder($order); + return $this->stackMapper->insert($stack); - public function delete($id) { - $this->permissionService->checkPermission($this->stackMapper, $id, Acl::PERMISSION_MANAGE); - return $this->stackMapper->delete($this->stackMapper->find($id)); - } + } - public function update($id, $title, $boardId, $order) { - $this->permissionService->checkPermission($this->stackMapper, $id, Acl::PERMISSION_MANAGE); - $stack = $this->stackMapper->find($id); - $stack->setTitle($title); - $stack->setBoardId($boardId); - $stack->setOrder($order); - return $this->stackMapper->update($stack); - } + public function delete($id) { + $this->permissionService->checkPermission($this->stackMapper, $id, Acl::PERMISSION_MANAGE); + return $this->stackMapper->delete($this->stackMapper->find($id)); + } + + public function update($id, $title, $boardId, $order) { + $this->permissionService->checkPermission($this->stackMapper, $id, Acl::PERMISSION_MANAGE); + $stack = $this->stackMapper->find($id); + $stack->setTitle($title); + $stack->setBoardId($boardId); + $stack->setOrder($order); + return $this->stackMapper->update($stack); + } } \ No newline at end of file