@@ -29,7 +29,6 @@ use OCP\DB\QueryBuilder\IQueryBuilder;
|
|||||||
use OCP\IDBConnection;
|
use OCP\IDBConnection;
|
||||||
|
|
||||||
class AclMapper extends DeckMapper implements IPermissionMapper {
|
class AclMapper extends DeckMapper implements IPermissionMapper {
|
||||||
|
|
||||||
public function __construct(IDBConnection $db) {
|
public function __construct(IDBConnection $db) {
|
||||||
parent::__construct($db, 'deck_board_acl', Acl::class);
|
parent::__construct($db, 'deck_board_acl', Acl::class);
|
||||||
}
|
}
|
||||||
@@ -62,7 +61,7 @@ class AclMapper extends DeckMapper implements IPermissionMapper {
|
|||||||
$qb = $this->db->getQueryBuilder();
|
$qb = $this->db->getQueryBuilder();
|
||||||
$qb->select('acl.id')
|
$qb->select('acl.id')
|
||||||
->from($this->getTableName(), 'acl')
|
->from($this->getTableName(), 'acl')
|
||||||
->innerJoin('acl', 'deck_boards','b', 'acl.board_id = b.id')
|
->innerJoin('acl', 'deck_boards', 'b', 'acl.board_id = b.id')
|
||||||
->where($qb->expr()->eq('owner', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)))
|
->where($qb->expr()->eq('owner', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)))
|
||||||
->andWhere($qb->expr()->eq('acl.id', $qb->createNamedParameter($aclId, IQueryBuilder::PARAM_INT)));
|
->andWhere($qb->expr()->eq('acl.id', $qb->createNamedParameter($aclId, IQueryBuilder::PARAM_INT)));
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,6 @@ use OCP\AppFramework\Db\MultipleObjectsReturnedException;
|
|||||||
use OCP\DB\QueryBuilder\IQueryBuilder;
|
use OCP\DB\QueryBuilder\IQueryBuilder;
|
||||||
use OCP\IDBConnection;
|
use OCP\IDBConnection;
|
||||||
use OCP\IUserManager;
|
use OCP\IUserManager;
|
||||||
use PDO;
|
|
||||||
|
|
||||||
class AttachmentMapper extends DeckMapper implements IPermissionMapper {
|
class AttachmentMapper extends DeckMapper implements IPermissionMapper {
|
||||||
private $cardMapper;
|
private $cardMapper;
|
||||||
|
|||||||
@@ -30,7 +30,6 @@ use OCP\DB\QueryBuilder\IQueryBuilder;
|
|||||||
use OCP\IDBConnection;
|
use OCP\IDBConnection;
|
||||||
|
|
||||||
class LabelMapper extends DeckMapper implements IPermissionMapper {
|
class LabelMapper extends DeckMapper implements IPermissionMapper {
|
||||||
|
|
||||||
public function __construct(IDBConnection $db) {
|
public function __construct(IDBConnection $db) {
|
||||||
parent::__construct($db, 'deck_labels', Label::class);
|
parent::__construct($db, 'deck_labels', Label::class);
|
||||||
}
|
}
|
||||||
@@ -180,11 +179,11 @@ class LabelMapper extends DeckMapper implements IPermissionMapper {
|
|||||||
$qb = $this->db->getQueryBuilder();
|
$qb = $this->db->getQueryBuilder();
|
||||||
$qb->select('l.id')
|
$qb->select('l.id')
|
||||||
->from($this->getTableName(), 'l')
|
->from($this->getTableName(), 'l')
|
||||||
->innerJoin('l', 'deck_boards' , 'b', 'l.board_id = b.id')
|
->innerJoin('l', 'deck_boards', 'b', 'l.board_id = b.id')
|
||||||
->where($qb->expr()->eq('l.id', $qb->createNamedParameter($labelId, IQueryBuilder::PARAM_INT)))
|
->where($qb->expr()->eq('l.id', $qb->createNamedParameter($labelId, IQueryBuilder::PARAM_INT)))
|
||||||
->andWhere($qb->expr()->eq('b.owner', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)));
|
->andWhere($qb->expr()->eq('b.owner', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)));
|
||||||
|
|
||||||
return count($qb->executeQuery()->fetchAll()) > 0;
|
return count($qb->executeQuery()->fetchAll()) > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -137,7 +137,7 @@ class StackMapper extends DeckMapper implements IPermissionMapper {
|
|||||||
->where($qb->expr()->eq('s.id', $qb->createNamedParameter($stackId, IQueryBuilder::PARAM_INT)))
|
->where($qb->expr()->eq('s.id', $qb->createNamedParameter($stackId, IQueryBuilder::PARAM_INT)))
|
||||||
->andWhere($qb->expr()->eq('owner', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)));
|
->andWhere($qb->expr()->eq('owner', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)));
|
||||||
|
|
||||||
return count($qb->executeQuery()->fetchAll()) > 0;
|
return count($qb->executeQuery()->fetchAll()) > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -91,12 +91,12 @@ class LabelService {
|
|||||||
$this->permissionService->checkPermission(null, $boardId, Acl::PERMISSION_MANAGE);
|
$this->permissionService->checkPermission(null, $boardId, Acl::PERMISSION_MANAGE);
|
||||||
|
|
||||||
$boardLabels = $this->labelMapper->findAll($boardId);
|
$boardLabels = $this->labelMapper->findAll($boardId);
|
||||||
foreach ($boardLabels as $boardLabel) {
|
foreach ($boardLabels as $boardLabel) {
|
||||||
if ($boardLabel->getTitle() === $title) {
|
if ($boardLabel->getTitle() === $title) {
|
||||||
throw new BadRequestException('title must be unique');
|
throw new BadRequestException('title must be unique');
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->boardService->isArchived(null, $boardId)) {
|
if ($this->boardService->isArchived(null, $boardId)) {
|
||||||
throw new StatusException('Operation not allowed. This board is archived.');
|
throw new StatusException('Operation not allowed. This board is archived.');
|
||||||
@@ -161,15 +161,15 @@ class LabelService {
|
|||||||
$label = $this->find($id);
|
$label = $this->find($id);
|
||||||
|
|
||||||
$boardLabels = $this->labelMapper->findAll($label->getBoardId());
|
$boardLabels = $this->labelMapper->findAll($label->getBoardId());
|
||||||
foreach ($boardLabels as $boardLabel) {
|
foreach ($boardLabels as $boardLabel) {
|
||||||
if ($boardLabel->getId() === $label->getId()) {
|
if ($boardLabel->getId() === $label->getId()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if ($boardLabel->getTitle() === $title) {
|
if ($boardLabel->getTitle() === $title) {
|
||||||
throw new BadRequestException('title must be unique');
|
throw new BadRequestException('title must be unique');
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->boardService->isArchived($this->labelMapper, $id)) {
|
if ($this->boardService->isArchived($this->labelMapper, $id)) {
|
||||||
throw new StatusException('Operation not allowed. This board is archived.');
|
throw new StatusException('Operation not allowed. This board is archived.');
|
||||||
|
|||||||
Reference in New Issue
Block a user