@@ -23,8 +23,6 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\AppInfo;
|
namespace OCA\Deck\AppInfo;
|
||||||
|
|
||||||
use OCP\AppFramework\App;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Additional autoloader registration, e.g. registering composer autoloaders
|
* Additional autoloader registration, e.g. registering composer autoloaders
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -48,8 +48,7 @@ use OCP\IL10N;
|
|||||||
use OCP\IUser;
|
use OCP\IUser;
|
||||||
|
|
||||||
class ActivityManager {
|
class ActivityManager {
|
||||||
|
public const DECK_NOAUTHOR_COMMENT_SYSTEM_ENFORCED = 'DECK_NOAUTHOR_COMMENT_SYSTEM_ENFORCED';
|
||||||
const DECK_NOAUTHOR_COMMENT_SYSTEM_ENFORCED = 'DECK_NOAUTHOR_COMMENT_SYSTEM_ENFORCED';
|
|
||||||
private $manager;
|
private $manager;
|
||||||
private $userId;
|
private $userId;
|
||||||
private $permissionService;
|
private $permissionService;
|
||||||
@@ -60,49 +59,49 @@ class ActivityManager {
|
|||||||
private $stackMapper;
|
private $stackMapper;
|
||||||
private $l10n;
|
private $l10n;
|
||||||
|
|
||||||
const DECK_OBJECT_BOARD = 'deck_board';
|
public const DECK_OBJECT_BOARD = 'deck_board';
|
||||||
const DECK_OBJECT_CARD = 'deck_card';
|
public const DECK_OBJECT_CARD = 'deck_card';
|
||||||
|
|
||||||
const SUBJECT_BOARD_CREATE = 'board_create';
|
public const SUBJECT_BOARD_CREATE = 'board_create';
|
||||||
const SUBJECT_BOARD_UPDATE = 'board_update';
|
public const SUBJECT_BOARD_UPDATE = 'board_update';
|
||||||
const SUBJECT_BOARD_UPDATE_TITLE = 'board_update_title';
|
public const SUBJECT_BOARD_UPDATE_TITLE = 'board_update_title';
|
||||||
const SUBJECT_BOARD_UPDATE_ARCHIVED = 'board_update_archived';
|
public const SUBJECT_BOARD_UPDATE_ARCHIVED = 'board_update_archived';
|
||||||
const SUBJECT_BOARD_DELETE = 'board_delete';
|
public const SUBJECT_BOARD_DELETE = 'board_delete';
|
||||||
const SUBJECT_BOARD_RESTORE = 'board_restore';
|
public const SUBJECT_BOARD_RESTORE = 'board_restore';
|
||||||
const SUBJECT_BOARD_SHARE = 'board_share';
|
public const SUBJECT_BOARD_SHARE = 'board_share';
|
||||||
const SUBJECT_BOARD_UNSHARE = 'board_unshare';
|
public const SUBJECT_BOARD_UNSHARE = 'board_unshare';
|
||||||
|
|
||||||
const SUBJECT_STACK_CREATE = 'stack_create';
|
public const SUBJECT_STACK_CREATE = 'stack_create';
|
||||||
const SUBJECT_STACK_UPDATE = 'stack_update';
|
public const SUBJECT_STACK_UPDATE = 'stack_update';
|
||||||
const SUBJECT_STACK_UPDATE_TITLE = 'stack_update_title';
|
public const SUBJECT_STACK_UPDATE_TITLE = 'stack_update_title';
|
||||||
const SUBJECT_STACK_UPDATE_ORDER = 'stack_update_order';
|
public const SUBJECT_STACK_UPDATE_ORDER = 'stack_update_order';
|
||||||
const SUBJECT_STACK_DELETE = 'stack_delete';
|
public const SUBJECT_STACK_DELETE = 'stack_delete';
|
||||||
|
|
||||||
const SUBJECT_CARD_CREATE = 'card_create';
|
public const SUBJECT_CARD_CREATE = 'card_create';
|
||||||
const SUBJECT_CARD_DELETE = 'card_delete';
|
public const SUBJECT_CARD_DELETE = 'card_delete';
|
||||||
const SUBJECT_CARD_RESTORE = 'card_restore';
|
public const SUBJECT_CARD_RESTORE = 'card_restore';
|
||||||
const SUBJECT_CARD_UPDATE = 'card_update';
|
public const SUBJECT_CARD_UPDATE = 'card_update';
|
||||||
const SUBJECT_CARD_UPDATE_TITLE = 'card_update_title';
|
public const SUBJECT_CARD_UPDATE_TITLE = 'card_update_title';
|
||||||
const SUBJECT_CARD_UPDATE_DESCRIPTION = 'card_update_description';
|
public const SUBJECT_CARD_UPDATE_DESCRIPTION = 'card_update_description';
|
||||||
const SUBJECT_CARD_UPDATE_DUEDATE = 'card_update_duedate';
|
public const SUBJECT_CARD_UPDATE_DUEDATE = 'card_update_duedate';
|
||||||
const SUBJECT_CARD_UPDATE_ARCHIVE = 'card_update_archive';
|
public const SUBJECT_CARD_UPDATE_ARCHIVE = 'card_update_archive';
|
||||||
const SUBJECT_CARD_UPDATE_UNARCHIVE = 'card_update_unarchive';
|
public const SUBJECT_CARD_UPDATE_UNARCHIVE = 'card_update_unarchive';
|
||||||
const SUBJECT_CARD_UPDATE_STACKID = 'card_update_stackId';
|
public const SUBJECT_CARD_UPDATE_STACKID = 'card_update_stackId';
|
||||||
const SUBJECT_CARD_USER_ASSIGN = 'card_user_assign';
|
public const SUBJECT_CARD_USER_ASSIGN = 'card_user_assign';
|
||||||
const SUBJECT_CARD_USER_UNASSIGN = 'card_user_unassign';
|
public const SUBJECT_CARD_USER_UNASSIGN = 'card_user_unassign';
|
||||||
|
|
||||||
const SUBJECT_ATTACHMENT_CREATE = 'attachment_create';
|
public const SUBJECT_ATTACHMENT_CREATE = 'attachment_create';
|
||||||
const SUBJECT_ATTACHMENT_UPDATE = 'attachment_update';
|
public const SUBJECT_ATTACHMENT_UPDATE = 'attachment_update';
|
||||||
const SUBJECT_ATTACHMENT_DELETE = 'attachment_delete';
|
public const SUBJECT_ATTACHMENT_DELETE = 'attachment_delete';
|
||||||
const SUBJECT_ATTACHMENT_RESTORE = 'attachment_restore';
|
public const SUBJECT_ATTACHMENT_RESTORE = 'attachment_restore';
|
||||||
|
|
||||||
const SUBJECT_LABEL_CREATE = 'label_create';
|
public const SUBJECT_LABEL_CREATE = 'label_create';
|
||||||
const SUBJECT_LABEL_UPDATE = 'label_update';
|
public const SUBJECT_LABEL_UPDATE = 'label_update';
|
||||||
const SUBJECT_LABEL_DELETE = 'label_delete';
|
public const SUBJECT_LABEL_DELETE = 'label_delete';
|
||||||
const SUBJECT_LABEL_ASSIGN = 'label_assign';
|
public const SUBJECT_LABEL_ASSIGN = 'label_assign';
|
||||||
const SUBJECT_LABEL_UNASSING = 'label_unassign';
|
public const SUBJECT_LABEL_UNASSING = 'label_unassign';
|
||||||
|
|
||||||
const SUBJECT_CARD_COMMENT_CREATE = 'card_comment_create';
|
public const SUBJECT_CARD_COMMENT_CREATE = 'card_comment_create';
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
IManager $manager,
|
IManager $manager,
|
||||||
@@ -197,7 +196,7 @@ class ActivityManager {
|
|||||||
case self::SUBJECT_CARD_UPDATE_DUEDATE:
|
case self::SUBJECT_CARD_UPDATE_DUEDATE:
|
||||||
if (!isset($subjectParams['after'])) {
|
if (!isset($subjectParams['after'])) {
|
||||||
$subject = $ownActivity ? $this->l10n->t('You have removed the due date of card {card}') : $this->l10n->t('{user} has removed the due date of card {card}');
|
$subject = $ownActivity ? $this->l10n->t('You have removed the due date of card {card}') : $this->l10n->t('{user} has removed the due date of card {card}');
|
||||||
} else if (!isset($subjectParams['before']) && isset($subjectParams['after'])) {
|
} elseif (!isset($subjectParams['before']) && isset($subjectParams['after'])) {
|
||||||
$subject = $ownActivity ? $this->l10n->t('You have set the due date of card {card} to {after}') : $this->l10n->t('{user} has set the due date of card {card} to {after}');
|
$subject = $ownActivity ? $this->l10n->t('You have set the due date of card {card} to {after}') : $this->l10n->t('{user} has set the due date of card {card} to {after}');
|
||||||
} else {
|
} else {
|
||||||
$subject = $ownActivity ? $this->l10n->t('You have updated the due date of card {card} to {after}') : $this->l10n->t('{user} has updated the due date of card {card} to {after}');
|
$subject = $ownActivity ? $this->l10n->t('You have updated the due date of card {card} to {after}') : $this->l10n->t('{user} has updated the due date of card {card} to {after}');
|
||||||
@@ -376,7 +375,7 @@ class ActivityManager {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($subject === self::SUBJECT_CARD_UPDATE_DESCRIPTION){
|
if ($subject === self::SUBJECT_CARD_UPDATE_DESCRIPTION) {
|
||||||
$card = $subjectParams['card'];
|
$card = $subjectParams['card'];
|
||||||
if ($card->getLastEditor() === $this->userId) {
|
if ($card->getLastEditor() === $this->userId) {
|
||||||
return null;
|
return null;
|
||||||
@@ -526,5 +525,4 @@ class ActivityManager {
|
|||||||
'board' => $board
|
'board' => $board
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,9 +23,7 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Activity;
|
namespace OCA\Deck\Activity;
|
||||||
|
|
||||||
|
|
||||||
class ChangeSet implements \JsonSerializable {
|
class ChangeSet implements \JsonSerializable {
|
||||||
|
|
||||||
private $before;
|
private $before;
|
||||||
private $after;
|
private $after;
|
||||||
private $diff = false;
|
private $diff = false;
|
||||||
|
|||||||
@@ -50,12 +50,12 @@ class CommentEventHandler implements ICommentsEventHandler {
|
|||||||
* @param CommentsEvent $event
|
* @param CommentsEvent $event
|
||||||
*/
|
*/
|
||||||
public function handle(CommentsEvent $event) {
|
public function handle(CommentsEvent $event) {
|
||||||
if($event->getComment()->getObjectType() !== 'deckCard') {
|
if ($event->getComment()->getObjectType() !== 'deckCard') {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$eventType = $event->getEvent();
|
$eventType = $event->getEvent();
|
||||||
if( $eventType === CommentsEvent::EVENT_ADD
|
if ($eventType === CommentsEvent::EVENT_ADD
|
||||||
) {
|
) {
|
||||||
$this->notificationHandler($event);
|
$this->notificationHandler($event);
|
||||||
$this->activityHandler($event);
|
$this->activityHandler($event);
|
||||||
@@ -65,7 +65,7 @@ class CommentEventHandler implements ICommentsEventHandler {
|
|||||||
$applicableEvents = [
|
$applicableEvents = [
|
||||||
CommentsEvent::EVENT_UPDATE
|
CommentsEvent::EVENT_UPDATE
|
||||||
];
|
];
|
||||||
if(in_array($eventType, $applicableEvents)) {
|
if (in_array($eventType, $applicableEvents)) {
|
||||||
$this->notificationHandler($event);
|
$this->notificationHandler($event);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -79,7 +79,6 @@ class CommentEventHandler implements ICommentsEventHandler {
|
|||||||
$comment = $event->getComment();
|
$comment = $event->getComment();
|
||||||
$card = $this->cardMapper->find($comment->getObjectId());
|
$card = $this->cardMapper->find($comment->getObjectId());
|
||||||
$this->activityManager->triggerEvent(ActivityManager::DECK_OBJECT_CARD, $card, ActivityManager::SUBJECT_CARD_COMMENT_CREATE, ['comment' => $comment]);
|
$this->activityManager->triggerEvent(ActivityManager::DECK_OBJECT_CARD, $card, ActivityManager::SUBJECT_CARD_COMMENT_CREATE, ['comment' => $comment]);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Activity;
|
namespace OCA\Deck\Activity;
|
||||||
|
|
||||||
|
|
||||||
use cogpowered\FineDiff\Diff;
|
use cogpowered\FineDiff\Diff;
|
||||||
use OCA\Deck\Db\Acl;
|
use OCA\Deck\Db\Acl;
|
||||||
use OCP\Activity\IEvent;
|
use OCP\Activity\IEvent;
|
||||||
|
|||||||
@@ -23,7 +23,6 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Activity;
|
namespace OCA\Deck\Activity;
|
||||||
|
|
||||||
|
|
||||||
class DescriptionSetting extends Setting {
|
class DescriptionSetting extends Setting {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -41,5 +40,4 @@ class DescriptionSetting extends Setting {
|
|||||||
public function getName() {
|
public function getName() {
|
||||||
return $this->l->t('A <strong>card description</strong> inside the Deck app has been changed');
|
return $this->l->t('A <strong>card description</strong> inside the Deck app has been changed');
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ use OCP\IL10N;
|
|||||||
use OCP\IURLGenerator;
|
use OCP\IURLGenerator;
|
||||||
|
|
||||||
class Filter implements \OCP\Activity\IFilter {
|
class Filter implements \OCP\Activity\IFilter {
|
||||||
|
|
||||||
private $l10n;
|
private $l10n;
|
||||||
private $urlGenerator;
|
private $urlGenerator;
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,6 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Activity;
|
namespace OCA\Deck\Activity;
|
||||||
|
|
||||||
|
|
||||||
use OCP\IL10N;
|
use OCP\IL10N;
|
||||||
|
|
||||||
class Setting implements \OCP\Activity\ISetting {
|
class Setting implements \OCP\Activity\ISetting {
|
||||||
|
|||||||
@@ -23,7 +23,6 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Activity;
|
namespace OCA\Deck\Activity;
|
||||||
|
|
||||||
|
|
||||||
class SettingComment extends Setting {
|
class SettingComment extends Setting {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -49,5 +48,4 @@ class SettingComment extends Setting {
|
|||||||
public function canChangeStream() {
|
public function canChangeStream() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,6 @@
|
|||||||
namespace OCA\Deck\AppInfo;
|
namespace OCA\Deck\AppInfo;
|
||||||
|
|
||||||
use Exception;
|
use Exception;
|
||||||
use InvalidArgumentException;
|
|
||||||
use OC_Util;
|
use OC_Util;
|
||||||
use OCA\Deck\Activity\CommentEventHandler;
|
use OCA\Deck\Activity\CommentEventHandler;
|
||||||
use OCA\Deck\Capabilities;
|
use OCA\Deck\Capabilities;
|
||||||
@@ -52,10 +51,8 @@ use OCP\IUser;
|
|||||||
use OCP\IUserManager;
|
use OCP\IUserManager;
|
||||||
use OCP\IURLGenerator;
|
use OCP\IURLGenerator;
|
||||||
use OCP\Util;
|
use OCP\Util;
|
||||||
use Symfony\Component\EventDispatcher\GenericEvent;
|
|
||||||
|
|
||||||
class Application extends App {
|
class Application extends App {
|
||||||
|
|
||||||
public const APP_ID = 'deck';
|
public const APP_ID = 'deck';
|
||||||
|
|
||||||
public const COMMENT_ENTITY_TYPE = 'deckCard';
|
public const COMMENT_ENTITY_TYPE = 'deckCard';
|
||||||
@@ -69,7 +66,7 @@ class Application extends App {
|
|||||||
/** @var IFullTextSearchManager */
|
/** @var IFullTextSearchManager */
|
||||||
private $fullTextSearchManager;
|
private $fullTextSearchManager;
|
||||||
|
|
||||||
public function __construct(array $urlParams = array()) {
|
public function __construct(array $urlParams = []) {
|
||||||
parent::__construct('deck', $urlParams);
|
parent::__construct('deck', $urlParams);
|
||||||
|
|
||||||
$container = $this->getContainer();
|
$container = $this->getContainer();
|
||||||
@@ -81,10 +78,10 @@ class Application extends App {
|
|||||||
$container->registerMiddleWare(ExceptionMiddleware::class);
|
$container->registerMiddleWare(ExceptionMiddleware::class);
|
||||||
$container->registerMiddleWare(DefaultBoardMiddleware::class);
|
$container->registerMiddleWare(DefaultBoardMiddleware::class);
|
||||||
|
|
||||||
$container->registerService('databaseType', static function() use ($server) {
|
$container->registerService('databaseType', static function () use ($server) {
|
||||||
return $server->getConfig()->getSystemValue('dbtype', 'sqlite');
|
return $server->getConfig()->getSystemValue('dbtype', 'sqlite');
|
||||||
});
|
});
|
||||||
$container->registerService('database4ByteSupport', static function() use ($server) {
|
$container->registerService('database4ByteSupport', static function () use ($server) {
|
||||||
return $server->getDatabaseConnection()->supports4ByteText();
|
return $server->getDatabaseConnection()->supports4ByteText();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -100,7 +97,7 @@ class Application extends App {
|
|||||||
|
|
||||||
public function registerNavigationEntry(): void {
|
public function registerNavigationEntry(): void {
|
||||||
$container = $this->getContainer();
|
$container = $this->getContainer();
|
||||||
$this->server->getNavigationManager()->add(static function() use ($container) {
|
$this->server->getNavigationManager()->add(static function () use ($container) {
|
||||||
$urlGenerator = $container->query(IURLGenerator::class);
|
$urlGenerator = $container->query(IURLGenerator::class);
|
||||||
return [
|
return [
|
||||||
'id' => 'deck',
|
'id' => 'deck',
|
||||||
@@ -117,7 +114,7 @@ class Application extends App {
|
|||||||
// Delete user/group acl entries when they get deleted
|
// Delete user/group acl entries when they get deleted
|
||||||
/** @var IUserManager $userManager */
|
/** @var IUserManager $userManager */
|
||||||
$userManager = $this->server->getUserManager();
|
$userManager = $this->server->getUserManager();
|
||||||
$userManager->listen('\OC\User', 'postDelete', static function(IUser $user) use ($container) {
|
$userManager->listen('\OC\User', 'postDelete', static function (IUser $user) use ($container) {
|
||||||
// delete existing acl entries for deleted user
|
// delete existing acl entries for deleted user
|
||||||
/** @var AclMapper $aclMapper */
|
/** @var AclMapper $aclMapper */
|
||||||
$aclMapper = $container->query(AclMapper::class);
|
$aclMapper = $container->query(AclMapper::class);
|
||||||
@@ -135,7 +132,7 @@ class Application extends App {
|
|||||||
|
|
||||||
/** @var IUserManager $userManager */
|
/** @var IUserManager $userManager */
|
||||||
$groupManager = $this->server->getGroupManager();
|
$groupManager = $this->server->getGroupManager();
|
||||||
$groupManager->listen('\OC\Group', 'postDelete', static function(IGroup $group) use ($container) {
|
$groupManager->listen('\OC\Group', 'postDelete', static function (IGroup $group) use ($container) {
|
||||||
/** @var AclMapper $aclMapper */
|
/** @var AclMapper $aclMapper */
|
||||||
$aclMapper = $container->query(AclMapper::class);
|
$aclMapper = $container->query(AclMapper::class);
|
||||||
$aclMapper->findByParticipant(Acl::PERMISSION_TYPE_GROUP, $group->getGID());
|
$aclMapper->findByParticipant(Acl::PERMISSION_TYPE_GROUP, $group->getGID());
|
||||||
@@ -152,8 +149,8 @@ class Application extends App {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function registerCommentsEntity(): void {
|
public function registerCommentsEntity(): void {
|
||||||
$this->server->getEventDispatcher()->addListener(CommentsEntityEvent::EVENT_ENTITY, function(CommentsEntityEvent $event) {
|
$this->server->getEventDispatcher()->addListener(CommentsEntityEvent::EVENT_ENTITY, function (CommentsEntityEvent $event) {
|
||||||
$event->addEntityCollection(self::COMMENT_ENTITY_TYPE, function($name) {
|
$event->addEntityCollection(self::COMMENT_ENTITY_TYPE, function ($name) {
|
||||||
/** @var CardMapper */
|
/** @var CardMapper */
|
||||||
$cardMapper = $this->getContainer()->query(CardMapper::class);
|
$cardMapper = $this->getContainer()->query(CardMapper::class);
|
||||||
$permissionService = $this->getContainer()->query(PermissionService::class);
|
$permissionService = $this->getContainer()->query(PermissionService::class);
|
||||||
@@ -222,35 +219,34 @@ class Application extends App {
|
|||||||
/** @var IEventDispatcher $eventDispatcher */
|
/** @var IEventDispatcher $eventDispatcher */
|
||||||
$eventDispatcher = $this->server->query(IEventDispatcher::class);
|
$eventDispatcher = $this->server->query(IEventDispatcher::class);
|
||||||
$eventDispatcher->addListener(
|
$eventDispatcher->addListener(
|
||||||
'\OCA\Deck\Card::onCreate', function(Event $e) {
|
'\OCA\Deck\Card::onCreate', function (Event $e) {
|
||||||
$this->fullTextSearchService->onCardCreated($e);
|
$this->fullTextSearchService->onCardCreated($e);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
$eventDispatcher->addListener(
|
$eventDispatcher->addListener(
|
||||||
'\OCA\Deck\Card::onUpdate', function(Event $e) {
|
'\OCA\Deck\Card::onUpdate', function (Event $e) {
|
||||||
$this->fullTextSearchService->onCardUpdated($e);
|
$this->fullTextSearchService->onCardUpdated($e);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
$eventDispatcher->addListener(
|
$eventDispatcher->addListener(
|
||||||
'\OCA\Deck\Card::onDelete', function(Event $e) {
|
'\OCA\Deck\Card::onDelete', function (Event $e) {
|
||||||
$this->fullTextSearchService->onCardDeleted($e);
|
$this->fullTextSearchService->onCardDeleted($e);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
$eventDispatcher->addListener(
|
$eventDispatcher->addListener(
|
||||||
'\OCA\Deck\Board::onShareNew', function(Event $e) {
|
'\OCA\Deck\Board::onShareNew', function (Event $e) {
|
||||||
$this->fullTextSearchService->onBoardShares($e);
|
$this->fullTextSearchService->onBoardShares($e);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
$eventDispatcher->addListener(
|
$eventDispatcher->addListener(
|
||||||
'\OCA\Deck\Board::onShareEdit', function(Event $e) {
|
'\OCA\Deck\Board::onShareEdit', function (Event $e) {
|
||||||
$this->fullTextSearchService->onBoardShares($e);
|
$this->fullTextSearchService->onBoardShares($e);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
$eventDispatcher->addListener(
|
$eventDispatcher->addListener(
|
||||||
'\OCA\Deck\Board::onShareDelete', function(Event $e) {
|
'\OCA\Deck\Board::onShareDelete', function (Event $e) {
|
||||||
$this->fullTextSearchService->onBoardShares($e);
|
$this->fullTextSearchService->onBoardShares($e);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,8 +24,8 @@
|
|||||||
namespace OCA\Deck;
|
namespace OCA\Deck;
|
||||||
|
|
||||||
use OCP\AppFramework\Http;
|
use OCP\AppFramework\Http;
|
||||||
class BadRequestException extends StatusException {
|
|
||||||
|
|
||||||
|
class BadRequestException extends StatusException {
|
||||||
public function __construct($message) {
|
public function __construct($message) {
|
||||||
parent::__construct($message);
|
parent::__construct($message);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,10 +23,9 @@
|
|||||||
|
|
||||||
namespace OCA\Deck;
|
namespace OCA\Deck;
|
||||||
|
|
||||||
|
|
||||||
use OCP\Capabilities\ICapability;
|
use OCP\Capabilities\ICapability;
|
||||||
|
|
||||||
class Capabilities implements ICapability {
|
class Capabilities implements ICapability {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function an app uses to return the capabilities
|
* Function an app uses to return the capabilities
|
||||||
|
|||||||
@@ -23,9 +23,7 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Collaboration\Resources;
|
namespace OCA\Deck\Collaboration\Resources;
|
||||||
|
|
||||||
|
|
||||||
use OCA\Deck\Db\Acl;
|
use OCA\Deck\Db\Acl;
|
||||||
use OCA\Deck\Db\Board;
|
|
||||||
use OCA\Deck\Db\BoardMapper;
|
use OCA\Deck\Db\BoardMapper;
|
||||||
use OCA\Deck\Service\PermissionService;
|
use OCA\Deck\Service\PermissionService;
|
||||||
use OCP\AppFramework\Db\DoesNotExistException;
|
use OCP\AppFramework\Db\DoesNotExistException;
|
||||||
@@ -34,12 +32,10 @@ use OCP\AppFramework\QueryException;
|
|||||||
use OCP\Collaboration\Resources\IManager;
|
use OCP\Collaboration\Resources\IManager;
|
||||||
use OCP\Collaboration\Resources\IProvider;
|
use OCP\Collaboration\Resources\IProvider;
|
||||||
use OCP\Collaboration\Resources\IResource;
|
use OCP\Collaboration\Resources\IResource;
|
||||||
use OCP\Collaboration\Resources\ResourceException;
|
|
||||||
use OCP\IUser;
|
use OCP\IUser;
|
||||||
|
|
||||||
class ResourceProvider implements IProvider {
|
class ResourceProvider implements IProvider {
|
||||||
|
public const RESOURCE_TYPE = 'deck';
|
||||||
const RESOURCE_TYPE = 'deck';
|
|
||||||
|
|
||||||
private $boardMapper;
|
private $boardMapper;
|
||||||
private $permissionService;
|
private $permissionService;
|
||||||
@@ -83,7 +79,6 @@ class ResourceProvider implements IProvider {
|
|||||||
'link' => $link,
|
'link' => $link,
|
||||||
'iconUrl' => \OC::$server->getURLGenerator()->imagePath('deck', 'deck-dark.svg')
|
'iconUrl' => \OC::$server->getURLGenerator()->imagePath('deck', 'deck-dark.svg')
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -23,7 +23,6 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Collaboration\Resources;
|
namespace OCA\Deck\Collaboration\Resources;
|
||||||
|
|
||||||
|
|
||||||
use OCA\Deck\Db\Acl;
|
use OCA\Deck\Db\Acl;
|
||||||
use OCA\Deck\Db\Board;
|
use OCA\Deck\Db\Board;
|
||||||
use OCA\Deck\Db\BoardMapper;
|
use OCA\Deck\Db\BoardMapper;
|
||||||
@@ -40,8 +39,7 @@ use OCP\IURLGenerator;
|
|||||||
use OCP\IUser;
|
use OCP\IUser;
|
||||||
|
|
||||||
class ResourceProviderCard implements IProvider {
|
class ResourceProviderCard implements IProvider {
|
||||||
|
public const RESOURCE_TYPE = 'deck-card';
|
||||||
const RESOURCE_TYPE = 'deck-card';
|
|
||||||
|
|
||||||
/** @var CardMapper */
|
/** @var CardMapper */
|
||||||
private $cardMapper;
|
private $cardMapper;
|
||||||
@@ -101,7 +99,6 @@ class ResourceProviderCard implements IProvider {
|
|||||||
'link' => $link,
|
'link' => $link,
|
||||||
'iconUrl' => $this->urlGenerator->imagePath('core', 'actions/toggle-pictures.svg')
|
'iconUrl' => $this->urlGenerator->imagePath('core', 'actions/toggle-pictures.svg')
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -38,7 +38,6 @@ use Symfony\Component\Console\Input\InputInterface;
|
|||||||
use Symfony\Component\Console\Output\OutputInterface;
|
use Symfony\Component\Console\Output\OutputInterface;
|
||||||
|
|
||||||
class UserExport extends Command {
|
class UserExport extends Command {
|
||||||
|
|
||||||
protected $boardService;
|
protected $boardService;
|
||||||
protected $cardMapper;
|
protected $cardMapper;
|
||||||
private $userManager;
|
private $userManager;
|
||||||
@@ -85,7 +84,6 @@ class UserExport extends Command {
|
|||||||
* @throws \ReflectionException
|
* @throws \ReflectionException
|
||||||
*/
|
*/
|
||||||
protected function execute(InputInterface $input, OutputInterface $output) {
|
protected function execute(InputInterface $input, OutputInterface $output) {
|
||||||
|
|
||||||
$userId = $input->getArgument('user-id');
|
$userId = $input->getArgument('user-id');
|
||||||
|
|
||||||
$this->boardService->setUserId($userId);
|
$this->boardService->setUserId($userId);
|
||||||
@@ -110,5 +108,3 @@ class UserExport extends Command {
|
|||||||
$output->writeln(json_encode($data, JSON_PRETTY_PRINT));
|
$output->writeln(json_encode($data, JSON_PRETTY_PRINT));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -25,82 +25,80 @@ namespace OCA\Deck\Controller;
|
|||||||
use OCP\AppFramework\ApiController;
|
use OCP\AppFramework\ApiController;
|
||||||
use OCP\AppFramework\Http;
|
use OCP\AppFramework\Http;
|
||||||
use OCP\AppFramework\Http\DataResponse;
|
use OCP\AppFramework\Http\DataResponse;
|
||||||
use OCP\AppFramework\Http\FileDisplayResponse;
|
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
use OCA\Deck\Service\AttachmentService;
|
use OCA\Deck\Service\AttachmentService;
|
||||||
|
|
||||||
class AttachmentApiController extends ApiController {
|
class AttachmentApiController extends ApiController {
|
||||||
|
private $attachmentService;
|
||||||
|
|
||||||
private $attachmentService;
|
public function __construct($appName, IRequest $request, AttachmentService $attachmentService) {
|
||||||
|
parent::__construct($appName, $request);
|
||||||
|
$this->attachmentService = $attachmentService;
|
||||||
|
}
|
||||||
|
|
||||||
public function __construct($appName, IRequest $request, AttachmentService $attachmentService) {
|
/**
|
||||||
parent::__construct($appName, $request);
|
|
||||||
$this->attachmentService = $attachmentService;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @NoAdminRequired
|
* @NoAdminRequired
|
||||||
* @CORS
|
* @CORS
|
||||||
* @NoCSRFRequired
|
* @NoCSRFRequired
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public function getAll() {
|
public function getAll() {
|
||||||
$attachment = $this->attachmentService->findAll($this->request->getParam('cardId'), true);
|
$attachment = $this->attachmentService->findAll($this->request->getParam('cardId'), true);
|
||||||
return new DataResponse($attachment, HTTP::STATUS_OK);
|
return new DataResponse($attachment, HTTP::STATUS_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @NoAdminRequired
|
* @NoAdminRequired
|
||||||
* @CORS
|
* @CORS
|
||||||
* @NoCSRFRequired
|
* @NoCSRFRequired
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public function display() {
|
public function display() {
|
||||||
$attachment = $this->attachmentService->display($this->request->getParam('cardId'), $this->request->getParam('attachmentId'));
|
$attachment = $this->attachmentService->display($this->request->getParam('cardId'), $this->request->getParam('attachmentId'));
|
||||||
return $attachment;
|
return $attachment;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @NoAdminRequired
|
* @NoAdminRequired
|
||||||
* @CORS
|
* @CORS
|
||||||
* @NoCSRFRequired
|
* @NoCSRFRequired
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public function create($type, $data) {
|
public function create($type, $data) {
|
||||||
$attachment = $this->attachmentService->create($this->request->getParam('cardId'), $type, $data);
|
$attachment = $this->attachmentService->create($this->request->getParam('cardId'), $type, $data);
|
||||||
return new DataResponse($attachment, HTTP::STATUS_OK);
|
return new DataResponse($attachment, HTTP::STATUS_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @NoAdminRequired
|
* @NoAdminRequired
|
||||||
* @CORS
|
* @CORS
|
||||||
* @NoCSRFRequired
|
* @NoCSRFRequired
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public function update($data) {
|
public function update($data) {
|
||||||
$attachment = $this->attachmentService->update($this->request->getParam('cardId'), $this->request->getParam('attachmentId'), $data);
|
$attachment = $this->attachmentService->update($this->request->getParam('cardId'), $this->request->getParam('attachmentId'), $data);
|
||||||
return new DataResponse($attachment, HTTP::STATUS_OK);
|
return new DataResponse($attachment, HTTP::STATUS_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @NoAdminRequired
|
* @NoAdminRequired
|
||||||
* @CORS
|
* @CORS
|
||||||
* @NoCSRFRequired
|
* @NoCSRFRequired
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public function delete() {
|
public function delete() {
|
||||||
$attachment = $this->attachmentService->delete($this->request->getParam('cardId'), $this->request->getParam('attachmentId'));
|
$attachment = $this->attachmentService->delete($this->request->getParam('cardId'), $this->request->getParam('attachmentId'));
|
||||||
return new DataResponse($attachment, HTTP::STATUS_OK);
|
return new DataResponse($attachment, HTTP::STATUS_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @NoAdminRequired
|
* @NoAdminRequired
|
||||||
* @CORS
|
* @CORS
|
||||||
* @NoCSRFRequired
|
* @NoCSRFRequired
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public function restore() {
|
public function restore() {
|
||||||
$attachment = $this->attachmentService->restore($this->request->getParam('cardId'), $this->request->getParam('attachmentId'));
|
$attachment = $this->attachmentService->restore($this->request->getParam('cardId'), $this->request->getParam('attachmentId'));
|
||||||
return new DataResponse($attachment, HTTP::STATUS_OK);
|
return new DataResponse($attachment, HTTP::STATUS_OK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -23,7 +23,6 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Controller;
|
namespace OCA\Deck\Controller;
|
||||||
|
|
||||||
|
|
||||||
use OCA\Deck\Service\AttachmentService;
|
use OCA\Deck\Service\AttachmentService;
|
||||||
use OCP\AppFramework\Controller;
|
use OCP\AppFramework\Controller;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
|
|||||||
@@ -39,7 +39,6 @@ use Sabre\HTTP\Util;
|
|||||||
* @package OCA\Deck\Controller
|
* @package OCA\Deck\Controller
|
||||||
*/
|
*/
|
||||||
class BoardApiController extends ApiController {
|
class BoardApiController extends ApiController {
|
||||||
|
|
||||||
private $boardService;
|
private $boardService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -74,7 +73,7 @@ class BoardApiController extends ApiController {
|
|||||||
$boards = $this->boardService->findAll($date->getTimestamp(), $details);
|
$boards = $this->boardService->findAll($date->getTimestamp(), $details);
|
||||||
}
|
}
|
||||||
return new DataResponse($boards, HTTP::STATUS_OK);
|
return new DataResponse($boards, HTTP::STATUS_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @NoAdminRequired
|
* @NoAdminRequired
|
||||||
@@ -175,5 +174,4 @@ class BoardApiController extends ApiController {
|
|||||||
$acl = $this->boardService->deleteAcl($aclId);
|
$acl = $this->boardService->deleteAcl($aclId);
|
||||||
return new DataResponse($acl, HTTP::STATUS_OK);
|
return new DataResponse($acl, HTTP::STATUS_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,9 +28,6 @@ use OCA\Deck\Service\BoardService;
|
|||||||
use OCA\Deck\Service\PermissionService;
|
use OCA\Deck\Service\PermissionService;
|
||||||
use OCP\AppFramework\ApiController;
|
use OCP\AppFramework\ApiController;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
use OCP\AppFramework\Controller;
|
|
||||||
use OCP\IUserManager;
|
|
||||||
use OCP\IGroupManager;
|
|
||||||
|
|
||||||
class BoardController extends ApiController {
|
class BoardController extends ApiController {
|
||||||
private $userId;
|
private $userId;
|
||||||
@@ -158,5 +155,4 @@ class BoardController extends ApiController {
|
|||||||
public function clone($boardId) {
|
public function clone($boardId) {
|
||||||
return $this->boardService->clone($boardId);
|
return $this->boardService->clone($boardId);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,10 +33,10 @@
|
|||||||
use OCA\Deck\Service\CardService;
|
use OCA\Deck\Service\CardService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class BoardApiController
|
* Class BoardApiController
|
||||||
*
|
*
|
||||||
* @package OCA\Deck\Controller
|
* @package OCA\Deck\Controller
|
||||||
*/
|
*/
|
||||||
class CardApiController extends ApiController {
|
class CardApiController extends ApiController {
|
||||||
private $cardService;
|
private $cardService;
|
||||||
private $userId;
|
private $userId;
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ use OCP\IRequest;
|
|||||||
use OCP\AppFramework\Controller;
|
use OCP\AppFramework\Controller;
|
||||||
|
|
||||||
class CardController extends Controller {
|
class CardController extends Controller {
|
||||||
|
|
||||||
private $userId;
|
private $userId;
|
||||||
private $cardService;
|
private $cardService;
|
||||||
private $assignmentService;
|
private $assignmentService;
|
||||||
@@ -96,7 +95,7 @@ class CardController extends Controller {
|
|||||||
* @return \OCP\AppFramework\Db\Entity
|
* @return \OCP\AppFramework\Db\Entity
|
||||||
*/
|
*/
|
||||||
public function update($id, $title, $stackId, $type, $order, $description, $duedate, $deletedAt) {
|
public function update($id, $title, $stackId, $type, $order, $description, $duedate, $deletedAt) {
|
||||||
return $this->cardService->update($id, $title, $stackId, $type, $order, $description, $this->userId, $duedate, $deletedAt);
|
return $this->cardService->update($id, $title, $stackId, $type, $order, $description, $this->userId, $duedate, $deletedAt);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -166,7 +165,4 @@ class CardController extends Controller {
|
|||||||
public function unassignUser($cardId, $userId, $type = 0) {
|
public function unassignUser($cardId, $userId, $type = 0) {
|
||||||
return $this->assignmentService->unassignUser($cardId, $userId, $type);
|
return $this->assignmentService->unassignUser($cardId, $userId, $type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,13 +23,10 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Controller;
|
namespace OCA\Deck\Controller;
|
||||||
|
|
||||||
use OCA\Deck\BadRequestException;
|
|
||||||
use OCA\Deck\Service\CommentService;
|
use OCA\Deck\Service\CommentService;
|
||||||
use OCA\Deck\StatusException;
|
use OCA\Deck\StatusException;
|
||||||
use OCP\AppFramework\ApiController;
|
|
||||||
use OCP\AppFramework\Http\DataResponse;
|
use OCP\AppFramework\Http\DataResponse;
|
||||||
|
|
||||||
use OCP\AppFramework\OCS\OCSException;
|
|
||||||
use OCP\AppFramework\OCSController;
|
use OCP\AppFramework\OCSController;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
|
|
||||||
|
|||||||
@@ -23,19 +23,15 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Controller;
|
namespace OCA\Deck\Controller;
|
||||||
|
|
||||||
use OCA\Deck\Service\DefaultBoardService;
|
|
||||||
use OCP\AppFramework\Http\DataResponse;
|
use OCP\AppFramework\Http\DataResponse;
|
||||||
use OCP\AppFramework\Http\NotFoundResponse;
|
use OCP\AppFramework\Http\NotFoundResponse;
|
||||||
use OCP\IConfig;
|
use OCP\IConfig;
|
||||||
use OCP\IGroup;
|
use OCP\IGroup;
|
||||||
use OCP\IGroupManager;
|
use OCP\IGroupManager;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
use OCP\AppFramework\Http\TemplateResponse;
|
|
||||||
use OCP\AppFramework\Controller;
|
use OCP\AppFramework\Controller;
|
||||||
use OCP\IL10N;
|
|
||||||
|
|
||||||
class ConfigController extends Controller {
|
class ConfigController extends Controller {
|
||||||
|
|
||||||
private $config;
|
private $config;
|
||||||
private $userId;
|
private $userId;
|
||||||
private $groupManager;
|
private $groupManager;
|
||||||
@@ -100,7 +96,7 @@ class ConfigController extends Controller {
|
|||||||
|
|
||||||
private function getGroupLimit() {
|
private function getGroupLimit() {
|
||||||
$groups = $this->getGroupLimitList();
|
$groups = $this->getGroupLimitList();
|
||||||
$groups = array_map(function($groupId) {
|
$groups = array_map(function ($groupId) {
|
||||||
/** @var IGroup $groups */
|
/** @var IGroup $groups */
|
||||||
$group = $this->groupManager->get($groupId);
|
$group = $this->groupManager->get($groupId);
|
||||||
if ($group === null) {
|
if ($group === null) {
|
||||||
@@ -113,5 +109,4 @@ class ConfigController extends Controller {
|
|||||||
}, $groups);
|
}, $groups);
|
||||||
return array_filter($groups);
|
return array_filter($groups);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,15 +28,13 @@ use OCP\AppFramework\Http;
|
|||||||
use OCP\AppFramework\Http\DataResponse;
|
use OCP\AppFramework\Http\DataResponse;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
use OCA\Deck\Service\LabelService;
|
use OCA\Deck\Service\LabelService;
|
||||||
use OCA\Deck\Controller\Helper\ApiHelper;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class BoardApiController
|
* Class BoardApiController
|
||||||
*
|
*
|
||||||
* @package OCA\Deck\Controller
|
* @package OCA\Deck\Controller
|
||||||
*/
|
*/
|
||||||
class LabelApiController extends ApiController {
|
class LabelApiController extends ApiController {
|
||||||
|
|
||||||
private $labelService;
|
private $labelService;
|
||||||
private $userId;
|
private $userId;
|
||||||
|
|
||||||
@@ -103,5 +101,4 @@ class LabelApiController extends ApiController {
|
|||||||
$label = $this->labelService->delete($this->request->getParam('labelId'));
|
$label = $this->labelService->delete($this->request->getParam('labelId'));
|
||||||
return new DataResponse($label, HTTP::STATUS_OK);
|
return new DataResponse($label, HTTP::STATUS_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -27,9 +27,7 @@ use OCA\Deck\Service\LabelService;
|
|||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
use OCP\AppFramework\Controller;
|
use OCP\AppFramework\Controller;
|
||||||
|
|
||||||
|
|
||||||
class LabelController extends Controller {
|
class LabelController extends Controller {
|
||||||
|
|
||||||
private $labelService;
|
private $labelService;
|
||||||
|
|
||||||
public function __construct($appName, IRequest $request, LabelService $labelService) {
|
public function __construct($appName, IRequest $request, LabelService $labelService) {
|
||||||
@@ -67,5 +65,4 @@ class LabelController extends Controller {
|
|||||||
public function delete($labelId) {
|
public function delete($labelId) {
|
||||||
return $this->labelService->delete($labelId);
|
return $this->labelService->delete($labelId);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,6 @@ use OCP\AppFramework\Controller;
|
|||||||
use OCP\IL10N;
|
use OCP\IL10N;
|
||||||
|
|
||||||
class PageController extends Controller {
|
class PageController extends Controller {
|
||||||
|
|
||||||
private $permissionService;
|
private $permissionService;
|
||||||
private $userId;
|
private $userId;
|
||||||
private $l10n;
|
private $l10n;
|
||||||
@@ -67,5 +66,4 @@ class PageController extends Controller {
|
|||||||
|
|
||||||
return new TemplateResponse('deck', 'main');
|
return new TemplateResponse('deck', 'main');
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,7 +39,6 @@ use Sabre\HTTP\Util;
|
|||||||
* @package OCA\Deck\Controller
|
* @package OCA\Deck\Controller
|
||||||
*/
|
*/
|
||||||
class StackApiController extends ApiController {
|
class StackApiController extends ApiController {
|
||||||
|
|
||||||
private $boardService;
|
private $boardService;
|
||||||
private $stackService;
|
private $stackService;
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ use OCP\IRequest;
|
|||||||
|
|
||||||
use OCP\AppFramework\Controller;
|
use OCP\AppFramework\Controller;
|
||||||
|
|
||||||
|
|
||||||
class StackController extends Controller {
|
class StackController extends Controller {
|
||||||
private $userId;
|
private $userId;
|
||||||
private $stackService;
|
private $stackService;
|
||||||
@@ -45,7 +44,7 @@ class StackController extends Controller {
|
|||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function index($boardId) {
|
public function index($boardId) {
|
||||||
return $this->stackService->findAll($boardId);
|
return $this->stackService->findAll($boardId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -54,7 +53,7 @@ class StackController extends Controller {
|
|||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function archived($boardId) {
|
public function archived($boardId) {
|
||||||
return $this->stackService->findAllArchived($boardId);
|
return $this->stackService->findAllArchived($boardId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -108,5 +107,4 @@ class StackController extends Controller {
|
|||||||
public function deleted($boardId) {
|
public function deleted($boardId) {
|
||||||
return $this->stackService->fetchDeleted($boardId);
|
return $this->stackService->fetchDeleted($boardId);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,14 +26,7 @@ namespace OCA\Deck\Cron;
|
|||||||
|
|
||||||
use OC\BackgroundJob\Job;
|
use OC\BackgroundJob\Job;
|
||||||
use OCA\Deck\Activity\ActivityManager;
|
use OCA\Deck\Activity\ActivityManager;
|
||||||
use OCA\Deck\Activity\ChangeSet;
|
|
||||||
use OCA\Deck\Db\AttachmentMapper;
|
|
||||||
use OCA\Deck\Db\BoardMapper;
|
|
||||||
use OCA\Deck\Db\Card;
|
|
||||||
use OCA\Deck\Db\CardMapper;
|
use OCA\Deck\Db\CardMapper;
|
||||||
use OCA\Deck\InvalidAttachmentType;
|
|
||||||
use OCA\Deck\Service\AttachmentService;
|
|
||||||
use OCA\Deck\Service\CardService;
|
|
||||||
|
|
||||||
class CardDescriptionActivity extends Job {
|
class CardDescriptionActivity extends Job {
|
||||||
|
|
||||||
@@ -70,5 +63,4 @@ class CardDescriptionActivity extends Job {
|
|||||||
$this->cardMapper->update($card, false);
|
$this->cardMapper->update($card, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -65,7 +65,5 @@ class DeleteCron extends Job {
|
|||||||
}
|
}
|
||||||
$this->attachmentMapper->delete($attachment);
|
$this->attachmentMapper->delete($attachment);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -66,5 +66,4 @@ class ScheduledNotifications extends Job {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,15 +24,14 @@
|
|||||||
namespace OCA\Deck\Db;
|
namespace OCA\Deck\Db;
|
||||||
|
|
||||||
class Acl extends RelationalEntity {
|
class Acl extends RelationalEntity {
|
||||||
|
public const PERMISSION_READ = 0;
|
||||||
|
public const PERMISSION_EDIT = 1;
|
||||||
|
public const PERMISSION_SHARE = 2;
|
||||||
|
public const PERMISSION_MANAGE = 3;
|
||||||
|
|
||||||
const PERMISSION_READ = 0;
|
public const PERMISSION_TYPE_USER = 0;
|
||||||
const PERMISSION_EDIT = 1;
|
public const PERMISSION_TYPE_GROUP = 1;
|
||||||
const PERMISSION_SHARE = 2;
|
public const PERMISSION_TYPE_CIRCLE = 7;
|
||||||
const PERMISSION_MANAGE = 3;
|
|
||||||
|
|
||||||
const PERMISSION_TYPE_USER = 0;
|
|
||||||
const PERMISSION_TYPE_GROUP = 1;
|
|
||||||
const PERMISSION_TYPE_CIRCLE = 7;
|
|
||||||
|
|
||||||
protected $participant;
|
protected $participant;
|
||||||
protected $type;
|
protected $type;
|
||||||
@@ -67,5 +66,4 @@ class Acl extends RelationalEntity {
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -26,7 +26,6 @@ namespace OCA\Deck\Db;
|
|||||||
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);
|
||||||
}
|
}
|
||||||
@@ -52,5 +51,4 @@ class AclMapper extends DeckMapper implements IPermissionMapper {
|
|||||||
$sql = 'SELECT * from *PREFIX*deck_board_acl WHERE type = ? AND participant = ?';
|
$sql = 'SELECT * from *PREFIX*deck_board_acl WHERE type = ? AND participant = ?';
|
||||||
return $this->findEntities($sql, [$type, $participant]);
|
return $this->findEntities($sql, [$type, $participant]);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ namespace OCA\Deck\Db;
|
|||||||
use JsonSerializable;
|
use JsonSerializable;
|
||||||
|
|
||||||
class AssignedUsers extends RelationalEntity implements JsonSerializable {
|
class AssignedUsers extends RelationalEntity implements JsonSerializable {
|
||||||
|
|
||||||
public $id;
|
public $id;
|
||||||
protected $participant;
|
protected $participant;
|
||||||
protected $cardId;
|
protected $cardId;
|
||||||
@@ -42,5 +41,4 @@ class AssignedUsers extends RelationalEntity implements JsonSerializable {
|
|||||||
$this->addType('type', 'integer');
|
$this->addType('type', 'integer');
|
||||||
$this->addResolvable('participant');
|
$this->addResolvable('participant');
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,9 +29,7 @@ use OCP\IDBConnection;
|
|||||||
use OCP\IGroupManager;
|
use OCP\IGroupManager;
|
||||||
use OCP\IUserManager;
|
use OCP\IUserManager;
|
||||||
|
|
||||||
|
|
||||||
class AssignedUsersMapper extends DeckMapper implements IPermissionMapper {
|
class AssignedUsersMapper extends DeckMapper implements IPermissionMapper {
|
||||||
|
|
||||||
private $cardMapper;
|
private $cardMapper;
|
||||||
private $userManager;
|
private $userManager;
|
||||||
/**
|
/**
|
||||||
@@ -96,7 +94,7 @@ class AssignedUsersMapper extends DeckMapper implements IPermissionMapper {
|
|||||||
|
|
||||||
public function mapParticipant(AssignedUsers &$assignment) {
|
public function mapParticipant(AssignedUsers &$assignment) {
|
||||||
$self = $this;
|
$self = $this;
|
||||||
$assignment->resolveRelation('participant', function() use (&$self, &$assignment) {
|
$assignment->resolveRelation('participant', function () use (&$self, &$assignment) {
|
||||||
return $self->getOrigin($assignment);
|
return $self->getOrigin($assignment);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -116,5 +114,4 @@ class AssignedUsersMapper extends DeckMapper implements IPermissionMapper {
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,6 @@
|
|||||||
namespace OCA\Deck\Db;
|
namespace OCA\Deck\Db;
|
||||||
|
|
||||||
class Attachment extends RelationalEntity {
|
class Attachment extends RelationalEntity {
|
||||||
|
|
||||||
protected $cardId;
|
protected $cardId;
|
||||||
protected $type;
|
protected $type;
|
||||||
protected $data;
|
protected $data;
|
||||||
@@ -43,5 +42,4 @@ class Attachment extends RelationalEntity {
|
|||||||
$this->addResolvable('createdBy');
|
$this->addResolvable('createdBy');
|
||||||
$this->addRelation('extendedData');
|
$this->addRelation('extendedData');
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -32,9 +32,7 @@ use OCP\IDBConnection;
|
|||||||
use OCP\IUserManager;
|
use OCP\IUserManager;
|
||||||
use PDO;
|
use PDO;
|
||||||
|
|
||||||
|
|
||||||
class AttachmentMapper extends DeckMapper implements IPermissionMapper {
|
class AttachmentMapper extends DeckMapper implements IPermissionMapper {
|
||||||
|
|
||||||
private $cardMapper;
|
private $cardMapper;
|
||||||
private $userManager;
|
private $userManager;
|
||||||
private $qb;
|
private $qb;
|
||||||
@@ -67,14 +65,14 @@ class AttachmentMapper extends DeckMapper implements IPermissionMapper {
|
|||||||
|
|
||||||
$cursor = $qb->execute();
|
$cursor = $qb->execute();
|
||||||
$row = $cursor->fetch(PDO::FETCH_ASSOC);
|
$row = $cursor->fetch(PDO::FETCH_ASSOC);
|
||||||
if($row === false) {
|
if ($row === false) {
|
||||||
$cursor->closeCursor();
|
$cursor->closeCursor();
|
||||||
throw new DoesNotExistException('Did expect one result but found none when executing' . $qb);
|
throw new DoesNotExistException('Did expect one result but found none when executing' . $qb);
|
||||||
}
|
}
|
||||||
|
|
||||||
$row2 = $cursor->fetch();
|
$row2 = $cursor->fetch();
|
||||||
$cursor->closeCursor();
|
$cursor->closeCursor();
|
||||||
if($row2 !== false ) {
|
if ($row2 !== false) {
|
||||||
throw new MultipleObjectsReturnedException('Did not expect more than one result when executing' . $query);
|
throw new MultipleObjectsReturnedException('Did not expect more than one result when executing' . $query);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -82,19 +80,19 @@ class AttachmentMapper extends DeckMapper implements IPermissionMapper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function findByData($cardId, $data) {
|
public function findByData($cardId, $data) {
|
||||||
$qb = $this->db->getQueryBuilder();
|
$qb = $this->db->getQueryBuilder();
|
||||||
$qb->select('*')
|
$qb->select('*')
|
||||||
->from('deck_attachment')
|
->from('deck_attachment')
|
||||||
->where($qb->expr()->eq('card_id', $qb->createNamedParameter($cardId, IQueryBuilder::PARAM_INT)))
|
->where($qb->expr()->eq('card_id', $qb->createNamedParameter($cardId, IQueryBuilder::PARAM_INT)))
|
||||||
->andWhere($qb->expr()->eq('data', $qb->createNamedParameter($data, IQueryBuilder::PARAM_STR)));
|
->andWhere($qb->expr()->eq('data', $qb->createNamedParameter($data, IQueryBuilder::PARAM_STR)));
|
||||||
$cursor = $qb->execute();
|
$cursor = $qb->execute();
|
||||||
$row = $cursor->fetch(PDO::FETCH_ASSOC);
|
$row = $cursor->fetch(PDO::FETCH_ASSOC);
|
||||||
if($row === false) {
|
if ($row === false) {
|
||||||
$cursor->closeCursor();
|
$cursor->closeCursor();
|
||||||
throw new DoesNotExistException('Did expect one result but found none when executing' . $qb);
|
throw new DoesNotExistException('Did expect one result but found none when executing' . $qb);
|
||||||
}
|
}
|
||||||
$cursor->closeCursor();
|
$cursor->closeCursor();
|
||||||
return $this->mapRowToEntity($row);
|
return $this->mapRowToEntity($row);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -113,7 +111,7 @@ class AttachmentMapper extends DeckMapper implements IPermissionMapper {
|
|||||||
|
|
||||||
$entities = [];
|
$entities = [];
|
||||||
$cursor = $qb->execute();
|
$cursor = $qb->execute();
|
||||||
while($row = $cursor->fetch()){
|
while ($row = $cursor->fetch()) {
|
||||||
$entities[] = $this->mapRowToEntity($row);
|
$entities[] = $this->mapRowToEntity($row);
|
||||||
}
|
}
|
||||||
$cursor->closeCursor();
|
$cursor->closeCursor();
|
||||||
@@ -143,7 +141,7 @@ class AttachmentMapper extends DeckMapper implements IPermissionMapper {
|
|||||||
|
|
||||||
$entities = [];
|
$entities = [];
|
||||||
$cursor = $qb->execute();
|
$cursor = $qb->execute();
|
||||||
while($row = $cursor->fetch()){
|
while ($row = $cursor->fetch()) {
|
||||||
$entities[] = $this->mapRowToEntity($row);
|
$entities[] = $this->mapRowToEntity($row);
|
||||||
}
|
}
|
||||||
$cursor->closeCursor();
|
$cursor->closeCursor();
|
||||||
|
|||||||
@@ -24,7 +24,6 @@
|
|||||||
namespace OCA\Deck\Db;
|
namespace OCA\Deck\Db;
|
||||||
|
|
||||||
class Board extends RelationalEntity {
|
class Board extends RelationalEntity {
|
||||||
|
|
||||||
protected $title;
|
protected $title;
|
||||||
protected $owner;
|
protected $owner;
|
||||||
protected $color;
|
protected $color;
|
||||||
|
|||||||
@@ -24,14 +24,12 @@
|
|||||||
namespace OCA\Deck\Db;
|
namespace OCA\Deck\Db;
|
||||||
|
|
||||||
use OCP\AppFramework\Db\DoesNotExistException;
|
use OCP\AppFramework\Db\DoesNotExistException;
|
||||||
use OCP\AppFramework\QueryException;
|
|
||||||
use OCP\IDBConnection;
|
use OCP\IDBConnection;
|
||||||
use OCP\ILogger;
|
use OCP\ILogger;
|
||||||
use OCP\IUserManager;
|
use OCP\IUserManager;
|
||||||
use OCP\IGroupManager;
|
use OCP\IGroupManager;
|
||||||
|
|
||||||
class BoardMapper extends DeckMapper implements IPermissionMapper {
|
class BoardMapper extends DeckMapper implements IPermissionMapper {
|
||||||
|
|
||||||
private $labelMapper;
|
private $labelMapper;
|
||||||
private $aclMapper;
|
private $aclMapper;
|
||||||
private $stackMapper;
|
private $stackMapper;
|
||||||
@@ -143,7 +141,7 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
|
|||||||
if (!$this->circlesEnabled) {
|
if (!$this->circlesEnabled) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
$circles = array_map(function($circle) {
|
$circles = array_map(function ($circle) {
|
||||||
return $circle->getUniqueId();
|
return $circle->getUniqueId();
|
||||||
}, \OCA\Circles\Api\v1\Circles::joinedCircles('', true));
|
}, \OCA\Circles\Api\v1\Circles::joinedCircles('', true));
|
||||||
if (count($circles) === 0) {
|
if (count($circles) === 0) {
|
||||||
@@ -215,7 +213,7 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
|
|||||||
public function mapAcl(Acl &$acl) {
|
public function mapAcl(Acl &$acl) {
|
||||||
$userManager = $this->userManager;
|
$userManager = $this->userManager;
|
||||||
$groupManager = $this->groupManager;
|
$groupManager = $this->groupManager;
|
||||||
$acl->resolveRelation('participant', function($participant) use (&$acl, &$userManager, &$groupManager) {
|
$acl->resolveRelation('participant', function ($participant) use (&$acl, &$userManager, &$groupManager) {
|
||||||
if ($acl->getType() === Acl::PERMISSION_TYPE_USER) {
|
if ($acl->getType() === Acl::PERMISSION_TYPE_USER) {
|
||||||
$user = $userManager->get($participant);
|
$user = $userManager->get($participant);
|
||||||
if ($user !== null) {
|
if ($user !== null) {
|
||||||
@@ -255,7 +253,7 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
|
|||||||
*/
|
*/
|
||||||
public function mapOwner(Board &$board) {
|
public function mapOwner(Board &$board) {
|
||||||
$userManager = $this->userManager;
|
$userManager = $this->userManager;
|
||||||
$board->resolveRelation('owner', function($owner) use (&$userManager) {
|
$board->resolveRelation('owner', function ($owner) use (&$userManager) {
|
||||||
$user = $userManager->get($owner);
|
$user = $userManager->get($owner);
|
||||||
if ($user !== null) {
|
if ($user !== null) {
|
||||||
return new User($user);
|
return new User($user);
|
||||||
@@ -263,6 +261,4 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
|
|||||||
return null;
|
return null;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ namespace OCA\Deck\Db;
|
|||||||
use DateTime;
|
use DateTime;
|
||||||
|
|
||||||
class Card extends RelationalEntity {
|
class Card extends RelationalEntity {
|
||||||
|
|
||||||
protected $title;
|
protected $title;
|
||||||
protected $description;
|
protected $description;
|
||||||
protected $descriptionPrev;
|
protected $descriptionPrev;
|
||||||
@@ -49,10 +48,10 @@ class Card extends RelationalEntity {
|
|||||||
|
|
||||||
private $databaseType = 'sqlite';
|
private $databaseType = 'sqlite';
|
||||||
|
|
||||||
const DUEDATE_FUTURE = 0;
|
public const DUEDATE_FUTURE = 0;
|
||||||
const DUEDATE_NEXT = 1;
|
public const DUEDATE_NEXT = 1;
|
||||||
const DUEDATE_NOW = 2;
|
public const DUEDATE_NOW = 2;
|
||||||
const DUEDATE_OVERDUE = 3;
|
public const DUEDATE_OVERDUE = 3;
|
||||||
|
|
||||||
public function __construct() {
|
public function __construct() {
|
||||||
$this->addType('id', 'integer');
|
$this->addType('id', 'integer');
|
||||||
@@ -118,5 +117,4 @@ class Card extends RelationalEntity {
|
|||||||
unset($json['descriptionPrev']);
|
unset($json['descriptionPrev']);
|
||||||
return $json;
|
return $json;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,6 @@ use OCP\IDBConnection;
|
|||||||
use OCP\IUserManager;
|
use OCP\IUserManager;
|
||||||
use OCP\Notification\IManager;
|
use OCP\Notification\IManager;
|
||||||
|
|
||||||
|
|
||||||
class CardMapper extends DeckMapper implements IPermissionMapper {
|
class CardMapper extends DeckMapper implements IPermissionMapper {
|
||||||
|
|
||||||
/** @var LabelMapper */
|
/** @var LabelMapper */
|
||||||
@@ -164,7 +163,6 @@ class CardMapper extends DeckMapper implements IPermissionMapper {
|
|||||||
foreach ($cards as $card) {
|
foreach ($cards as $card) {
|
||||||
$this->delete($card);
|
$this->delete($card);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function assignLabel($card, $label) {
|
public function assignLabel($card, $label) {
|
||||||
@@ -199,7 +197,7 @@ class CardMapper extends DeckMapper implements IPermissionMapper {
|
|||||||
|
|
||||||
public function mapOwner(Card &$card) {
|
public function mapOwner(Card &$card) {
|
||||||
$userManager = $this->userManager;
|
$userManager = $this->userManager;
|
||||||
$card->resolveRelation('owner', function($owner) use (&$userManager) {
|
$card->resolveRelation('owner', function ($owner) use (&$userManager) {
|
||||||
$user = $userManager->get($owner);
|
$user = $userManager->get($owner);
|
||||||
if ($user !== null) {
|
if ($user !== null) {
|
||||||
return new User($user);
|
return new User($user);
|
||||||
@@ -207,6 +205,4 @@ class CardMapper extends DeckMapper implements IPermissionMapper {
|
|||||||
return null;
|
return null;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,18 +23,13 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Db;
|
namespace OCA\Deck\Db;
|
||||||
|
|
||||||
use OCP\AppFramework\Db\DoesNotExistException;
|
|
||||||
use OCP\ICache;
|
|
||||||
use OCP\ICacheFactory;
|
use OCP\ICacheFactory;
|
||||||
use OCP\IDBConnection;
|
use OCP\IDBConnection;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
use OCP\IUserManager;
|
|
||||||
use OCP\IGroupManager;
|
|
||||||
|
|
||||||
class ChangeHelper {
|
class ChangeHelper {
|
||||||
|
public const TYPE_BOARD = 'boardChanged';
|
||||||
const TYPE_BOARD = 'boardChanged';
|
public const TYPE_CARD = 'cardChanged';
|
||||||
const TYPE_CARD = 'cardChanged';
|
|
||||||
|
|
||||||
private $db;
|
private $db;
|
||||||
|
|
||||||
@@ -100,5 +95,4 @@ class ChangeHelper {
|
|||||||
}
|
}
|
||||||
return $entry;
|
return $entry;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,6 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Db;
|
namespace OCA\Deck\Db;
|
||||||
|
|
||||||
|
|
||||||
use OCP\Share\IShare;
|
use OCP\Share\IShare;
|
||||||
|
|
||||||
class Circle extends RelationalObject {
|
class Circle extends RelationalObject {
|
||||||
|
|||||||
@@ -48,5 +48,4 @@ abstract class DeckMapper extends Mapper {
|
|||||||
protected function execute($sql, array $params = [], $limit = null, $offset = null) {
|
protected function execute($sql, array $params = [], $limit = null, $offset = null) {
|
||||||
return parent::execute($sql, $params, $limit, $offset);
|
return parent::execute($sql, $params, $limit, $offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -27,7 +27,6 @@ use OCP\IGroup;
|
|||||||
use OCP\Share\IShare;
|
use OCP\Share\IShare;
|
||||||
|
|
||||||
class Group extends RelationalObject {
|
class Group extends RelationalObject {
|
||||||
|
|
||||||
public function __construct(IGroup $group) {
|
public function __construct(IGroup $group) {
|
||||||
$primaryKey = IShare::TYPE_GROUP . ':' . $group->getGID();
|
$primaryKey = IShare::TYPE_GROUP . ':' . $group->getGID();
|
||||||
parent::__construct($primaryKey, $group);
|
parent::__construct($primaryKey, $group);
|
||||||
|
|||||||
@@ -24,7 +24,6 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Db;
|
namespace OCA\Deck\Db;
|
||||||
|
|
||||||
|
|
||||||
interface IPermissionMapper {
|
interface IPermissionMapper {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -43,6 +42,4 @@ interface IPermissionMapper {
|
|||||||
* @return int|null id of Board
|
* @return int|null id of Board
|
||||||
*/
|
*/
|
||||||
public function findBoardId($id);
|
public function findBoardId($id);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -24,7 +24,6 @@
|
|||||||
namespace OCA\Deck\Db;
|
namespace OCA\Deck\Db;
|
||||||
|
|
||||||
class Label extends RelationalEntity {
|
class Label extends RelationalEntity {
|
||||||
|
|
||||||
protected $title;
|
protected $title;
|
||||||
protected $color;
|
protected $color;
|
||||||
protected $boardId;
|
protected $boardId;
|
||||||
|
|||||||
@@ -26,9 +26,7 @@ namespace OCA\Deck\Db;
|
|||||||
use OCP\AppFramework\Db\Entity;
|
use OCP\AppFramework\Db\Entity;
|
||||||
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);
|
||||||
}
|
}
|
||||||
@@ -70,10 +68,10 @@ class LabelMapper extends DeckMapper implements IPermissionMapper {
|
|||||||
|
|
||||||
public function getAssignedLabelsForBoard($boardId) {
|
public function getAssignedLabelsForBoard($boardId) {
|
||||||
$labels = $this->findAssignedLabelsForBoard($boardId);
|
$labels = $this->findAssignedLabelsForBoard($boardId);
|
||||||
$result = array();
|
$result = [];
|
||||||
foreach ($labels as $label) {
|
foreach ($labels as $label) {
|
||||||
if (!array_key_exists($label->getCardId(), $result)) {
|
if (!array_key_exists($label->getCardId(), $result)) {
|
||||||
$result[$label->getCardId()] = array();
|
$result[$label->getCardId()] = [];
|
||||||
}
|
}
|
||||||
$result[$label->getCardId()][] = $label;
|
$result[$label->getCardId()][] = $label;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,8 +26,7 @@ namespace OCA\Deck\Db;
|
|||||||
use OCP\AppFramework\Db\Entity;
|
use OCP\AppFramework\Db\Entity;
|
||||||
|
|
||||||
class RelationalEntity extends Entity implements \JsonSerializable {
|
class RelationalEntity extends Entity implements \JsonSerializable {
|
||||||
|
private $_relations = [];
|
||||||
private $_relations = array();
|
|
||||||
private $_resolvedProperties = [];
|
private $_resolvedProperties = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -137,5 +136,4 @@ class RelationalEntity extends Entity implements \JsonSerializable {
|
|||||||
}
|
}
|
||||||
return parent::__call($methodName, $args);
|
return parent::__call($methodName, $args);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -24,7 +24,6 @@
|
|||||||
namespace OCA\Deck\Db;
|
namespace OCA\Deck\Db;
|
||||||
|
|
||||||
class RelationalObject implements \JsonSerializable {
|
class RelationalObject implements \JsonSerializable {
|
||||||
|
|
||||||
protected $primaryKey;
|
protected $primaryKey;
|
||||||
protected $object;
|
protected $object;
|
||||||
|
|
||||||
@@ -58,5 +57,4 @@ class RelationalObject implements \JsonSerializable {
|
|||||||
throw new \Exception('jsonSerialize is not implemented on ' . get_class($this));
|
throw new \Exception('jsonSerialize is not implemented on ' . get_class($this));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -24,12 +24,11 @@
|
|||||||
namespace OCA\Deck\Db;
|
namespace OCA\Deck\Db;
|
||||||
|
|
||||||
class Stack extends RelationalEntity {
|
class Stack extends RelationalEntity {
|
||||||
|
|
||||||
protected $title;
|
protected $title;
|
||||||
protected $boardId;
|
protected $boardId;
|
||||||
protected $deletedAt = 0;
|
protected $deletedAt = 0;
|
||||||
protected $lastModified = 0;
|
protected $lastModified = 0;
|
||||||
protected $cards = array();
|
protected $cards = [];
|
||||||
protected $order;
|
protected $order;
|
||||||
|
|
||||||
public function __construct() {
|
public function __construct() {
|
||||||
|
|||||||
@@ -26,9 +26,7 @@ namespace OCA\Deck\Db;
|
|||||||
use OCP\AppFramework\Db\Entity;
|
use OCP\AppFramework\Db\Entity;
|
||||||
use OCP\IDBConnection;
|
use OCP\IDBConnection;
|
||||||
|
|
||||||
|
|
||||||
class StackMapper extends DeckMapper implements IPermissionMapper {
|
class StackMapper extends DeckMapper implements IPermissionMapper {
|
||||||
|
|
||||||
private $cardMapper;
|
private $cardMapper;
|
||||||
|
|
||||||
public function __construct(IDBConnection $db, CardMapper $cardMapper) {
|
public function __construct(IDBConnection $db, CardMapper $cardMapper) {
|
||||||
@@ -57,9 +55,9 @@ class StackMapper extends DeckMapper implements IPermissionMapper {
|
|||||||
|
|
||||||
|
|
||||||
public function findDeleted($boardId, $limit = null, $offset = null) {
|
public function findDeleted($boardId, $limit = null, $offset = null) {
|
||||||
$sql = 'SELECT * FROM `*PREFIX*deck_stacks` s
|
$sql = 'SELECT * FROM `*PREFIX*deck_stacks` s
|
||||||
WHERE `s`.`board_id` = ? AND NOT s.deleted_at = 0';
|
WHERE `s`.`board_id` = ? AND NOT s.deleted_at = 0';
|
||||||
return $this->findEntities($sql, [$boardId], $limit, $offset);
|
return $this->findEntities($sql, [$boardId], $limit, $offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ use OCP\IUser;
|
|||||||
use OCP\Share\IShare;
|
use OCP\Share\IShare;
|
||||||
|
|
||||||
class User extends RelationalObject {
|
class User extends RelationalObject {
|
||||||
|
|
||||||
public function __construct(IUser $user) {
|
public function __construct(IUser $user) {
|
||||||
$primaryKey = IShare::TYPE_USER . ':' . $user->getUID();
|
$primaryKey = IShare::TYPE_USER . ':' . $user->getUID();
|
||||||
parent::__construct($primaryKey, $user);
|
parent::__construct($primaryKey, $user);
|
||||||
|
|||||||
@@ -23,9 +23,7 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Event;
|
namespace OCA\Deck\Event;
|
||||||
|
|
||||||
|
|
||||||
use OCP\EventDispatcher\Event;
|
use OCP\EventDispatcher\Event;
|
||||||
use Symfony\Component\EventDispatcher\GenericEvent;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is a class to keep compatibility for currently used events in full text search integration
|
* This is a class to keep compatibility for currently used events in full text search integration
|
||||||
@@ -43,13 +41,11 @@ class FTSEvent extends Event {
|
|||||||
$this->arguments = $arguments;
|
$this->arguments = $arguments;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getArgument($key)
|
public function getArgument($key) {
|
||||||
{
|
|
||||||
if ($this->hasArgument($key)) {
|
if ($this->hasArgument($key)) {
|
||||||
return $this->arguments[$key];
|
return $this->arguments[$key];
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new \InvalidArgumentException(sprintf('Argument "%s" not found.', $key));
|
throw new \InvalidArgumentException(sprintf('Argument "%s" not found.', $key));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ namespace OCA\Deck\Exceptions;
|
|||||||
use OCA\Deck\StatusException;
|
use OCA\Deck\StatusException;
|
||||||
|
|
||||||
class ConflictException extends StatusException {
|
class ConflictException extends StatusException {
|
||||||
|
|
||||||
private $data;
|
private $data;
|
||||||
|
|
||||||
public function __construct($message, $data = null) {
|
public function __construct($message, $data = null) {
|
||||||
|
|||||||
@@ -23,15 +23,12 @@
|
|||||||
|
|
||||||
namespace OCA\Deck;
|
namespace OCA\Deck;
|
||||||
|
|
||||||
|
|
||||||
class InvalidAttachmentType extends \Exception {
|
class InvalidAttachmentType extends \Exception {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* InvalidAttachmentType constructor.
|
* InvalidAttachmentType constructor.
|
||||||
*/
|
*/
|
||||||
public function __construct($type) {
|
public function __construct($type) {
|
||||||
|
|
||||||
parent::__construct('No matching IAttachmentService implementation found for type ' . $type);
|
parent::__construct('No matching IAttachmentService implementation found for type ' . $type);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -59,5 +59,4 @@ class DefaultBoardMiddleware extends Middleware {
|
|||||||
$this->logger->logException($e);
|
$this->logger->logException($e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,6 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Middleware;
|
namespace OCA\Deck\Middleware;
|
||||||
|
|
||||||
use OCA\Deck\Controller\PageController;
|
|
||||||
use OCA\Deck\StatusException;
|
use OCA\Deck\StatusException;
|
||||||
use OCA\Deck\Exceptions\ConflictException;
|
use OCA\Deck\Exceptions\ConflictException;
|
||||||
use OCP\AppFramework\Db\DoesNotExistException;
|
use OCP\AppFramework\Db\DoesNotExistException;
|
||||||
@@ -35,7 +34,6 @@ use OCP\ILogger;
|
|||||||
use OCP\Util;
|
use OCP\Util;
|
||||||
use OCP\IConfig;
|
use OCP\IConfig;
|
||||||
|
|
||||||
|
|
||||||
class ExceptionMiddleware extends Middleware {
|
class ExceptionMiddleware extends Middleware {
|
||||||
|
|
||||||
/** @var ILogger */
|
/** @var ILogger */
|
||||||
@@ -116,5 +114,4 @@ class ExceptionMiddleware extends Middleware {
|
|||||||
|
|
||||||
throw $exception;
|
throw $exception;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,6 @@ use OCP\Migration\IRepairStep;
|
|||||||
use OCP\Migration\IOutput;
|
use OCP\Migration\IOutput;
|
||||||
|
|
||||||
class UnknownUsers implements IRepairStep {
|
class UnknownUsers implements IRepairStep {
|
||||||
|
|
||||||
private $userManager;
|
private $userManager;
|
||||||
private $groupManager;
|
private $groupManager;
|
||||||
private $aclMapper;
|
private $aclMapper;
|
||||||
@@ -76,7 +75,6 @@ class UnknownUsers implements IRepairStep {
|
|||||||
$this->aclMapper->delete($acl);
|
$this->aclMapper->delete($acl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -323,5 +323,4 @@ class Version1000Date20200306161713 extends SimpleMigrationStep {
|
|||||||
}
|
}
|
||||||
return $schema;
|
return $schema;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,9 +23,7 @@
|
|||||||
|
|
||||||
namespace OCA\Deck;
|
namespace OCA\Deck;
|
||||||
|
|
||||||
|
|
||||||
class NoPermissionException extends StatusException {
|
class NoPermissionException extends StatusException {
|
||||||
|
|
||||||
public function __construct($message, $controller = null, $method = null) {
|
public function __construct($message, $controller = null, $method = null) {
|
||||||
parent::__construct($message);
|
parent::__construct($message);
|
||||||
if ($controller && $method) {
|
if ($controller && $method) {
|
||||||
|
|||||||
@@ -23,9 +23,7 @@
|
|||||||
|
|
||||||
namespace OCA\Deck;
|
namespace OCA\Deck;
|
||||||
|
|
||||||
|
|
||||||
class NotFoundException extends StatusException {
|
class NotFoundException extends StatusException {
|
||||||
|
|
||||||
public function __construct($message = '') {
|
public function __construct($message = '') {
|
||||||
parent::__construct($message);
|
parent::__construct($message);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -189,5 +189,4 @@ class NotificationHelper {
|
|||||||
->setSubject('board-shared', [$board->getTitle(), $this->currentUser]);
|
->setSubject('board-shared', [$board->getTitle(), $this->currentUser]);
|
||||||
return $notification;
|
return $notification;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
|
||||||
@@ -28,7 +29,6 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace OCA\Deck\Provider;
|
namespace OCA\Deck\Provider;
|
||||||
|
|
||||||
|
|
||||||
use OC\FullTextSearch\Model\IndexDocument;
|
use OC\FullTextSearch\Model\IndexDocument;
|
||||||
use OC\FullTextSearch\Model\SearchTemplate;
|
use OC\FullTextSearch\Model\SearchTemplate;
|
||||||
use OCA\Deck\Service\FullTextSearchService;
|
use OCA\Deck\Service\FullTextSearchService;
|
||||||
@@ -46,16 +46,13 @@ use OCP\FullTextSearch\Model\ISearchTemplate;
|
|||||||
use OCP\IL10N;
|
use OCP\IL10N;
|
||||||
use OCP\IURLGenerator;
|
use OCP\IURLGenerator;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class DeckProvider
|
* Class DeckProvider
|
||||||
*
|
*
|
||||||
* @package OCA\Deck\Provider
|
* @package OCA\Deck\Provider
|
||||||
*/
|
*/
|
||||||
class DeckProvider implements IFullTextSearchProvider {
|
class DeckProvider implements IFullTextSearchProvider {
|
||||||
|
public const DECK_PROVIDER_ID = 'deck';
|
||||||
|
|
||||||
const DECK_PROVIDER_ID = 'deck';
|
|
||||||
|
|
||||||
|
|
||||||
/** @var IL10N */
|
/** @var IL10N */
|
||||||
@@ -276,6 +273,4 @@ class DeckProvider implements IFullTextSearchProvider {
|
|||||||
|
|
||||||
$this->runner->setInfo($info, $value);
|
$this->runner->setInfo($info, $value);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,6 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Service;
|
namespace OCA\Deck\Service;
|
||||||
|
|
||||||
|
|
||||||
use OCA\Deck\Activity\ActivityManager;
|
use OCA\Deck\Activity\ActivityManager;
|
||||||
use OCA\Deck\BadRequestException;
|
use OCA\Deck\BadRequestException;
|
||||||
use OCA\Deck\Db\Acl;
|
use OCA\Deck\Db\Acl;
|
||||||
@@ -40,8 +39,6 @@ use OCP\AppFramework\Db\DoesNotExistException;
|
|||||||
use OCP\AppFramework\Db\Entity;
|
use OCP\AppFramework\Db\Entity;
|
||||||
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
|
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
|
||||||
use OCP\EventDispatcher\IEventDispatcher;
|
use OCP\EventDispatcher\IEventDispatcher;
|
||||||
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
|
||||||
use Symfony\Component\EventDispatcher\GenericEvent;
|
|
||||||
|
|
||||||
class AssignmentService {
|
class AssignmentService {
|
||||||
|
|
||||||
@@ -110,7 +107,6 @@ class AssignmentService {
|
|||||||
* @throws DoesNotExistException
|
* @throws DoesNotExistException
|
||||||
*/
|
*/
|
||||||
public function assignUser($cardId, $userId, int $type = AssignedUsers::TYPE_USER) {
|
public function assignUser($cardId, $userId, int $type = AssignedUsers::TYPE_USER) {
|
||||||
|
|
||||||
if (is_numeric($cardId) === false) {
|
if (is_numeric($cardId) === false) {
|
||||||
throw new BadRequestException('card id must be a number');
|
throw new BadRequestException('card id must be a number');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,6 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Service;
|
namespace OCA\Deck\Service;
|
||||||
|
|
||||||
|
|
||||||
use OCA\Deck\Activity\ActivityManager;
|
use OCA\Deck\Activity\ActivityManager;
|
||||||
use OCA\Deck\AppInfo\Application;
|
use OCA\Deck\AppInfo\Application;
|
||||||
use OCA\Deck\BadRequestException;
|
use OCA\Deck\BadRequestException;
|
||||||
@@ -42,7 +41,6 @@ use OCP\ICacheFactory;
|
|||||||
use OCP\IL10N;
|
use OCP\IL10N;
|
||||||
|
|
||||||
class AttachmentService {
|
class AttachmentService {
|
||||||
|
|
||||||
private $attachmentMapper;
|
private $attachmentMapper;
|
||||||
private $cardMapper;
|
private $cardMapper;
|
||||||
private $permissionService;
|
private $permissionService;
|
||||||
@@ -116,7 +114,6 @@ class AttachmentService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function findAll($cardId, $withDeleted = false) {
|
public function findAll($cardId, $withDeleted = false) {
|
||||||
|
|
||||||
if (is_numeric($cardId) === false) {
|
if (is_numeric($cardId) === false) {
|
||||||
throw new BadRequestException('card id must be a number');
|
throw new BadRequestException('card id must be a number');
|
||||||
}
|
}
|
||||||
@@ -144,7 +141,6 @@ class AttachmentService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function count($cardId) {
|
public function count($cardId) {
|
||||||
|
|
||||||
if (is_numeric($cardId) === false) {
|
if (is_numeric($cardId) === false) {
|
||||||
throw new BadRequestException('card id must be a number');
|
throw new BadRequestException('card id must be a number');
|
||||||
}
|
}
|
||||||
@@ -167,7 +163,6 @@ class AttachmentService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function create($cardId, $type, $data) {
|
public function create($cardId, $type, $data) {
|
||||||
|
|
||||||
if (is_numeric($cardId) === false) {
|
if (is_numeric($cardId) === false) {
|
||||||
throw new BadRequestException('card id must be a number');
|
throw new BadRequestException('card id must be a number');
|
||||||
}
|
}
|
||||||
@@ -228,7 +223,6 @@ class AttachmentService {
|
|||||||
* @throws \OCP\AppFramework\Db\MultipleObjectsReturnedException
|
* @throws \OCP\AppFramework\Db\MultipleObjectsReturnedException
|
||||||
*/
|
*/
|
||||||
public function display($cardId, $attachmentId) {
|
public function display($cardId, $attachmentId) {
|
||||||
|
|
||||||
if (is_numeric($cardId) === false) {
|
if (is_numeric($cardId) === false) {
|
||||||
throw new BadRequestException('card id must be a number');
|
throw new BadRequestException('card id must be a number');
|
||||||
}
|
}
|
||||||
@@ -261,7 +255,6 @@ class AttachmentService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function update($cardId, $attachmentId, $data) {
|
public function update($cardId, $attachmentId, $data) {
|
||||||
|
|
||||||
if (is_numeric($cardId) === false) {
|
if (is_numeric($cardId) === false) {
|
||||||
throw new BadRequestException('card id must be a number');
|
throw new BadRequestException('card id must be a number');
|
||||||
}
|
}
|
||||||
@@ -312,7 +305,6 @@ class AttachmentService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function delete($cardId, $attachmentId) {
|
public function delete($cardId, $attachmentId) {
|
||||||
|
|
||||||
if (is_numeric($cardId) === false) {
|
if (is_numeric($cardId) === false) {
|
||||||
throw new BadRequestException('card id must be a number');
|
throw new BadRequestException('card id must be a number');
|
||||||
}
|
}
|
||||||
@@ -343,7 +335,6 @@ class AttachmentService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function restore($cardId, $attachmentId) {
|
public function restore($cardId, $attachmentId) {
|
||||||
|
|
||||||
if (is_numeric($cardId) === false) {
|
if (is_numeric($cardId) === false) {
|
||||||
throw new BadRequestException('card id must be a number');
|
throw new BadRequestException('card id must be a number');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ namespace OCA\Deck\Service;
|
|||||||
|
|
||||||
use OCA\Deck\Activity\ActivityManager;
|
use OCA\Deck\Activity\ActivityManager;
|
||||||
use OCA\Deck\Activity\ChangeSet;
|
use OCA\Deck\Activity\ChangeSet;
|
||||||
use OCA\Deck\Collaboration\Resources\ResourceProvider;
|
|
||||||
use OCA\Deck\Db\Acl;
|
use OCA\Deck\Db\Acl;
|
||||||
use OCA\Deck\Db\AclMapper;
|
use OCA\Deck\Db\AclMapper;
|
||||||
use OCA\Deck\Db\AssignedUsersMapper;
|
use OCA\Deck\Db\AssignedUsersMapper;
|
||||||
@@ -48,9 +47,7 @@ use OCA\Deck\BadRequestException;
|
|||||||
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
||||||
use Symfony\Component\EventDispatcher\GenericEvent;
|
use Symfony\Component\EventDispatcher\GenericEvent;
|
||||||
|
|
||||||
|
|
||||||
class BoardService {
|
class BoardService {
|
||||||
|
|
||||||
private $boardMapper;
|
private $boardMapper;
|
||||||
private $stackMapper;
|
private $stackMapper;
|
||||||
private $labelMapper;
|
private $labelMapper;
|
||||||
@@ -154,8 +151,7 @@ class BoardService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function find($boardId) {
|
public function find($boardId) {
|
||||||
|
if (is_numeric($boardId) === false) {
|
||||||
if ( is_numeric($boardId) === false ) {
|
|
||||||
throw new BadRequestException('board id must be a number');
|
throw new BadRequestException('board id must be a number');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -202,8 +198,7 @@ class BoardService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function isArchived($mapper, $id) {
|
public function isArchived($mapper, $id) {
|
||||||
|
if (is_numeric($id) === false) {
|
||||||
if (is_numeric($id) === false) {
|
|
||||||
throw new BadRequestException('id must be a number');
|
throw new BadRequestException('id must be a number');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -232,12 +227,11 @@ class BoardService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function isDeleted($mapper, $id) {
|
public function isDeleted($mapper, $id) {
|
||||||
|
|
||||||
if ($mapper === false || $mapper === null) {
|
if ($mapper === false || $mapper === null) {
|
||||||
throw new BadRequestException('mapper must be provided');
|
throw new BadRequestException('mapper must be provided');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_numeric($id) === false) {
|
if (is_numeric($id) === false) {
|
||||||
throw new BadRequestException('id must be a number');
|
throw new BadRequestException('id must be a number');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -265,7 +259,6 @@ class BoardService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function create($title, $userId, $color) {
|
public function create($title, $userId, $color) {
|
||||||
|
|
||||||
if ($title === false || $title === null) {
|
if ($title === false || $title === null) {
|
||||||
throw new BadRequestException('title must be provided');
|
throw new BadRequestException('title must be provided');
|
||||||
}
|
}
|
||||||
@@ -334,7 +327,6 @@ class BoardService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function delete($id) {
|
public function delete($id) {
|
||||||
|
|
||||||
if (is_numeric($id) === false) {
|
if (is_numeric($id) === false) {
|
||||||
throw new BadRequestException('board id must be a number');
|
throw new BadRequestException('board id must be a number');
|
||||||
}
|
}
|
||||||
@@ -364,7 +356,6 @@ class BoardService {
|
|||||||
* @throws \OCP\AppFramework\Db\MultipleObjectsReturnedException
|
* @throws \OCP\AppFramework\Db\MultipleObjectsReturnedException
|
||||||
*/
|
*/
|
||||||
public function deleteUndo($id) {
|
public function deleteUndo($id) {
|
||||||
|
|
||||||
if (is_numeric($id) === false) {
|
if (is_numeric($id) === false) {
|
||||||
throw new BadRequestException('board id must be a number');
|
throw new BadRequestException('board id must be a number');
|
||||||
}
|
}
|
||||||
@@ -392,7 +383,7 @@ class BoardService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function deleteForce($id) {
|
public function deleteForce($id) {
|
||||||
if (is_numeric($id) === false) {
|
if (is_numeric($id) === false) {
|
||||||
throw new BadRequestException('id must be a number');
|
throw new BadRequestException('id must be a number');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -419,7 +410,6 @@ class BoardService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function update($id, $title, $color, $archived) {
|
public function update($id, $title, $color, $archived) {
|
||||||
|
|
||||||
if (is_numeric($id) === false) {
|
if (is_numeric($id) === false) {
|
||||||
throw new BadRequestException('board id must be a number');
|
throw new BadRequestException('board id must be a number');
|
||||||
}
|
}
|
||||||
@@ -432,7 +422,7 @@ class BoardService {
|
|||||||
throw new BadRequestException('color must be provided');
|
throw new BadRequestException('color must be provided');
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( is_bool($archived) === false ) {
|
if (is_bool($archived) === false) {
|
||||||
throw new BadRequestException('archived must be a boolean');
|
throw new BadRequestException('archived must be a boolean');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -479,7 +469,6 @@ class BoardService {
|
|||||||
* @throws \OCA\Deck\NoPermissionException
|
* @throws \OCA\Deck\NoPermissionException
|
||||||
*/
|
*/
|
||||||
public function addAcl($boardId, $type, $participant, $edit, $share, $manage) {
|
public function addAcl($boardId, $type, $participant, $edit, $share, $manage) {
|
||||||
|
|
||||||
if (is_numeric($boardId) === false) {
|
if (is_numeric($boardId) === false) {
|
||||||
throw new BadRequestException('board id must be a number');
|
throw new BadRequestException('board id must be a number');
|
||||||
}
|
}
|
||||||
@@ -529,7 +518,8 @@ class BoardService {
|
|||||||
try {
|
try {
|
||||||
$resourceProvider = \OC::$server->query(\OCA\Deck\Collaboration\Resources\ResourceProvider::class);
|
$resourceProvider = \OC::$server->query(\OCA\Deck\Collaboration\Resources\ResourceProvider::class);
|
||||||
$resourceProvider->invalidateAccessCache($boardId);
|
$resourceProvider->invalidateAccessCache($boardId);
|
||||||
} catch (\Exception $e) {}
|
} catch (\Exception $e) {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->eventDispatcher->dispatch(
|
$this->eventDispatcher->dispatch(
|
||||||
@@ -551,7 +541,6 @@ class BoardService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function updateAcl($id, $edit, $share, $manage) {
|
public function updateAcl($id, $edit, $share, $manage) {
|
||||||
|
|
||||||
if (is_numeric($id) === false) {
|
if (is_numeric($id) === false) {
|
||||||
throw new BadRequestException('id must be a number');
|
throw new BadRequestException('id must be a number');
|
||||||
}
|
}
|
||||||
@@ -596,7 +585,6 @@ class BoardService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function deleteAcl($id) {
|
public function deleteAcl($id) {
|
||||||
|
|
||||||
if (is_numeric($id) === false) {
|
if (is_numeric($id) === false) {
|
||||||
throw new BadRequestException('id must be a number');
|
throw new BadRequestException('id must be a number');
|
||||||
}
|
}
|
||||||
@@ -619,7 +607,8 @@ class BoardService {
|
|||||||
try {
|
try {
|
||||||
$resourceProvider = \OC::$server->query(\OCA\Deck\Collaboration\Resources\ResourceProvider::class);
|
$resourceProvider = \OC::$server->query(\OCA\Deck\Collaboration\Resources\ResourceProvider::class);
|
||||||
$resourceProvider->invalidateAccessCache($acl->getBoardId());
|
$resourceProvider->invalidateAccessCache($acl->getBoardId());
|
||||||
} catch (\Exception $e) {}
|
} catch (\Exception $e) {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$delete = $this->aclMapper->delete($acl);
|
$delete = $this->aclMapper->delete($acl);
|
||||||
|
|
||||||
@@ -639,7 +628,6 @@ class BoardService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function clone($id) {
|
public function clone($id) {
|
||||||
|
|
||||||
if (is_numeric($id) === false) {
|
if (is_numeric($id) === false) {
|
||||||
throw new BadRequestException('board id must be a number');
|
throw new BadRequestException('board id must be a number');
|
||||||
}
|
}
|
||||||
@@ -683,7 +671,7 @@ class BoardService {
|
|||||||
private function enrichWithStacks($board, $since = -1) {
|
private function enrichWithStacks($board, $since = -1) {
|
||||||
$stacks = $this->stackMapper->findAll($board->getId(), null, null, $since);
|
$stacks = $this->stackMapper->findAll($board->getId(), null, null, $since);
|
||||||
|
|
||||||
if(\count($stacks) === 0) {
|
if (\count($stacks) === 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -693,7 +681,7 @@ class BoardService {
|
|||||||
private function enrichWithLabels($board, $since = -1) {
|
private function enrichWithLabels($board, $since = -1) {
|
||||||
$labels = $this->labelMapper->findAll($board->getId(), null, null, $since);
|
$labels = $this->labelMapper->findAll($board->getId(), null, null, $since);
|
||||||
|
|
||||||
if(\count($labels) === 0) {
|
if (\count($labels) === 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -702,10 +690,9 @@ class BoardService {
|
|||||||
|
|
||||||
private function enrichWithUsers($board, $since = -1) {
|
private function enrichWithUsers($board, $since = -1) {
|
||||||
$boardUsers = $this->permissionService->findUsers($board->getId());
|
$boardUsers = $this->permissionService->findUsers($board->getId());
|
||||||
if(\count($boardUsers) === 0) {
|
if (\count($boardUsers) === 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
$board->setUsers(array_values($boardUsers));
|
$board->setUsers(array_values($boardUsers));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,6 @@ namespace OCA\Deck\Service;
|
|||||||
|
|
||||||
use OCA\Deck\Activity\ActivityManager;
|
use OCA\Deck\Activity\ActivityManager;
|
||||||
use OCA\Deck\Activity\ChangeSet;
|
use OCA\Deck\Activity\ChangeSet;
|
||||||
use OCA\Deck\Db\AssignedUsers;
|
|
||||||
use OCA\Deck\Db\AssignedUsersMapper;
|
use OCA\Deck\Db\AssignedUsersMapper;
|
||||||
use OCA\Deck\Db\Card;
|
use OCA\Deck\Db\Card;
|
||||||
use OCA\Deck\Db\CardMapper;
|
use OCA\Deck\Db\CardMapper;
|
||||||
@@ -39,19 +38,13 @@ use OCA\Deck\Event\FTSEvent;
|
|||||||
use OCA\Deck\Notification\NotificationHelper;
|
use OCA\Deck\Notification\NotificationHelper;
|
||||||
use OCA\Deck\Db\BoardMapper;
|
use OCA\Deck\Db\BoardMapper;
|
||||||
use OCA\Deck\Db\LabelMapper;
|
use OCA\Deck\Db\LabelMapper;
|
||||||
use OCA\Deck\NotFoundException;
|
|
||||||
use OCA\Deck\StatusException;
|
use OCA\Deck\StatusException;
|
||||||
use OCA\Deck\BadRequestException;
|
use OCA\Deck\BadRequestException;
|
||||||
use OCP\Activity\IEvent;
|
|
||||||
use OCP\Comments\ICommentsManager;
|
use OCP\Comments\ICommentsManager;
|
||||||
use OCP\EventDispatcher\Event;
|
|
||||||
use OCP\EventDispatcher\IEventDispatcher;
|
use OCP\EventDispatcher\IEventDispatcher;
|
||||||
use OCP\IUserManager;
|
use OCP\IUserManager;
|
||||||
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
|
||||||
use Symfony\Component\EventDispatcher\GenericEvent;
|
|
||||||
|
|
||||||
class CardService {
|
class CardService {
|
||||||
|
|
||||||
private $cardMapper;
|
private $cardMapper;
|
||||||
private $stackMapper;
|
private $stackMapper;
|
||||||
private $boardMapper;
|
private $boardMapper;
|
||||||
@@ -132,7 +125,6 @@ class CardService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function find($cardId) {
|
public function find($cardId) {
|
||||||
|
|
||||||
if (is_numeric($cardId) === false) {
|
if (is_numeric($cardId) === false) {
|
||||||
throw new BadRequestException('card id must be a number');
|
throw new BadRequestException('card id must be a number');
|
||||||
}
|
}
|
||||||
@@ -218,7 +210,6 @@ class CardService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function delete($id) {
|
public function delete($id) {
|
||||||
|
|
||||||
if (is_numeric($id) === false) {
|
if (is_numeric($id) === false) {
|
||||||
throw new BadRequestException('card id must be a number');
|
throw new BadRequestException('card id must be a number');
|
||||||
}
|
}
|
||||||
@@ -257,7 +248,6 @@ class CardService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function update($id, $title, $stackId, $type, $order = 0, $description = '', $owner, $duedate = null, $deletedAt = null, $archived = null) {
|
public function update($id, $title, $stackId, $type, $order = 0, $description = '', $owner, $duedate = null, $deletedAt = null, $archived = null) {
|
||||||
|
|
||||||
if (is_numeric($id) === false) {
|
if (is_numeric($id) === false) {
|
||||||
throw new BadRequestException('card id must be a number');
|
throw new BadRequestException('card id must be a number');
|
||||||
}
|
}
|
||||||
@@ -347,7 +337,6 @@ class CardService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function rename($id, $title) {
|
public function rename($id, $title) {
|
||||||
|
|
||||||
if (is_numeric($id) === false) {
|
if (is_numeric($id) === false) {
|
||||||
throw new BadRequestException('id must be a number');
|
throw new BadRequestException('id must be a number');
|
||||||
}
|
}
|
||||||
@@ -387,7 +376,6 @@ class CardService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function reorder($id, $stackId, $order) {
|
public function reorder($id, $stackId, $order) {
|
||||||
|
|
||||||
if (is_numeric($id) === false) {
|
if (is_numeric($id) === false) {
|
||||||
throw new BadRequestException('card id must be a number');
|
throw new BadRequestException('card id must be a number');
|
||||||
}
|
}
|
||||||
@@ -448,7 +436,6 @@ class CardService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function archive($id) {
|
public function archive($id) {
|
||||||
|
|
||||||
if (is_numeric($id) === false) {
|
if (is_numeric($id) === false) {
|
||||||
throw new BadRequestException('id must be a number');
|
throw new BadRequestException('id must be a number');
|
||||||
}
|
}
|
||||||
@@ -481,7 +468,6 @@ class CardService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function unarchive($id) {
|
public function unarchive($id) {
|
||||||
|
|
||||||
if (is_numeric($id) === false) {
|
if (is_numeric($id) === false) {
|
||||||
throw new BadRequestException('id must be a number');
|
throw new BadRequestException('id must be a number');
|
||||||
}
|
}
|
||||||
@@ -513,7 +499,6 @@ class CardService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function assignLabel($cardId, $labelId) {
|
public function assignLabel($cardId, $labelId) {
|
||||||
|
|
||||||
if (is_numeric($cardId) === false) {
|
if (is_numeric($cardId) === false) {
|
||||||
throw new BadRequestException('card id must be a number');
|
throw new BadRequestException('card id must be a number');
|
||||||
}
|
}
|
||||||
@@ -550,7 +535,6 @@ class CardService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function removeLabel($cardId, $labelId) {
|
public function removeLabel($cardId, $labelId) {
|
||||||
|
|
||||||
if (is_numeric($cardId) === false) {
|
if (is_numeric($cardId) === false) {
|
||||||
throw new BadRequestException('card id must be a number');
|
throw new BadRequestException('card id must be a number');
|
||||||
}
|
}
|
||||||
@@ -576,5 +560,4 @@ class CardService {
|
|||||||
'\OCA\Deck\Card::onUpdate', new FTSEvent(null, ['id' => $cardId, 'card' => $card])
|
'\OCA\Deck\Card::onUpdate', new FTSEvent(null, ['id' => $cardId, 'card' => $card])
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,14 +23,12 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Service;
|
namespace OCA\Deck\Service;
|
||||||
|
|
||||||
|
|
||||||
use OCA\Deck\AppInfo\Application;
|
use OCA\Deck\AppInfo\Application;
|
||||||
use OCA\Deck\BadRequestException;
|
use OCA\Deck\BadRequestException;
|
||||||
use OCA\Deck\Db\Acl;
|
use OCA\Deck\Db\Acl;
|
||||||
use OCA\Deck\Db\CardMapper;
|
use OCA\Deck\Db\CardMapper;
|
||||||
use OCA\Deck\NoPermissionException;
|
use OCA\Deck\NoPermissionException;
|
||||||
use OCA\Deck\NotFoundException;
|
use OCA\Deck\NotFoundException;
|
||||||
use OCA\Deck\StatusException;
|
|
||||||
use OCP\AppFramework\Http\DataResponse;
|
use OCP\AppFramework\Http\DataResponse;
|
||||||
use OCP\Comments\IComment;
|
use OCP\Comments\IComment;
|
||||||
use OCP\Comments\ICommentsManager;
|
use OCP\Comments\ICommentsManager;
|
||||||
@@ -39,7 +37,6 @@ use OCP\Comments\NotFoundException as CommentNotFoundException;
|
|||||||
use OCP\ILogger;
|
use OCP\ILogger;
|
||||||
use OCP\IUserManager;
|
use OCP\IUserManager;
|
||||||
use OutOfBoundsException;
|
use OutOfBoundsException;
|
||||||
use Sabre\DAV\Exception\Forbidden;
|
|
||||||
use function is_numeric;
|
use function is_numeric;
|
||||||
|
|
||||||
class CommentService {
|
class CommentService {
|
||||||
@@ -125,7 +122,6 @@ class CommentService {
|
|||||||
$this->permissionService->checkPermission($this->cardMapper, $cardId, Acl::PERMISSION_READ);
|
$this->permissionService->checkPermission($this->cardMapper, $cardId, Acl::PERMISSION_READ);
|
||||||
try {
|
try {
|
||||||
$comment = $this->commentsManager->get($commentId);
|
$comment = $this->commentsManager->get($commentId);
|
||||||
|
|
||||||
} catch (CommentNotFoundException $e) {
|
} catch (CommentNotFoundException $e) {
|
||||||
throw new NotFoundException('No comment found.');
|
throw new NotFoundException('No comment found.');
|
||||||
}
|
}
|
||||||
@@ -147,7 +143,6 @@ class CommentService {
|
|||||||
$this->permissionService->checkPermission($this->cardMapper, $cardId, Acl::PERMISSION_READ);
|
$this->permissionService->checkPermission($this->cardMapper, $cardId, Acl::PERMISSION_READ);
|
||||||
try {
|
try {
|
||||||
$comment = $this->commentsManager->get($commentId);
|
$comment = $this->commentsManager->get($commentId);
|
||||||
|
|
||||||
} catch (CommentNotFoundException $e) {
|
} catch (CommentNotFoundException $e) {
|
||||||
throw new NotFoundException('No comment found.');
|
throw new NotFoundException('No comment found.');
|
||||||
}
|
}
|
||||||
@@ -170,7 +165,7 @@ class CommentService {
|
|||||||
'actorType' => $comment->getActorType(),
|
'actorType' => $comment->getActorType(),
|
||||||
'actorDisplayName' => $actorDisplayName,
|
'actorDisplayName' => $actorDisplayName,
|
||||||
'creationDateTime' => $comment->getCreationDateTime()->format(\DateTime::ATOM),
|
'creationDateTime' => $comment->getCreationDateTime()->format(\DateTime::ATOM),
|
||||||
'mentions' => array_map(function($mention) {
|
'mentions' => array_map(function ($mention) {
|
||||||
try {
|
try {
|
||||||
$displayName = $this->commentsManager->resolveDisplayName($mention['type'], $mention['id']);
|
$displayName = $this->commentsManager->resolveDisplayName($mention['type'], $mention['id']);
|
||||||
} catch (OutOfBoundsException $e) {
|
} catch (OutOfBoundsException $e) {
|
||||||
@@ -187,5 +182,4 @@ class CommentService {
|
|||||||
}, $comment->getMentions()),
|
}, $comment->getMentions()),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ use OCA\Deck\BadRequestException;
|
|||||||
use OCP\PreConditionNotMetException;
|
use OCP\PreConditionNotMetException;
|
||||||
|
|
||||||
class DefaultBoardService {
|
class DefaultBoardService {
|
||||||
|
|
||||||
private $boardMapper;
|
private $boardMapper;
|
||||||
private $boardService;
|
private $boardService;
|
||||||
private $stackService;
|
private $stackService;
|
||||||
@@ -39,7 +38,7 @@ class DefaultBoardService {
|
|||||||
private $config;
|
private $config;
|
||||||
private $l10n;
|
private $l10n;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
IL10N $l10n,
|
IL10N $l10n,
|
||||||
BoardMapper $boardMapper,
|
BoardMapper $boardMapper,
|
||||||
BoardService $boardService,
|
BoardService $boardService,
|
||||||
@@ -47,14 +46,13 @@ class DefaultBoardService {
|
|||||||
CardService $cardService,
|
CardService $cardService,
|
||||||
IConfig $config
|
IConfig $config
|
||||||
) {
|
) {
|
||||||
|
|
||||||
$this->boardService = $boardService;
|
$this->boardService = $boardService;
|
||||||
$this->stackService = $stackService;
|
$this->stackService = $stackService;
|
||||||
$this->cardService = $cardService;
|
$this->cardService = $cardService;
|
||||||
$this->config = $config;
|
$this->config = $config;
|
||||||
$this->boardMapper = $boardMapper;
|
$this->boardMapper = $boardMapper;
|
||||||
$this->l10n = $l10n;
|
$this->l10n = $l10n;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return true if this is the first time a user is acessing their instance with deck enabled
|
* Return true if this is the first time a user is acessing their instance with deck enabled
|
||||||
@@ -76,7 +74,7 @@ class DefaultBoardService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param $title
|
* @param $title
|
||||||
@@ -90,7 +88,6 @@ class DefaultBoardService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function createDefaultBoard(string $title, string $userId, string $color) {
|
public function createDefaultBoard(string $title, string $userId, string $color) {
|
||||||
|
|
||||||
if ($title === false || $title === null) {
|
if ($title === false || $title === null) {
|
||||||
throw new BadRequestException('title must be provided');
|
throw new BadRequestException('title must be provided');
|
||||||
}
|
}
|
||||||
@@ -103,9 +100,9 @@ class DefaultBoardService {
|
|||||||
throw new BadRequestException('color must be provided');
|
throw new BadRequestException('color must be provided');
|
||||||
}
|
}
|
||||||
|
|
||||||
$defaultBoard = $this->boardService->create($title, $userId, $color);
|
$defaultBoard = $this->boardService->create($title, $userId, $color);
|
||||||
$defaultStacks = [];
|
$defaultStacks = [];
|
||||||
$defaultCards = [];
|
$defaultCards = [];
|
||||||
|
|
||||||
$boardId = $defaultBoard->getId();
|
$boardId = $defaultBoard->getId();
|
||||||
|
|
||||||
@@ -118,5 +115,5 @@ class DefaultBoardService {
|
|||||||
$defaultCards[] = $this->cardService->create($this->l10n->t('Example Task 1'), $defaultStacks[2]->getId(), 'text', 0, $userId);
|
$defaultCards[] = $this->cardService->create($this->l10n->t('Example Task 1'), $defaultStacks[2]->getId(), 'text', 0, $userId);
|
||||||
|
|
||||||
return $defaultBoard;
|
return $defaultBoard;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,17 +23,13 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Service;
|
namespace OCA\Deck\Service;
|
||||||
|
|
||||||
use OC\Security\CSP\ContentSecurityPolicyManager;
|
|
||||||
use OCA\Deck\Db\Attachment;
|
use OCA\Deck\Db\Attachment;
|
||||||
use OCA\Deck\Db\AttachmentMapper;
|
use OCA\Deck\Db\AttachmentMapper;
|
||||||
use OCA\Deck\StatusException;
|
use OCA\Deck\StatusException;
|
||||||
use OCA\Deck\Exceptions\ConflictException;
|
use OCA\Deck\Exceptions\ConflictException;
|
||||||
use OCP\AppFramework\Http\ContentSecurityPolicy;
|
use OCP\AppFramework\Http\ContentSecurityPolicy;
|
||||||
use OCP\AppFramework\Http\EmptyContentSecurityPolicy;
|
|
||||||
use OCP\AppFramework\Http\FileDisplayResponse;
|
use OCP\AppFramework\Http\FileDisplayResponse;
|
||||||
use OCP\AppFramework\Http\StreamResponse;
|
use OCP\AppFramework\Http\StreamResponse;
|
||||||
use OCP\Files\Cache\IScanner;
|
|
||||||
use OCP\Files\Folder;
|
|
||||||
use OCP\Files\IAppData;
|
use OCP\Files\IAppData;
|
||||||
use OCP\Files\IRootFolder;
|
use OCP\Files\IRootFolder;
|
||||||
use OCP\Files\NotFoundException;
|
use OCP\Files\NotFoundException;
|
||||||
@@ -45,9 +41,7 @@ use OCP\IL10N;
|
|||||||
use OCP\ILogger;
|
use OCP\ILogger;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
|
|
||||||
|
|
||||||
class FileService implements IAttachmentService {
|
class FileService implements IAttachmentService {
|
||||||
|
|
||||||
private $l10n;
|
private $l10n;
|
||||||
private $appData;
|
private $appData;
|
||||||
private $request;
|
private $request;
|
||||||
@@ -122,18 +116,18 @@ class FileService implements IAttachmentService {
|
|||||||
* @return array
|
* @return array
|
||||||
* @throws StatusException
|
* @throws StatusException
|
||||||
*/
|
*/
|
||||||
private function getUploadedFile () {
|
private function getUploadedFile() {
|
||||||
$file = $this->request->getUploadedFile('file');
|
$file = $this->request->getUploadedFile('file');
|
||||||
$error = null;
|
$error = null;
|
||||||
$phpFileUploadErrors = [
|
$phpFileUploadErrors = [
|
||||||
UPLOAD_ERR_OK => $this->l10n->t('The file was uploaded'),
|
UPLOAD_ERR_OK => $this->l10n->t('The file was uploaded'),
|
||||||
UPLOAD_ERR_INI_SIZE => $this->l10n->t('The uploaded file exceeds the upload_max_filesize directive in php.ini'),
|
UPLOAD_ERR_INI_SIZE => $this->l10n->t('The uploaded file exceeds the upload_max_filesize directive in php.ini'),
|
||||||
UPLOAD_ERR_FORM_SIZE => $this->l10n->t('The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form'),
|
UPLOAD_ERR_FORM_SIZE => $this->l10n->t('The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form'),
|
||||||
UPLOAD_ERR_PARTIAL => $this->l10n->t('The file was only partially uploaded'),
|
UPLOAD_ERR_PARTIAL => $this->l10n->t('The file was only partially uploaded'),
|
||||||
UPLOAD_ERR_NO_FILE => $this->l10n->t('No file was uploaded'),
|
UPLOAD_ERR_NO_FILE => $this->l10n->t('No file was uploaded'),
|
||||||
UPLOAD_ERR_NO_TMP_DIR => $this->l10n->t('Missing a temporary folder'),
|
UPLOAD_ERR_NO_TMP_DIR => $this->l10n->t('Missing a temporary folder'),
|
||||||
UPLOAD_ERR_CANT_WRITE => $this->l10n->t('Could not write file to disk'),
|
UPLOAD_ERR_CANT_WRITE => $this->l10n->t('Could not write file to disk'),
|
||||||
UPLOAD_ERR_EXTENSION => $this->l10n->t('A PHP extension stopped the file upload'),
|
UPLOAD_ERR_EXTENSION => $this->l10n->t('A PHP extension stopped the file upload'),
|
||||||
];
|
];
|
||||||
|
|
||||||
if (empty($file)) {
|
if (empty($file)) {
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
|
||||||
@@ -28,7 +29,6 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace OCA\Deck\Service;
|
namespace OCA\Deck\Service;
|
||||||
|
|
||||||
|
|
||||||
use OC\FullTextSearch\Model\DocumentAccess;
|
use OC\FullTextSearch\Model\DocumentAccess;
|
||||||
use OC\FullTextSearch\Model\IndexDocument;
|
use OC\FullTextSearch\Model\IndexDocument;
|
||||||
use OCA\Deck\Db\Board;
|
use OCA\Deck\Db\Board;
|
||||||
@@ -47,7 +47,6 @@ use OCP\FullTextSearch\Model\IDocumentAccess;
|
|||||||
use OCP\FullTextSearch\Model\IIndex;
|
use OCP\FullTextSearch\Model\IIndex;
|
||||||
use OCP\FullTextSearch\Model\IIndexDocument;
|
use OCP\FullTextSearch\Model\IIndexDocument;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class FullTextSearchService
|
* Class FullTextSearchService
|
||||||
*
|
*
|
||||||
@@ -142,7 +141,7 @@ class FullTextSearchService {
|
|||||||
$boardId = (int)$e->getArgument('boardId');
|
$boardId = (int)$e->getArgument('boardId');
|
||||||
|
|
||||||
$cards = array_map(
|
$cards = array_map(
|
||||||
function(Card $item) {
|
function (Card $item) {
|
||||||
return $item->getId();
|
return $item->getId();
|
||||||
},
|
},
|
||||||
$this->getCardsFromBoard($boardId)
|
$this->getCardsFromBoard($boardId)
|
||||||
@@ -266,7 +265,6 @@ class FullTextSearchService {
|
|||||||
*/
|
*/
|
||||||
private function getStacksFromBoard(int $boardId): array {
|
private function getStacksFromBoard(int $boardId): array {
|
||||||
return $this->stackMapper->findAll($boardId, null, null);
|
return $this->stackMapper->findAll($boardId, null, null);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -278,7 +276,4 @@ class FullTextSearchService {
|
|||||||
private function getBoardsFromUser(string $userId): array {
|
private function getBoardsFromUser(string $userId): array {
|
||||||
return $this->boardMapper->findAllByUser($userId, null, null, -1);
|
return $this->boardMapper->findAllByUser($userId, null, null, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,6 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Service;
|
namespace OCA\Deck\Service;
|
||||||
|
|
||||||
|
|
||||||
use OCA\Deck\Db\Attachment;
|
use OCA\Deck\Db\Attachment;
|
||||||
use OCP\AppFramework\Http\Response;
|
use OCP\AppFramework\Http\Response;
|
||||||
|
|
||||||
@@ -95,5 +94,4 @@ interface IAttachmentService {
|
|||||||
* @param Attachment $attachment
|
* @param Attachment $attachment
|
||||||
*/
|
*/
|
||||||
public function markAsDeleted(Attachment $attachment);
|
public function markAsDeleted(Attachment $attachment);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -30,7 +30,6 @@ use OCA\Deck\Db\LabelMapper;
|
|||||||
use OCA\Deck\StatusException;
|
use OCA\Deck\StatusException;
|
||||||
use OCA\Deck\BadRequestException;
|
use OCA\Deck\BadRequestException;
|
||||||
|
|
||||||
|
|
||||||
class LabelService {
|
class LabelService {
|
||||||
|
|
||||||
/** @var LabelMapper */
|
/** @var LabelMapper */
|
||||||
@@ -77,7 +76,6 @@ class LabelService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function create($title, $color, $boardId) {
|
public function create($title, $color, $boardId) {
|
||||||
|
|
||||||
if ($title === false || $title === null) {
|
if ($title === false || $title === null) {
|
||||||
throw new BadRequestException('title must be provided');
|
throw new BadRequestException('title must be provided');
|
||||||
}
|
}
|
||||||
@@ -94,7 +92,7 @@ class LabelService {
|
|||||||
|
|
||||||
$boardLabels = $this->labelMapper->findAll($boardId);
|
$boardLabels = $this->labelMapper->findAll($boardId);
|
||||||
if (\is_array($boardLabels)) {
|
if (\is_array($boardLabels)) {
|
||||||
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;
|
||||||
@@ -123,7 +121,6 @@ class LabelService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function delete($id) {
|
public function delete($id) {
|
||||||
|
|
||||||
if (is_numeric($id) === false) {
|
if (is_numeric($id) === false) {
|
||||||
throw new BadRequestException('label id must be a number');
|
throw new BadRequestException('label id must be a number');
|
||||||
}
|
}
|
||||||
@@ -149,7 +146,6 @@ class LabelService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function update($id, $title, $color) {
|
public function update($id, $title, $color) {
|
||||||
|
|
||||||
if (is_numeric($id) === false) {
|
if (is_numeric($id) === false) {
|
||||||
throw new BadRequestException('label id must be a number');
|
throw new BadRequestException('label id must be a number');
|
||||||
}
|
}
|
||||||
@@ -168,7 +164,7 @@ class LabelService {
|
|||||||
|
|
||||||
$boardLabels = $this->labelMapper->findAll($label->getBoardId());
|
$boardLabels = $this->labelMapper->findAll($label->getBoardId());
|
||||||
if (\is_array($boardLabels)) {
|
if (\is_array($boardLabels)) {
|
||||||
foreach($boardLabels as $boardLabel) {
|
foreach ($boardLabels as $boardLabel) {
|
||||||
if ($boardLabel->getId() === $label->getId()) {
|
if ($boardLabel->getId() === $label->getId()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -188,5 +184,4 @@ class LabelService {
|
|||||||
$this->changeHelper->boardChanged($label->getBoardId());
|
$this->changeHelper->boardChanged($label->getBoardId());
|
||||||
return $this->labelMapper->update($label);
|
return $this->labelMapper->update($label);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,14 +33,12 @@ use OCA\Deck\NoPermissionException;
|
|||||||
use OCP\AppFramework\Db\DoesNotExistException;
|
use OCP\AppFramework\Db\DoesNotExistException;
|
||||||
use OCP\AppFramework\Db\Entity;
|
use OCP\AppFramework\Db\Entity;
|
||||||
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
|
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
|
||||||
use OCP\AppFramework\QueryException;
|
|
||||||
use OCP\IConfig;
|
use OCP\IConfig;
|
||||||
use OCP\IGroupManager;
|
use OCP\IGroupManager;
|
||||||
use OCP\ILogger;
|
use OCP\ILogger;
|
||||||
use OCP\IUserManager;
|
use OCP\IUserManager;
|
||||||
use OCP\Share\IManager;
|
use OCP\Share\IManager;
|
||||||
|
|
||||||
|
|
||||||
class PermissionService {
|
class PermissionService {
|
||||||
|
|
||||||
/** @var BoardMapper */
|
/** @var BoardMapper */
|
||||||
|
|||||||
@@ -39,9 +39,7 @@ use OCA\Deck\StatusException;
|
|||||||
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
||||||
use Symfony\Component\EventDispatcher\GenericEvent;
|
use Symfony\Component\EventDispatcher\GenericEvent;
|
||||||
|
|
||||||
|
|
||||||
class StackService {
|
class StackService {
|
||||||
|
|
||||||
private $stackMapper;
|
private $stackMapper;
|
||||||
private $cardMapper;
|
private $cardMapper;
|
||||||
private $boardMapper;
|
private $boardMapper;
|
||||||
@@ -166,7 +164,6 @@ class StackService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function findAllArchived($boardId) {
|
public function findAllArchived($boardId) {
|
||||||
|
|
||||||
if (is_numeric($boardId) === false) {
|
if (is_numeric($boardId) === false) {
|
||||||
throw new BadRequestException('board id must be a number');
|
throw new BadRequestException('board id must be a number');
|
||||||
}
|
}
|
||||||
@@ -200,7 +197,6 @@ class StackService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function create($title, $boardId, $order) {
|
public function create($title, $boardId, $order) {
|
||||||
|
|
||||||
if ($title === false || $title === null) {
|
if ($title === false || $title === null) {
|
||||||
throw new BadRequestException('title must be provided');
|
throw new BadRequestException('title must be provided');
|
||||||
}
|
}
|
||||||
@@ -245,7 +241,6 @@ class StackService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function delete($id) {
|
public function delete($id) {
|
||||||
|
|
||||||
if (is_numeric($id) === false) {
|
if (is_numeric($id) === false) {
|
||||||
throw new BadRequestException('stack id must be a number');
|
throw new BadRequestException('stack id must be a number');
|
||||||
}
|
}
|
||||||
@@ -284,7 +279,6 @@ class StackService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function update($id, $title, $boardId, $order, $deletedAt) {
|
public function update($id, $title, $boardId, $order, $deletedAt) {
|
||||||
|
|
||||||
if (is_numeric($id) === false) {
|
if (is_numeric($id) === false) {
|
||||||
throw new BadRequestException('stack id must be a number');
|
throw new BadRequestException('stack id must be a number');
|
||||||
}
|
}
|
||||||
@@ -336,7 +330,6 @@ class StackService {
|
|||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public function reorder($id, $order) {
|
public function reorder($id, $order) {
|
||||||
|
|
||||||
if (is_numeric($id) === false) {
|
if (is_numeric($id) === false) {
|
||||||
throw new BadRquestException('id must be a number');
|
throw new BadRquestException('id must be a number');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,9 +23,7 @@
|
|||||||
|
|
||||||
namespace OCA\Deck;
|
namespace OCA\Deck;
|
||||||
|
|
||||||
|
|
||||||
class StatusException extends \Exception {
|
class StatusException extends \Exception {
|
||||||
|
|
||||||
public function __construct($message) {
|
public function __construct($message) {
|
||||||
parent::__construct($message);
|
parent::__construct($message);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,6 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
use OCP\Util;
|
|
||||||
|
|
||||||
style('deck', 'globalstyles');
|
style('deck', 'globalstyles');
|
||||||
script('deck', 'deck');
|
script('deck', 'deck');
|
||||||
|
|||||||
1
tests/.phpunit.result.cache
Normal file
1
tests/.phpunit.result.cache
Normal file
@@ -0,0 +1 @@
|
|||||||
|
C:37:"PHPUnit\Runner\DefaultTestResultCache":3426:{a:2:{s:7:"defects";a:5:{s:89:"Test\Authentication\Login\FinishRememberedLoginCommandTest::testProcessNotRememberedLogin";i:4;s:71:"Test\Authentication\Login\FinishRememberedLoginCommandTest::testProcess";i:3;s:102:"Test\Authentication\Login\FinishRememberedLoginCommandTest::testProcessNotRemeberedLoginWithAutologout";i:4;s:52:"OCA\Files_Sharing\Tests\ApiTest::testCreateShareLink";i:4;s:64:"OCA\Files_Sharing\Tests\ApiTest::testCreateShareLinkPublicUpload";i:3;}s:5:"times";a:38:{s:89:"Test\Authentication\Login\FinishRememberedLoginCommandTest::testProcessNotRememberedLogin";d:0.008;s:71:"Test\Authentication\Login\FinishRememberedLoginCommandTest::testProcess";d:0.001;s:102:"Test\Authentication\Login\FinishRememberedLoginCommandTest::testProcessNotRemeberedLoginWithAutologout";d:0.001;s:52:"OCA\Files_Sharing\Tests\ApiTest::testCreateShareLink";d:0.19;s:56:"OCA\Files_Sharing\Tests\ApiTest::testCreateShareUserFile";d:0.485;s:58:"OCA\Files_Sharing\Tests\ApiTest::testCreateShareUserFolder";d:0.226;s:57:"OCA\Files_Sharing\Tests\ApiTest::testCreateShareGroupFile";d:0.244;s:59:"OCA\Files_Sharing\Tests\ApiTest::testCreateShareGroupFolder";d:0.222;s:64:"OCA\Files_Sharing\Tests\ApiTest::testCreateShareLinkPublicUpload";d:0.121;s:56:"OCA\Files_Sharing\Tests\ApiTest::testEnforceLinkPassword";d:0.576;s:53:"OCA\Files_Sharing\Tests\ApiTest::testSharePermissions";d:0.167;s:49:"OCA\Files_Sharing\Tests\ApiTest::testGetAllShares";d:0.129;s:55:"OCA\Files_Sharing\Tests\ApiTest::testGetAllSharesWithMe";d:0.182;s:50:"OCA\Files_Sharing\Tests\ApiTest::testPublicLinkUrl";d:0.133;s:55:"OCA\Files_Sharing\Tests\ApiTest::testGetShareFromSource";d:0.135;s:67:"OCA\Files_Sharing\Tests\ApiTest::testGetShareFromSourceWithReshares";d:0.162;s:51:"OCA\Files_Sharing\Tests\ApiTest::testGetShareFromId";d:0.13;s:55:"OCA\Files_Sharing\Tests\ApiTest::testGetShareFromFolder";d:0.165;s:63:"OCA\Files_Sharing\Tests\ApiTest::testGetShareFromFolderWithFile";d:0.125;s:63:"OCA\Files_Sharing\Tests\ApiTest::testGetShareFromFolderReshares";d:0.185;s:66:"OCA\Files_Sharing\Tests\ApiTest::testGetShareFromSubFolderReShares";d:0.183;s:65:"OCA\Files_Sharing\Tests\ApiTest::testGetShareMultipleSharedFolder";d:0.263;s:63:"OCA\Files_Sharing\Tests\ApiTest::testGetShareFromFileReReShares";d:0.203;s:58:"OCA\Files_Sharing\Tests\ApiTest::testGetShareFromUnknownId";d:0.11;s:48:"OCA\Files_Sharing\Tests\ApiTest::testUpdateShare";d:0.391;s:54:"OCA\Files_Sharing\Tests\ApiTest::testUpdateShareUpload";d:0.142;s:58:"OCA\Files_Sharing\Tests\ApiTest::testUpdateShareExpireDate";d:0.146;s:48:"OCA\Files_Sharing\Tests\ApiTest::testDeleteShare";d:0.159;s:50:"OCA\Files_Sharing\Tests\ApiTest::testDeleteReshare";d:0.177;s:63:"OCA\Files_Sharing\Tests\ApiTest::testShareFolderWithAMountPoint";d:0.236;s:59:"OCA\Files_Sharing\Tests\ApiTest::testShareStorageMountPoint";d:0.165;s:74:"OCA\Files_Sharing\Tests\ApiTest::testPublicLinkExpireDate with data set #0";d:0.088;s:74:"OCA\Files_Sharing\Tests\ApiTest::testPublicLinkExpireDate with data set #1";d:0.111;s:74:"OCA\Files_Sharing\Tests\ApiTest::testPublicLinkExpireDate with data set #2";d:0.119;s:68:"OCA\Files_Sharing\Tests\ApiTest::testCreatePublicLinkExpireDateValid";d:0.135;s:76:"OCA\Files_Sharing\Tests\ApiTest::testCreatePublicLinkExpireDateInvalidFuture";d:0.119;s:56:"OCA\Files_Sharing\Tests\ApiTest::testInvisibleSharesUser";d:0.154;s:57:"OCA\Files_Sharing\Tests\ApiTest::testInvisibleSharesGroup";d:0.165;}}}
|
||||||
@@ -21,34 +21,30 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
use OCP\AppFramework\App;
|
|
||||||
use Test\TestCase;
|
use Test\TestCase;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This test shows how to make a small Integration Test. Query your class
|
* This test shows how to make a small Integration Test. Query your class
|
||||||
* directly from the container, only pass in mocks if needed and run your tests
|
* directly from the container, only pass in mocks if needed and run your tests
|
||||||
* against the database
|
* against the database
|
||||||
*/
|
*/
|
||||||
class AppTest extends TestCase {
|
class AppTest extends TestCase {
|
||||||
|
private $container;
|
||||||
private $container;
|
|
||||||
private $app;
|
private $app;
|
||||||
|
|
||||||
public function setUp(): void {
|
public function setUp(): void {
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
$this->app = new \OCA\Deck\AppInfo\Application();
|
$this->app = new \OCA\Deck\AppInfo\Application();
|
||||||
$this->container = $this->app->getContainer();
|
$this->container = $this->app->getContainer();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testAppInstalled() {
|
public function testAppInstalled() {
|
||||||
$appManager = $this->container->query('OCP\App\IAppManager');
|
$appManager = $this->container->query('OCP\App\IAppManager');
|
||||||
$this->assertTrue($appManager->isInstalled('deck'));
|
$this->assertTrue($appManager->isInstalled('deck'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testNavigationEntry() {
|
public function testNavigationEntry() {
|
||||||
$this->app->registerNavigationEntry();
|
$this->app->registerNavigationEntry();
|
||||||
$this->assertTrue(true);
|
$this->assertTrue(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,7 +33,6 @@ use OCA\Deck\Service\CardService;
|
|||||||
* @coversDefaultClass OCA\Deck\Db\AssignedUsersMapper
|
* @coversDefaultClass OCA\Deck\Db\AssignedUsersMapper
|
||||||
*/
|
*/
|
||||||
class AssignedUsersMapperTest extends \Test\TestCase {
|
class AssignedUsersMapperTest extends \Test\TestCase {
|
||||||
|
|
||||||
private const TEST_USER1 = 'test-share-user1';
|
private const TEST_USER1 = 'test-share-user1';
|
||||||
private const TEST_USER3 = 'test-share-user3';
|
private const TEST_USER3 = 'test-share-user3';
|
||||||
private const TEST_USER2 = 'test-share-user2';
|
private const TEST_USER2 = 'test-share-user2';
|
||||||
|
|||||||
@@ -24,63 +24,62 @@
|
|||||||
/**
|
/**
|
||||||
* @group DB
|
* @group DB
|
||||||
*/
|
*/
|
||||||
class BoardDatabaseTest extends \Test\TestCase
|
class BoardDatabaseTest extends \Test\TestCase {
|
||||||
{
|
public const TEST_USER1 = "test-share-user1";
|
||||||
const TEST_USER1 = "test-share-user1";
|
public const TEST_USER2 = "test-share-user2";
|
||||||
const TEST_USER2 = "test-share-user2";
|
public const TEST_USER3 = "test-share-user3";
|
||||||
const TEST_USER3 = "test-share-user3";
|
public const TEST_USER4 = "test-share-user4";
|
||||||
const TEST_USER4 = "test-share-user4";
|
public const TEST_GROUP1 = "test-share-group1";
|
||||||
const TEST_GROUP1 = "test-share-group1";
|
|
||||||
|
|
||||||
/** @var \OCA\Deck\Service\BoardService */
|
/** @var \OCA\Deck\Service\BoardService */
|
||||||
private $boardService;
|
private $boardService;
|
||||||
|
|
||||||
public static function setUpBeforeClass(): void {
|
public static function setUpBeforeClass(): void {
|
||||||
parent::setUpBeforeClass();
|
parent::setUpBeforeClass();
|
||||||
|
|
||||||
$backend = new \Test\Util\User\Dummy();
|
$backend = new \Test\Util\User\Dummy();
|
||||||
\OC_User::useBackend($backend);
|
\OC_User::useBackend($backend);
|
||||||
$backend->createUser(self::TEST_USER1, self::TEST_USER1);
|
$backend->createUser(self::TEST_USER1, self::TEST_USER1);
|
||||||
$backend->createUser(self::TEST_USER2, self::TEST_USER2);
|
$backend->createUser(self::TEST_USER2, self::TEST_USER2);
|
||||||
$backend->createUser(self::TEST_USER3, self::TEST_USER3);
|
$backend->createUser(self::TEST_USER3, self::TEST_USER3);
|
||||||
$backend->createUser(self::TEST_USER4, self::TEST_USER4);
|
$backend->createUser(self::TEST_USER4, self::TEST_USER4);
|
||||||
// create group
|
// create group
|
||||||
$groupBackend = new \Test\Util\Group\Dummy();
|
$groupBackend = new \Test\Util\Group\Dummy();
|
||||||
$groupBackend->createGroup(self::TEST_GROUP1);
|
$groupBackend->createGroup(self::TEST_GROUP1);
|
||||||
$groupBackend->createGroup('group');
|
$groupBackend->createGroup('group');
|
||||||
$groupBackend->createGroup('group1');
|
$groupBackend->createGroup('group1');
|
||||||
$groupBackend->createGroup('group2');
|
$groupBackend->createGroup('group2');
|
||||||
$groupBackend->createGroup('group3');
|
$groupBackend->createGroup('group3');
|
||||||
$groupBackend->addToGroup(self::TEST_USER1, 'group');
|
$groupBackend->addToGroup(self::TEST_USER1, 'group');
|
||||||
$groupBackend->addToGroup(self::TEST_USER2, 'group');
|
$groupBackend->addToGroup(self::TEST_USER2, 'group');
|
||||||
$groupBackend->addToGroup(self::TEST_USER3, 'group');
|
$groupBackend->addToGroup(self::TEST_USER3, 'group');
|
||||||
$groupBackend->addToGroup(self::TEST_USER2, 'group1');
|
$groupBackend->addToGroup(self::TEST_USER2, 'group1');
|
||||||
$groupBackend->addToGroup(self::TEST_USER3, 'group2');
|
$groupBackend->addToGroup(self::TEST_USER3, 'group2');
|
||||||
$groupBackend->addToGroup(self::TEST_USER4, 'group3');
|
$groupBackend->addToGroup(self::TEST_USER4, 'group3');
|
||||||
$groupBackend->addToGroup(self::TEST_USER2, self::TEST_GROUP1);
|
$groupBackend->addToGroup(self::TEST_USER2, self::TEST_GROUP1);
|
||||||
\OC::$server->getGroupManager()->addBackend($groupBackend);
|
\OC::$server->getGroupManager()->addBackend($groupBackend);
|
||||||
}
|
}
|
||||||
public function setUp(): void {
|
public function setUp(): void {
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
\OC::$server->getUserSession()->login(self::TEST_USER1, self::TEST_USER1);
|
\OC::$server->getUserSession()->login(self::TEST_USER1, self::TEST_USER1);
|
||||||
$this->boardService = \OC::$server->query("\OCA\Deck\Service\BoardService");
|
$this->boardService = \OC::$server->query("\OCA\Deck\Service\BoardService");
|
||||||
}
|
}
|
||||||
public function testCreate() {
|
public function testCreate() {
|
||||||
$board = new \OCA\Deck\Db\Board();
|
$board = new \OCA\Deck\Db\Board();
|
||||||
$board->setTitle('Test');
|
$board->setTitle('Test');
|
||||||
$board->setOwner(self::TEST_USER1);
|
$board->setOwner(self::TEST_USER1);
|
||||||
$board->setColor('000000');
|
$board->setColor('000000');
|
||||||
$board->setLabels([]);
|
$board->setLabels([]);
|
||||||
$created = $this->boardService->create('Test', self::TEST_USER1, '000000');
|
$created = $this->boardService->create('Test', self::TEST_USER1, '000000');
|
||||||
$id = $created->getId();
|
$id = $created->getId();
|
||||||
$actual = $this->boardService->find($id);
|
$actual = $this->boardService->find($id);
|
||||||
$this->assertEquals($actual->getTitle(), $board->getTitle());
|
$this->assertEquals($actual->getTitle(), $board->getTitle());
|
||||||
$this->assertEquals($actual->getColor(), $board->getColor());
|
$this->assertEquals($actual->getColor(), $board->getColor());
|
||||||
$this->assertEquals($actual->getOwner(), $board->getOwner());
|
$this->assertEquals($actual->getOwner(), $board->getOwner());
|
||||||
$this->boardService->deleteForce($id);
|
$this->boardService->deleteForce($id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function tearDown(): void {
|
public function tearDown(): void {
|
||||||
parent::tearDown();
|
parent::tearDown();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,6 @@ use GuzzleHttp\Message\ResponseInterface;
|
|||||||
require __DIR__ . '/../../vendor/autoload.php';
|
require __DIR__ . '/../../vendor/autoload.php';
|
||||||
|
|
||||||
trait BasicStructure {
|
trait BasicStructure {
|
||||||
|
|
||||||
use Auth;
|
use Auth;
|
||||||
|
|
||||||
/** @var string */
|
/** @var string */
|
||||||
@@ -104,7 +103,7 @@ trait BasicStructure {
|
|||||||
*/
|
*/
|
||||||
public function usingServer($server) {
|
public function usingServer($server) {
|
||||||
$previousServer = $this->currentServer;
|
$previousServer = $this->currentServer;
|
||||||
if ($server === 'LOCAL'){
|
if ($server === 'LOCAL') {
|
||||||
$this->baseUrl = $this->localBaseUrl;
|
$this->baseUrl = $this->localBaseUrl;
|
||||||
$this->currentServer = 'LOCAL';
|
$this->currentServer = 'LOCAL';
|
||||||
return $previousServer;
|
return $previousServer;
|
||||||
@@ -139,8 +138,10 @@ trait BasicStructure {
|
|||||||
* @param array $arrayOfArrays
|
* @param array $arrayOfArrays
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function simplifyArray($arrayOfArrays){
|
public function simplifyArray($arrayOfArrays) {
|
||||||
$a = array_map(function($subArray) { return $subArray[0]; }, $arrayOfArrays);
|
$a = array_map(function ($subArray) {
|
||||||
|
return $subArray[0];
|
||||||
|
}, $arrayOfArrays);
|
||||||
return $a;
|
return $a;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -211,7 +212,7 @@ trait BasicStructure {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function isExpectedUrl($possibleUrl, $finalPart){
|
public function isExpectedUrl($possibleUrl, $finalPart) {
|
||||||
$baseUrlChopped = substr($this->baseUrl, 0, -4);
|
$baseUrlChopped = substr($this->baseUrl, 0, -4);
|
||||||
$endCharacter = strlen($baseUrlChopped) + strlen($finalPart);
|
$endCharacter = strlen($baseUrlChopped) + strlen($finalPart);
|
||||||
return (substr($possibleUrl,0,$endCharacter) == "$baseUrlChopped" . "$finalPart");
|
return (substr($possibleUrl,0,$endCharacter) == "$baseUrlChopped" . "$finalPart");
|
||||||
@@ -328,7 +329,7 @@ trait BasicStructure {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function removeFile($path, $filename){
|
public static function removeFile($path, $filename) {
|
||||||
if (file_exists("$path" . "$filename")) {
|
if (file_exists("$path" . "$filename")) {
|
||||||
unlink("$path" . "$filename");
|
unlink("$path" . "$filename");
|
||||||
}
|
}
|
||||||
@@ -352,7 +353,7 @@ trait BasicStructure {
|
|||||||
fclose($file);
|
fclose($file);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function createFileWithText($name, $text){
|
public function createFileWithText($name, $text) {
|
||||||
$file = fopen("work/" . "$name", 'w');
|
$file = fopen("work/" . "$name", 'w');
|
||||||
fwrite($file, $text);
|
fwrite($file, $text);
|
||||||
fclose($file);
|
fclose($file);
|
||||||
@@ -387,8 +388,8 @@ trait BasicStructure {
|
|||||||
/**
|
/**
|
||||||
* @BeforeSuite
|
* @BeforeSuite
|
||||||
*/
|
*/
|
||||||
public static function addFilesToSkeleton(){
|
public static function addFilesToSkeleton() {
|
||||||
for ($i=0; $i<5; $i++){
|
for ($i=0; $i<5; $i++) {
|
||||||
file_put_contents("../../core/skeleton/" . "textfile" . "$i" . ".txt", "Nextcloud test text file\n");
|
file_put_contents("../../core/skeleton/" . "textfile" . "$i" . ".txt", "Nextcloud test text file\n");
|
||||||
}
|
}
|
||||||
if (!file_exists("../../core/skeleton/FOLDER")) {
|
if (!file_exists("../../core/skeleton/FOLDER")) {
|
||||||
@@ -407,8 +408,8 @@ trait BasicStructure {
|
|||||||
/**
|
/**
|
||||||
* @AfterSuite
|
* @AfterSuite
|
||||||
*/
|
*/
|
||||||
public static function removeFilesFromSkeleton(){
|
public static function removeFilesFromSkeleton() {
|
||||||
for ($i=0; $i<5; $i++){
|
for ($i=0; $i<5; $i++) {
|
||||||
self::removeFile("../../core/skeleton/", "textfile" . "$i" . ".txt");
|
self::removeFile("../../core/skeleton/", "textfile" . "$i" . ".txt");
|
||||||
}
|
}
|
||||||
if (is_dir("../../core/skeleton/FOLDER")) {
|
if (is_dir("../../core/skeleton/FOLDER")) {
|
||||||
@@ -427,11 +428,11 @@ trait BasicStructure {
|
|||||||
/**
|
/**
|
||||||
* @BeforeScenario @local_storage
|
* @BeforeScenario @local_storage
|
||||||
*/
|
*/
|
||||||
public static function removeFilesFromLocalStorageBefore(){
|
public static function removeFilesFromLocalStorageBefore() {
|
||||||
$dir = "./work/local_storage/";
|
$dir = "./work/local_storage/";
|
||||||
$di = new RecursiveDirectoryIterator($dir, FilesystemIterator::SKIP_DOTS);
|
$di = new RecursiveDirectoryIterator($dir, FilesystemIterator::SKIP_DOTS);
|
||||||
$ri = new RecursiveIteratorIterator($di, RecursiveIteratorIterator::CHILD_FIRST);
|
$ri = new RecursiveIteratorIterator($di, RecursiveIteratorIterator::CHILD_FIRST);
|
||||||
foreach ( $ri as $file ) {
|
foreach ($ri as $file) {
|
||||||
$file->isDir() ? rmdir($file) : unlink($file);
|
$file->isDir() ? rmdir($file) : unlink($file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -439,11 +440,11 @@ trait BasicStructure {
|
|||||||
/**
|
/**
|
||||||
* @AfterScenario @local_storage
|
* @AfterScenario @local_storage
|
||||||
*/
|
*/
|
||||||
public static function removeFilesFromLocalStorageAfter(){
|
public static function removeFilesFromLocalStorageAfter() {
|
||||||
$dir = "./work/local_storage/";
|
$dir = "./work/local_storage/";
|
||||||
$di = new RecursiveDirectoryIterator($dir, FilesystemIterator::SKIP_DOTS);
|
$di = new RecursiveDirectoryIterator($dir, FilesystemIterator::SKIP_DOTS);
|
||||||
$ri = new RecursiveIteratorIterator($di, RecursiveIteratorIterator::CHILD_FIRST);
|
$ri = new RecursiveIteratorIterator($di, RecursiveIteratorIterator::CHILD_FIRST);
|
||||||
foreach ( $ri as $file ) {
|
foreach ($ri as $file) {
|
||||||
$file->isDir() ? rmdir($file) : unlink($file);
|
$file->isDir() ? rmdir($file) : unlink($file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,20 +3,18 @@
|
|||||||
use Behat\Behat\Context\Context;
|
use Behat\Behat\Context\Context;
|
||||||
use Behat\Gherkin\Node\TableNode;
|
use Behat\Gherkin\Node\TableNode;
|
||||||
use GuzzleHttp\Client;
|
use GuzzleHttp\Client;
|
||||||
use Behat\Behat\Tester\Exception\PendingException;
|
|
||||||
use Behat\Gherkin\Node\PyStringNode;
|
use Behat\Gherkin\Node\PyStringNode;
|
||||||
use GuzzleHttp\Exception\ClientException;
|
use GuzzleHttp\Exception\ClientException;
|
||||||
|
|
||||||
require_once __DIR__ . '/../../vendor/autoload.php';
|
require_once __DIR__ . '/../../vendor/autoload.php';
|
||||||
|
|
||||||
class FeatureContext implements Context {
|
class FeatureContext implements Context {
|
||||||
|
|
||||||
use WebDav;
|
use WebDav;
|
||||||
|
|
||||||
/** @var string */
|
/** @var string */
|
||||||
private $mappedUserId;
|
private $mappedUserId;
|
||||||
|
|
||||||
private $lastInsertIds = array();
|
private $lastInsertIds = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @BeforeSuite
|
* @BeforeSuite
|
||||||
@@ -117,8 +115,8 @@ class FeatureContext implements Context {
|
|||||||
*/
|
*/
|
||||||
public function theResponseShouldBeAJsonArrayWithALengthOf($length) {
|
public function theResponseShouldBeAJsonArrayWithALengthOf($length) {
|
||||||
$realResponseArray = json_decode($this->response->getBody()->getContents(), true);
|
$realResponseArray = json_decode($this->response->getBody()->getContents(), true);
|
||||||
PHPUnit_Framework_Assert::assertEquals($realResponseArray, "foo");
|
PHPUnit_Framework_Assert::assertEquals($realResponseArray, "foo");
|
||||||
if((int)count($realResponseArray) !== (int)$length) {
|
if ((int)count($realResponseArray) !== (int)$length) {
|
||||||
throw new InvalidArgumentException(
|
throw new InvalidArgumentException(
|
||||||
sprintf(
|
sprintf(
|
||||||
'Expected %d as length got %d',
|
'Expected %d as length got %d',
|
||||||
@@ -129,26 +127,25 @@ class FeatureContext implements Context {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Then /^I should get:$/
|
* @Then /^I should get:$/
|
||||||
*
|
*
|
||||||
* @param PyStringNode $string
|
* @param PyStringNode $string
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
public function iShouldGet(PyStringNode $string)
|
public function iShouldGet(PyStringNode $string) {
|
||||||
{
|
if ((string) $string !== trim($this->cliOutput)) {
|
||||||
if ((string) $string !== trim($this->cliOutput)) {
|
throw new Exception(sprintf(
|
||||||
throw new Exception(sprintf(
|
'Expected "%s" but received "%s".',
|
||||||
'Expected "%s" but received "%s".',
|
$string,
|
||||||
$string,
|
$this->cliOutput
|
||||||
$this->cliOutput
|
));
|
||||||
));
|
}
|
||||||
}
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function sendJSONrequest($method, $url, $data) {
|
private function sendJSONrequest($method, $url, $data) {
|
||||||
$baseUrl = substr($this->baseUrl, 0, -5);
|
$baseUrl = substr($this->baseUrl, 0, -5);
|
||||||
|
|
||||||
$client = new Client;
|
$client = new Client;
|
||||||
@@ -172,11 +169,10 @@ class FeatureContext implements Context {
|
|||||||
* @Given /^creates a board named "([^"]*)" with color "([^"]*)"$/
|
* @Given /^creates a board named "([^"]*)" with color "([^"]*)"$/
|
||||||
*/
|
*/
|
||||||
public function createsABoardNamedWithColor($title, $color) {
|
public function createsABoardNamedWithColor($title, $color) {
|
||||||
|
|
||||||
$this->sendJSONrequest('POST', '/index.php/apps/deck/boards', [
|
$this->sendJSONrequest('POST', '/index.php/apps/deck/boards', [
|
||||||
'title' => $title,
|
'title' => $title,
|
||||||
'color' => $color
|
'color' => $color
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
$response = json_decode($this->response->getBody()->getContents(), true);
|
$response = json_decode($this->response->getBody()->getContents(), true);
|
||||||
$this->lastInsertIds[$title] = $response['id'];
|
$this->lastInsertIds[$title] = $response['id'];
|
||||||
@@ -190,5 +186,4 @@ class FeatureContext implements Context {
|
|||||||
$id = $this->lastInsertIds[$boardName];
|
$id = $this->lastInsertIds[$boardName];
|
||||||
$this->sendJSONrequest('GET', '/index.php/apps/deck/boards/'.$id, []);
|
$this->sendJSONrequest('GET', '/index.php/apps/deck/boards/'.$id, []);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -91,7 +91,9 @@ class ActivityManagerTest extends TestCase {
|
|||||||
$managerClass = new \ReflectionClass(ActivityManager::class);
|
$managerClass = new \ReflectionClass(ActivityManager::class);
|
||||||
$this->l10n->expects($this->any())
|
$this->l10n->expects($this->any())
|
||||||
->method('t')
|
->method('t')
|
||||||
->will($this->returnCallback(function ($s) { return $s; }));
|
->will($this->returnCallback(function ($s) {
|
||||||
|
return $s;
|
||||||
|
}));
|
||||||
|
|
||||||
foreach ($managerClass->getConstants() as $constant => $value) {
|
foreach ($managerClass->getConstants() as $constant => $value) {
|
||||||
if (strpos($constant, 'SUBJECT') === 0) {
|
if (strpos($constant, 'SUBJECT') === 0) {
|
||||||
@@ -111,7 +113,6 @@ class ActivityManagerTest extends TestCase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testCreateEvent() {
|
public function testCreateEvent() {
|
||||||
@@ -342,12 +343,10 @@ class ActivityManagerTest extends TestCase {
|
|||||||
], $this->invokePrivate($this->activityManager, 'findDetailsForAttachment', [777]));
|
], $this->invokePrivate($this->activityManager, 'findDetailsForAttachment', [777]));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function invokePrivate(&$object, $methodName, array $parameters = array())
|
public function invokePrivate(&$object, $methodName, array $parameters = []) {
|
||||||
{
|
|
||||||
$reflection = new \ReflectionClass(get_class($object));
|
$reflection = new \ReflectionClass(get_class($object));
|
||||||
$method = $reflection->getMethod($methodName);
|
$method = $reflection->getMethod($methodName);
|
||||||
$method->setAccessible(true);
|
$method->setAccessible(true);
|
||||||
return $method->invokeArgs($object, $parameters);
|
return $method->invokeArgs($object, $parameters);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,9 +25,7 @@ namespace OCA\Deck\Activity;
|
|||||||
|
|
||||||
use PHPUnit\Framework\TestCase;
|
use PHPUnit\Framework\TestCase;
|
||||||
|
|
||||||
|
|
||||||
class ChangeSetTest extends TestCase {
|
class ChangeSetTest extends TestCase {
|
||||||
|
|
||||||
public function setUp(): void {
|
public function setUp(): void {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -54,5 +52,4 @@ class ChangeSetTest extends TestCase {
|
|||||||
$changeSet->enableDiff();
|
$changeSet->enableDiff();
|
||||||
$this->assertTrue($changeSet->getDiff());
|
$this->assertTrue($changeSet->getDiff());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,27 +23,12 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Activity;
|
namespace OCA\Deck\Activity;
|
||||||
|
|
||||||
use OCA\Deck\Db\AclMapper;
|
|
||||||
use OCA\Deck\Db\AssignedUsers;
|
|
||||||
use OCA\Deck\Db\Attachment;
|
|
||||||
use OCA\Deck\Db\AttachmentMapper;
|
|
||||||
use OCA\Deck\Db\Board;
|
|
||||||
use OCA\Deck\Db\BoardMapper;
|
|
||||||
use OCA\Deck\Db\Card;
|
use OCA\Deck\Db\Card;
|
||||||
use OCA\Deck\Db\CardMapper;
|
use OCA\Deck\Db\CardMapper;
|
||||||
use OCA\Deck\Db\Label;
|
|
||||||
use OCA\Deck\Db\Stack;
|
|
||||||
use OCA\Deck\Db\StackMapper;
|
|
||||||
use OCA\Deck\Notification\NotificationHelper;
|
use OCA\Deck\Notification\NotificationHelper;
|
||||||
use OCA\Deck\Service\PermissionService;
|
|
||||||
use OCP\Activity\IEvent;
|
|
||||||
use OCP\Activity\IManager;
|
|
||||||
use OCP\Comments\CommentsEvent;
|
use OCP\Comments\CommentsEvent;
|
||||||
use OCP\Comments\IComment;
|
use OCP\Comments\IComment;
|
||||||
use OCP\IL10N;
|
|
||||||
use OCP\IUser;
|
|
||||||
use PHPUnit\Framework\TestCase;
|
use PHPUnit\Framework\TestCase;
|
||||||
use PHPUnit_Framework_MockObject_MockObject as MockObject;
|
|
||||||
|
|
||||||
class CommentEventHandlerTest extends TestCase {
|
class CommentEventHandlerTest extends TestCase {
|
||||||
|
|
||||||
@@ -109,12 +94,10 @@ class CommentEventHandlerTest extends TestCase {
|
|||||||
$this->commentEventHandler->handle($commentsEvent);
|
$this->commentEventHandler->handle($commentsEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function invokePrivate(&$object, $methodName, array $parameters = array())
|
public function invokePrivate(&$object, $methodName, array $parameters = []) {
|
||||||
{
|
|
||||||
$reflection = new \ReflectionClass(get_class($object));
|
$reflection = new \ReflectionClass(get_class($object));
|
||||||
$method = $reflection->getMethod($methodName);
|
$method = $reflection->getMethod($methodName);
|
||||||
$method->setAccessible(true);
|
$method->setAccessible(true);
|
||||||
return $method->invokeArgs($object, $parameters);
|
return $method->invokeArgs($object, $parameters);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -81,20 +81,20 @@ class DeckProviderTest extends TestCase {
|
|||||||
$event->expects($this->any())->method('getObjectName')->willReturn($objectName);
|
$event->expects($this->any())->method('getObjectName')->willReturn($objectName);
|
||||||
$event->expects($this->any())->method('getAuthor')->willReturn('admin');
|
$event->expects($this->any())->method('getAuthor')->willReturn('admin');
|
||||||
$event->expects($this->any())->method('getMessage')->willReturn('');
|
$event->expects($this->any())->method('getMessage')->willReturn('');
|
||||||
$event->expects($this->any())->method('setIcon')->will($this->returnCallback(function($icon) use (&$data, $event) {
|
$event->expects($this->any())->method('setIcon')->will($this->returnCallback(function ($icon) use (&$data, $event) {
|
||||||
$data['icon'] = $icon;
|
$data['icon'] = $icon;
|
||||||
return $event;
|
return $event;
|
||||||
}));
|
}));
|
||||||
$event->expects($this->any())->method('setParsedSubject')->will($this->returnCallback(function($subject) use (&$data, $event) {
|
$event->expects($this->any())->method('setParsedSubject')->will($this->returnCallback(function ($subject) use (&$data, $event) {
|
||||||
$data['parsedSubject'] = $subject;
|
$data['parsedSubject'] = $subject;
|
||||||
return $event;
|
return $event;
|
||||||
}));
|
}));
|
||||||
$event->expects($this->any())->method('setRichSubject')->will($this->returnCallback(function($subject) use (&$data, $event) {
|
$event->expects($this->any())->method('setRichSubject')->will($this->returnCallback(function ($subject) use (&$data, $event) {
|
||||||
$data['richSubject'] = $subject;
|
$data['richSubject'] = $subject;
|
||||||
return $event;
|
return $event;
|
||||||
}));
|
}));
|
||||||
$event->expects($this->any())->method('getIcon')->will(
|
$event->expects($this->any())->method('getIcon')->will(
|
||||||
$this->returnCallback(function() use (&$data) {
|
$this->returnCallback(function () use (&$data) {
|
||||||
return array_key_exists('icon', $data) ? $data['icon'] : 'noicon';
|
return array_key_exists('icon', $data) ? $data['icon'] : 'noicon';
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
@@ -133,12 +133,12 @@ class DeckProviderTest extends TestCase {
|
|||||||
->willReturn('test string {board}');
|
->willReturn('test string {board}');
|
||||||
$this->urlGenerator->expects($this->any())
|
$this->urlGenerator->expects($this->any())
|
||||||
->method('imagePath')
|
->method('imagePath')
|
||||||
->will($this->returnCallback(function($a, $i) {
|
->will($this->returnCallback(function ($a, $i) {
|
||||||
return $a . '/' . $i;
|
return $a . '/' . $i;
|
||||||
}));
|
}));
|
||||||
$this->urlGenerator->expects($this->any())
|
$this->urlGenerator->expects($this->any())
|
||||||
->method('getAbsoluteURL')
|
->method('getAbsoluteURL')
|
||||||
->will($this->returnCallback(function($url) {
|
->will($this->returnCallback(function ($url) {
|
||||||
return $url;
|
return $url;
|
||||||
}));
|
}));
|
||||||
$this->provider->parse('en_US', $event);
|
$this->provider->parse('en_US', $event);
|
||||||
@@ -159,7 +159,7 @@ class DeckProviderTest extends TestCase {
|
|||||||
public function testParseObjectTypeBoard() {
|
public function testParseObjectTypeBoard() {
|
||||||
$this->urlGenerator->expects($this->any())
|
$this->urlGenerator->expects($this->any())
|
||||||
->method('imagePath')
|
->method('imagePath')
|
||||||
->will($this->returnCallback(function($a, $i) {
|
->will($this->returnCallback(function ($a, $i) {
|
||||||
return $a . '/' . $i;
|
return $a . '/' . $i;
|
||||||
}));
|
}));
|
||||||
$this->activityManager->expects($this->once())
|
$this->activityManager->expects($this->once())
|
||||||
@@ -200,7 +200,7 @@ class DeckProviderTest extends TestCase {
|
|||||||
public function testParseObjectTypeCard() {
|
public function testParseObjectTypeCard() {
|
||||||
$this->urlGenerator->expects($this->any())
|
$this->urlGenerator->expects($this->any())
|
||||||
->method('imagePath')
|
->method('imagePath')
|
||||||
->will($this->returnCallback(function($a, $i) {
|
->will($this->returnCallback(function ($a, $i) {
|
||||||
return $a . '/' . $i;
|
return $a . '/' . $i;
|
||||||
}));
|
}));
|
||||||
$this->activityManager->expects($this->once())
|
$this->activityManager->expects($this->once())
|
||||||
@@ -238,13 +238,12 @@ class DeckProviderTest extends TestCase {
|
|||||||
$this->assertEquals('test string Card', $event->getParsedSubject());
|
$this->assertEquals('test string Card', $event->getParsedSubject());
|
||||||
$this->assertEquals('test string {card}', $event->getRichSubject());
|
$this->assertEquals('test string {card}', $event->getRichSubject());
|
||||||
$this->assertEquals('', $event->getMessage());
|
$this->assertEquals('', $event->getMessage());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testParseObjectTypeCardWithDiff() {
|
public function testParseObjectTypeCardWithDiff() {
|
||||||
$this->urlGenerator->expects($this->any())
|
$this->urlGenerator->expects($this->any())
|
||||||
->method('imagePath')
|
->method('imagePath')
|
||||||
->will($this->returnCallback(function($a, $i) {
|
->will($this->returnCallback(function ($a, $i) {
|
||||||
return $a . '/' . $i;
|
return $a . '/' . $i;
|
||||||
}));
|
}));
|
||||||
$this->activityManager->expects($this->once())
|
$this->activityManager->expects($this->once())
|
||||||
@@ -496,8 +495,7 @@ class DeckProviderTest extends TestCase {
|
|||||||
$this->assertEquals($expected, $actual);
|
$this->assertEquals($expected, $actual);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function invokePrivate(&$object, $methodName, array $parameters = array())
|
public function invokePrivate(&$object, $methodName, array $parameters = []) {
|
||||||
{
|
|
||||||
$reflection = new \ReflectionClass(get_class($object));
|
$reflection = new \ReflectionClass(get_class($object));
|
||||||
$method = $reflection->getMethod($methodName);
|
$method = $reflection->getMethod($methodName);
|
||||||
$method->setAccessible(true);
|
$method->setAccessible(true);
|
||||||
|
|||||||
@@ -77,5 +77,4 @@ class FilterTest extends TestCase {
|
|||||||
public function testAllowedApps() {
|
public function testAllowedApps() {
|
||||||
$this->assertEquals(['deck'], $this->filter->allowedApps());
|
$this->assertEquals(['deck'], $this->filter->allowedApps());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,7 +35,9 @@ class SettingTest extends TestCase {
|
|||||||
|
|
||||||
public function setUp(): void {
|
public function setUp(): void {
|
||||||
$this->l10n = $this->createMock(IL10N::class);
|
$this->l10n = $this->createMock(IL10N::class);
|
||||||
$this->l10n->expects($this->any())->method('t')->will($this->returnCallback(function ($s) { return $s; }));
|
$this->l10n->expects($this->any())->method('t')->will($this->returnCallback(function ($s) {
|
||||||
|
return $s;
|
||||||
|
}));
|
||||||
$this->setting = new Setting($this->l10n);
|
$this->setting = new Setting($this->l10n);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -66,5 +68,4 @@ class SettingTest extends TestCase {
|
|||||||
public function testIsDefaultEnabledMail() {
|
public function testIsDefaultEnabledMail() {
|
||||||
$this->assertFalse($this->setting->isDefaultEnabledMail());
|
$this->assertFalse($this->setting->isDefaultEnabledMail());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,26 +24,19 @@
|
|||||||
namespace OCA\Deck\Command;
|
namespace OCA\Deck\Command;
|
||||||
|
|
||||||
use OCA\Deck\Db\AssignedUsersMapper;
|
use OCA\Deck\Db\AssignedUsersMapper;
|
||||||
use OCA\Deck\Db\Attachment;
|
|
||||||
use OCA\Deck\Db\AttachmentMapper;
|
|
||||||
use OCA\Deck\Db\Board;
|
use OCA\Deck\Db\Board;
|
||||||
use OCA\Deck\Db\BoardMapper;
|
use OCA\Deck\Db\BoardMapper;
|
||||||
use OCA\Deck\Db\Card;
|
use OCA\Deck\Db\Card;
|
||||||
use OCA\Deck\Db\CardMapper;
|
use OCA\Deck\Db\CardMapper;
|
||||||
use OCA\Deck\Db\Stack;
|
use OCA\Deck\Db\Stack;
|
||||||
use OCA\Deck\Db\StackMapper;
|
use OCA\Deck\Db\StackMapper;
|
||||||
use OCA\Deck\InvalidAttachmentType;
|
|
||||||
use OCA\Deck\Service\AttachmentService;
|
|
||||||
use OCA\Deck\Service\BoardService;
|
use OCA\Deck\Service\BoardService;
|
||||||
use OCA\Deck\Service\IAttachmentService;
|
|
||||||
use OCP\IGroupManager;
|
use OCP\IGroupManager;
|
||||||
use OCP\IUser;
|
|
||||||
use OCP\IUserManager;
|
use OCP\IUserManager;
|
||||||
use Symfony\Component\Console\Input\InputInterface;
|
use Symfony\Component\Console\Input\InputInterface;
|
||||||
use Symfony\Component\Console\Output\OutputInterface;
|
use Symfony\Component\Console\Output\OutputInterface;
|
||||||
|
|
||||||
class UserExportTest extends \Test\TestCase {
|
class UserExportTest extends \Test\TestCase {
|
||||||
|
|
||||||
protected $boardMapper;
|
protected $boardMapper;
|
||||||
protected $boardService;
|
protected $boardService;
|
||||||
protected $stackMapper;
|
protected $stackMapper;
|
||||||
|
|||||||
@@ -23,8 +23,6 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Cron;
|
namespace OCA\Deck\Cron;
|
||||||
|
|
||||||
use OCA\Deck\Db\Board;
|
|
||||||
use OCA\Deck\Db\BoardMapper;
|
|
||||||
use OCA\Deck\Db\Card;
|
use OCA\Deck\Db\Card;
|
||||||
use OCA\Deck\Db\CardMapper;
|
use OCA\Deck\Db\CardMapper;
|
||||||
use OCA\Deck\Notification\NotificationHelper;
|
use OCA\Deck\Notification\NotificationHelper;
|
||||||
|
|||||||
@@ -30,9 +30,8 @@ use Test\AppFramework\Db\MapperTestUtility;
|
|||||||
/**
|
/**
|
||||||
* @group DB
|
* @group DB
|
||||||
*/
|
*/
|
||||||
class AclMapperTest extends MapperTestUtility {
|
class AclMapperTest extends MapperTestUtility {
|
||||||
|
private $dbConnection;
|
||||||
private $dbConnection;
|
|
||||||
private $aclMapper;
|
private $aclMapper;
|
||||||
private $boardMapper;
|
private $boardMapper;
|
||||||
private $userManager;
|
private $userManager;
|
||||||
@@ -46,33 +45,33 @@ class AclMapperTest extends MapperTestUtility {
|
|||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
$this->dbConnection = \OC::$server->getDatabaseConnection();
|
$this->dbConnection = \OC::$server->getDatabaseConnection();
|
||||||
$this->aclMapper = new AclMapper($this->dbConnection);
|
$this->aclMapper = new AclMapper($this->dbConnection);
|
||||||
$this->userManager = $this->createMock(IUserManager::class);
|
$this->userManager = $this->createMock(IUserManager::class);
|
||||||
$this->groupManager = $this->createMock(IGroupManager::class);
|
$this->groupManager = $this->createMock(IGroupManager::class);
|
||||||
$this->boardMapper = new BoardMapper(
|
$this->boardMapper = new BoardMapper(
|
||||||
$this->dbConnection,
|
$this->dbConnection,
|
||||||
\OC::$server->query(LabelMapper::class),
|
\OC::$server->query(LabelMapper::class),
|
||||||
$this->aclMapper,
|
$this->aclMapper,
|
||||||
\OC::$server->query(StackMapper::class),
|
\OC::$server->query(StackMapper::class),
|
||||||
$this->userManager,
|
$this->userManager,
|
||||||
$this->groupManager
|
$this->groupManager
|
||||||
);
|
);
|
||||||
|
|
||||||
$this->boards = [
|
$this->boards = [
|
||||||
$this->boardMapper->insert($this->getBoard('MyBoard 1', 'user1')),
|
$this->boardMapper->insert($this->getBoard('MyBoard 1', 'user1')),
|
||||||
$this->boardMapper->insert($this->getBoard('MyBoard 2', 'user2')),
|
$this->boardMapper->insert($this->getBoard('MyBoard 2', 'user2')),
|
||||||
$this->boardMapper->insert($this->getBoard('MyBoard 3', 'user3'))
|
$this->boardMapper->insert($this->getBoard('MyBoard 3', 'user3'))
|
||||||
];
|
];
|
||||||
$this->acls = [
|
$this->acls = [
|
||||||
$this->aclMapper->insert($this->getAcl('user','user1', false, false, false, $this->boards[1]->getId())),
|
$this->aclMapper->insert($this->getAcl('user','user1', false, false, false, $this->boards[1]->getId())),
|
||||||
$this->aclMapper->insert($this->getAcl('user','user2', true, false, false, $this->boards[0]->getId())),
|
$this->aclMapper->insert($this->getAcl('user','user2', true, false, false, $this->boards[0]->getId())),
|
||||||
$this->aclMapper->insert($this->getAcl('user','user3', true, true, false, $this->boards[0]->getId())),
|
$this->aclMapper->insert($this->getAcl('user','user3', true, true, false, $this->boards[0]->getId())),
|
||||||
$this->aclMapper->insert($this->getAcl('user','user1', false, false, false, $this->boards[2]->getId()))
|
$this->aclMapper->insert($this->getAcl('user','user1', false, false, false, $this->boards[2]->getId()))
|
||||||
];
|
];
|
||||||
|
|
||||||
foreach ($this->acls as $acl) {
|
foreach ($this->acls as $acl) {
|
||||||
$acl->resetUpdatedFields();
|
$acl->resetUpdatedFields();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/** @return Acl */
|
/** @return Acl */
|
||||||
public function getAcl($type='user', $participant='admin', $edit=false, $share=false, $manage=false, $boardId=123) {
|
public function getAcl($type='user', $participant='admin', $edit=false, $share=false, $manage=false, $boardId=123) {
|
||||||
@@ -88,39 +87,38 @@ class AclMapperTest extends MapperTestUtility {
|
|||||||
|
|
||||||
/** @return Board */
|
/** @return Board */
|
||||||
public function getBoard($title, $owner) {
|
public function getBoard($title, $owner) {
|
||||||
$board = new Board();
|
$board = new Board();
|
||||||
$board->setTitle($title);
|
$board->setTitle($title);
|
||||||
$board->setOwner($owner);
|
$board->setOwner($owner);
|
||||||
return $board;
|
return $board;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testFindAllDatabase() {
|
public function testFindAllDatabase() {
|
||||||
$actual = $this->aclMapper->findAll($this->boards[0]->getId());
|
$actual = $this->aclMapper->findAll($this->boards[0]->getId());
|
||||||
$expected = [$this->acls[1], $this->acls[2]];
|
$expected = [$this->acls[1], $this->acls[2]];
|
||||||
$this->assertEquals($expected, $actual);
|
$this->assertEquals($expected, $actual);
|
||||||
}
|
}
|
||||||
public function testIsOwnerDatabase() {
|
public function testIsOwnerDatabase() {
|
||||||
$this->assertTrue($this->aclMapper->isOwner('user2', $this->acls[0]->getId()));
|
$this->assertTrue($this->aclMapper->isOwner('user2', $this->acls[0]->getId()));
|
||||||
$this->assertTrue($this->aclMapper->isOwner('user1', $this->acls[1]->getId()));
|
$this->assertTrue($this->aclMapper->isOwner('user1', $this->acls[1]->getId()));
|
||||||
$this->assertTrue($this->aclMapper->isOwner('user1', $this->acls[2]->getId()));
|
$this->assertTrue($this->aclMapper->isOwner('user1', $this->acls[2]->getId()));
|
||||||
$this->assertTrue($this->aclMapper->isOwner('user3', $this->acls[3]->getId()));
|
$this->assertTrue($this->aclMapper->isOwner('user3', $this->acls[3]->getId()));
|
||||||
$this->assertFalse($this->aclMapper->isOwner('user3', $this->acls[0]->getId()));
|
$this->assertFalse($this->aclMapper->isOwner('user3', $this->acls[0]->getId()));
|
||||||
$this->assertFalse($this->aclMapper->isOwner('user1', $this->acls[0]->getId()));
|
$this->assertFalse($this->aclMapper->isOwner('user1', $this->acls[0]->getId()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testFindBoardIdDatabase() {
|
public function testFindBoardIdDatabase() {
|
||||||
$this->assertEquals($this->boards[0]->getId(), $this->aclMapper->findBoardId($this->acls[1]->getId()));
|
$this->assertEquals($this->boards[0]->getId(), $this->aclMapper->findBoardId($this->acls[1]->getId()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function tearDown(): void {
|
public function tearDown(): void {
|
||||||
parent::tearDown();
|
parent::tearDown();
|
||||||
foreach ($this->acls as $acl) {
|
foreach ($this->acls as $acl) {
|
||||||
$this->aclMapper->delete($acl);
|
$this->aclMapper->delete($acl);
|
||||||
}
|
}
|
||||||
foreach ($this->boards as $board) {
|
foreach ($this->boards as $board) {
|
||||||
$this->boardMapper->delete($board);
|
$this->boardMapper->delete($board);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,6 @@
|
|||||||
namespace OCA\Deck\Db;
|
namespace OCA\Deck\Db;
|
||||||
|
|
||||||
class AclTest extends \Test\TestCase {
|
class AclTest extends \Test\TestCase {
|
||||||
|
|
||||||
private function createAclUser() {
|
private function createAclUser() {
|
||||||
$acl = new Acl();
|
$acl = new Acl();
|
||||||
$acl->setId(1);
|
$acl->setId(1);
|
||||||
@@ -103,7 +102,6 @@ class AclTest extends \Test\TestCase {
|
|||||||
$this->assertEquals(false, $acl->getPermission(Acl::PERMISSION_EDIT));
|
$this->assertEquals(false, $acl->getPermission(Acl::PERMISSION_EDIT));
|
||||||
$this->assertEquals(false, $acl->getPermission(Acl::PERMISSION_MANAGE));
|
$this->assertEquals(false, $acl->getPermission(Acl::PERMISSION_MANAGE));
|
||||||
$this->assertEquals(false, $acl->getPermission(Acl::PERMISSION_SHARE));
|
$this->assertEquals(false, $acl->getPermission(Acl::PERMISSION_SHARE));
|
||||||
$this->assertEquals(false, $acl->getPermission(5));
|
$this->assertEquals(false, $acl->getPermission(5));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -25,17 +25,16 @@ namespace OCA\Deck\Db;
|
|||||||
|
|
||||||
use OCP\AppFramework\Db\DoesNotExistException;
|
use OCP\AppFramework\Db\DoesNotExistException;
|
||||||
use OCP\IDBConnection;
|
use OCP\IDBConnection;
|
||||||
use OCP\IGroupManager;
|
|
||||||
use OCP\IUserManager;
|
use OCP\IUserManager;
|
||||||
use Test\AppFramework\Db\MapperTestUtility;
|
use Test\AppFramework\Db\MapperTestUtility;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @group DB
|
* @group DB
|
||||||
*/
|
*/
|
||||||
class AttachmentMapperTest extends MapperTestUtility {
|
class AttachmentMapperTest extends MapperTestUtility {
|
||||||
|
|
||||||
/** @var IDBConnection */
|
/** @var IDBConnection */
|
||||||
private $dbConnection;
|
private $dbConnection;
|
||||||
/** @var AttachmentMapper */
|
/** @var AttachmentMapper */
|
||||||
private $attachmentMapper;
|
private $attachmentMapper;
|
||||||
/** @var IUserManager|\PHPUnit\Framework\MockObject\MockObject */
|
/** @var IUserManager|\PHPUnit\Framework\MockObject\MockObject */
|
||||||
@@ -54,13 +53,13 @@ class AttachmentMapperTest extends MapperTestUtility {
|
|||||||
$this->cardMapper = $this->createMock(CardMapper::class);
|
$this->cardMapper = $this->createMock(CardMapper::class);
|
||||||
|
|
||||||
$this->dbConnection = \OC::$server->getDatabaseConnection();
|
$this->dbConnection = \OC::$server->getDatabaseConnection();
|
||||||
$this->attachmentMapper = new AttachmentMapper(
|
$this->attachmentMapper = new AttachmentMapper(
|
||||||
$this->dbConnection,
|
$this->dbConnection,
|
||||||
$this->cardMapper,
|
$this->cardMapper,
|
||||||
$this->userManager
|
$this->userManager
|
||||||
);
|
);
|
||||||
$this->attachments = [
|
$this->attachments = [
|
||||||
$this->createAttachmentEntity(1, 'deck_file', 'file1.pdf'),
|
$this->createAttachmentEntity(1, 'deck_file', 'file1.pdf'),
|
||||||
$this->createAttachmentEntity(1, 'deck_file', 'file2.pdf'),
|
$this->createAttachmentEntity(1, 'deck_file', 'file2.pdf'),
|
||||||
$this->createAttachmentEntity(2, 'deck_file', 'file3.pdf'),
|
$this->createAttachmentEntity(2, 'deck_file', 'file3.pdf'),
|
||||||
$this->createAttachmentEntity(3, 'deck_file', 'file4.pdf')
|
$this->createAttachmentEntity(3, 'deck_file', 'file4.pdf')
|
||||||
@@ -138,11 +137,10 @@ class AttachmentMapperTest extends MapperTestUtility {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function tearDown(): void {
|
public function tearDown(): void {
|
||||||
parent::tearDown();
|
parent::tearDown();
|
||||||
foreach ($this->attachments as $attachment) {
|
foreach ($this->attachments as $attachment) {
|
||||||
$this->attachmentMapper->delete($attachment);
|
$this->attachmentMapper->delete($attachment);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,11 +31,11 @@ use Test\AppFramework\Db\MapperTestUtility;
|
|||||||
/**
|
/**
|
||||||
* @group DB
|
* @group DB
|
||||||
*/
|
*/
|
||||||
class BoardMapperTest extends MapperTestUtility {
|
class BoardMapperTest extends MapperTestUtility {
|
||||||
|
|
||||||
/** @var IDBConnection */
|
/** @var IDBConnection */
|
||||||
private $dbConnection;
|
private $dbConnection;
|
||||||
/** @var AclMapper|\PHPUnit\Framework\MockObject\MockObject */
|
/** @var AclMapper|\PHPUnit\Framework\MockObject\MockObject */
|
||||||
private $aclMapper;
|
private $aclMapper;
|
||||||
/** @var BoardMapper */
|
/** @var BoardMapper */
|
||||||
private $boardMapper;
|
private $boardMapper;
|
||||||
@@ -55,35 +55,35 @@ class BoardMapperTest extends MapperTestUtility {
|
|||||||
$this->groupManager = $this->createMock(IGroupManager::class);
|
$this->groupManager = $this->createMock(IGroupManager::class);
|
||||||
|
|
||||||
$this->dbConnection = \OC::$server->getDatabaseConnection();
|
$this->dbConnection = \OC::$server->getDatabaseConnection();
|
||||||
$this->boardMapper = new BoardMapper(
|
$this->boardMapper = new BoardMapper(
|
||||||
$this->dbConnection,
|
$this->dbConnection,
|
||||||
\OC::$server->query(LabelMapper::class),
|
\OC::$server->query(LabelMapper::class),
|
||||||
\OC::$server->query(AclMapper::class),
|
\OC::$server->query(AclMapper::class),
|
||||||
\OC::$server->query(StackMapper::class),
|
\OC::$server->query(StackMapper::class),
|
||||||
$this->userManager,
|
$this->userManager,
|
||||||
$this->groupManager
|
$this->groupManager
|
||||||
);
|
);
|
||||||
$this->aclMapper = \OC::$server->query(AclMapper::class);
|
$this->aclMapper = \OC::$server->query(AclMapper::class);
|
||||||
$this->labelMapper = \OC::$server->query(LabelMapper::class);
|
$this->labelMapper = \OC::$server->query(LabelMapper::class);
|
||||||
|
|
||||||
$this->boards = [
|
$this->boards = [
|
||||||
$this->boardMapper->insert($this->getBoard('MyBoard 1', 'user1')),
|
$this->boardMapper->insert($this->getBoard('MyBoard 1', 'user1')),
|
||||||
$this->boardMapper->insert($this->getBoard('MyBoard 2', 'user2')),
|
$this->boardMapper->insert($this->getBoard('MyBoard 2', 'user2')),
|
||||||
$this->boardMapper->insert($this->getBoard('MyBoard 3', 'user3'))
|
$this->boardMapper->insert($this->getBoard('MyBoard 3', 'user3'))
|
||||||
];
|
];
|
||||||
$this->acls = [
|
$this->acls = [
|
||||||
$this->aclMapper->insert($this->getAcl('user','user1', false, false, false, $this->boards[1]->getId())),
|
$this->aclMapper->insert($this->getAcl('user','user1', false, false, false, $this->boards[1]->getId())),
|
||||||
$this->aclMapper->insert($this->getAcl('user','user2', true, false, false, $this->boards[0]->getId())),
|
$this->aclMapper->insert($this->getAcl('user','user2', true, false, false, $this->boards[0]->getId())),
|
||||||
$this->aclMapper->insert($this->getAcl('user','user3', true, true, false, $this->boards[0]->getId())),
|
$this->aclMapper->insert($this->getAcl('user','user3', true, true, false, $this->boards[0]->getId())),
|
||||||
$this->aclMapper->insert($this->getAcl('user','user1', false, false, false, $this->boards[2]->getId()))
|
$this->aclMapper->insert($this->getAcl('user','user1', false, false, false, $this->boards[2]->getId()))
|
||||||
];
|
];
|
||||||
|
|
||||||
foreach ($this->acls as $acl) {
|
foreach ($this->acls as $acl) {
|
||||||
$acl->resetUpdatedFields();
|
$acl->resetUpdatedFields();
|
||||||
}
|
}
|
||||||
foreach ($this->boards as $board) {
|
foreach ($this->boards as $board) {
|
||||||
$board->resetUpdatedFields();
|
$board->resetUpdatedFields();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/** @return Acl */
|
/** @return Acl */
|
||||||
public function getAcl($type='user', $participant='admin', $edit=false, $share=false, $manage=false, $boardId=123) {
|
public function getAcl($type='user', $participant='admin', $edit=false, $share=false, $manage=false, $boardId=123) {
|
||||||
@@ -99,20 +99,20 @@ class BoardMapperTest extends MapperTestUtility {
|
|||||||
|
|
||||||
/** @return Board */
|
/** @return Board */
|
||||||
public function getBoard($title, $owner) {
|
public function getBoard($title, $owner) {
|
||||||
$board = new Board();
|
$board = new Board();
|
||||||
$board->setTitle($title);
|
$board->setTitle($title);
|
||||||
$board->setOwner($owner);
|
$board->setOwner($owner);
|
||||||
return $board;
|
return $board;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testFind() {
|
public function testFind() {
|
||||||
$actual = $this->boardMapper->find($this->boards[0]->getId());
|
$actual = $this->boardMapper->find($this->boards[0]->getId());
|
||||||
/** @var Board $expected */
|
/** @var Board $expected */
|
||||||
$expected = clone $this->boards[0];
|
$expected = clone $this->boards[0];
|
||||||
$expected->setShared(-1);
|
$expected->setShared(-1);
|
||||||
$expected->resetUpdatedFields();
|
$expected->resetUpdatedFields();
|
||||||
$this->assertEquals($expected, $actual);
|
$this->assertEquals($expected, $actual);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testFindAllByUser() {
|
public function testFindAllByUser() {
|
||||||
$actual = $this->boardMapper->findAllByUser('user1');
|
$actual = $this->boardMapper->findAllByUser('user1');
|
||||||
@@ -123,7 +123,7 @@ class BoardMapperTest extends MapperTestUtility {
|
|||||||
];
|
];
|
||||||
foreach ($expected as $e) {
|
foreach ($expected as $e) {
|
||||||
foreach ($actual as $a) {
|
foreach ($actual as $a) {
|
||||||
if($e->getId() === $a->getId()) {
|
if ($e->getId() === $a->getId()) {
|
||||||
$this->assertEquals($e->getTitle(), $a->getTitle());
|
$this->assertEquals($e->getTitle(), $a->getTitle());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -149,27 +149,26 @@ class BoardMapperTest extends MapperTestUtility {
|
|||||||
$this->boardMapper->update($this->boards[0]);
|
$this->boardMapper->update($this->boards[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testFindWithLabels() {
|
public function testFindWithLabels() {
|
||||||
$actual = $this->boardMapper->find($this->boards[0]->getId(), true, false);
|
$actual = $this->boardMapper->find($this->boards[0]->getId(), true, false);
|
||||||
/** @var Board $expected */
|
/** @var Board $expected */
|
||||||
$expected = $this->boards[0];
|
$expected = $this->boards[0];
|
||||||
$this->assertEquals($expected->getLabels(), $actual->getLabels());
|
$this->assertEquals($expected->getLabels(), $actual->getLabels());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testFindWithAcl() {
|
public function testFindWithAcl() {
|
||||||
$actual = $this->boardMapper->find($this->boards[0]->getId(), false, true);
|
$actual = $this->boardMapper->find($this->boards[0]->getId(), false, true);
|
||||||
$expected = [$this->acls[1], $this->acls[2]];
|
$expected = [$this->acls[1], $this->acls[2]];
|
||||||
$this->assertEquals($expected, $actual->getAcl());
|
$this->assertEquals($expected, $actual->getAcl());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function tearDown(): void {
|
|
||||||
parent::tearDown();
|
|
||||||
foreach ($this->acls as $acl) {
|
|
||||||
$this->aclMapper->delete($acl);
|
|
||||||
}
|
|
||||||
foreach ($this->boards as $board) {
|
|
||||||
$this->boardMapper->delete($board);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
public function tearDown(): void {
|
||||||
|
parent::tearDown();
|
||||||
|
foreach ($this->acls as $acl) {
|
||||||
|
$this->aclMapper->delete($acl);
|
||||||
|
}
|
||||||
|
foreach ($this->boards as $board) {
|
||||||
|
$this->boardMapper->delete($board);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,12 +23,12 @@ class BoardTest extends TestCase {
|
|||||||
'title' => "My Board",
|
'title' => "My Board",
|
||||||
'owner' => "admin",
|
'owner' => "admin",
|
||||||
'color' => "000000",
|
'color' => "000000",
|
||||||
'labels' => array(),
|
'labels' => [],
|
||||||
'permissions' => [],
|
'permissions' => [],
|
||||||
'stacks' => [],
|
'stacks' => [],
|
||||||
'deletedAt' => 0,
|
'deletedAt' => 0,
|
||||||
'lastModified' => 0,
|
'lastModified' => 0,
|
||||||
'acl' => array(),
|
'acl' => [],
|
||||||
'archived' => false,
|
'archived' => false,
|
||||||
'users' => ['user1', 'user2'],
|
'users' => ['user1', 'user2'],
|
||||||
], $board->jsonSerialize());
|
], $board->jsonSerialize());
|
||||||
@@ -36,18 +36,18 @@ class BoardTest extends TestCase {
|
|||||||
|
|
||||||
public function testSetLabels() {
|
public function testSetLabels() {
|
||||||
$board = $this->createBoard();
|
$board = $this->createBoard();
|
||||||
$board->setLabels(array("foo", "bar"));
|
$board->setLabels(["foo", "bar"]);
|
||||||
$this->assertEquals([
|
$this->assertEquals([
|
||||||
'id' => 1,
|
'id' => 1,
|
||||||
'title' => "My Board",
|
'title' => "My Board",
|
||||||
'owner' => "admin",
|
'owner' => "admin",
|
||||||
'color' => "000000",
|
'color' => "000000",
|
||||||
'labels' => array("foo", "bar"),
|
'labels' => ["foo", "bar"],
|
||||||
'permissions' => [],
|
'permissions' => [],
|
||||||
'stacks' => [],
|
'stacks' => [],
|
||||||
'deletedAt' => 0,
|
'deletedAt' => 0,
|
||||||
'lastModified' => 0,
|
'lastModified' => 0,
|
||||||
'acl' => array(),
|
'acl' => [],
|
||||||
'archived' => false,
|
'archived' => false,
|
||||||
'users' => [],
|
'users' => [],
|
||||||
], $board->jsonSerialize());
|
], $board->jsonSerialize());
|
||||||
@@ -56,7 +56,7 @@ class BoardTest extends TestCase {
|
|||||||
$acl = new Acl();
|
$acl = new Acl();
|
||||||
$acl->setId(1);
|
$acl->setId(1);
|
||||||
$board = $this->createBoard();
|
$board = $this->createBoard();
|
||||||
$board->setAcl(array($acl));
|
$board->setAcl([$acl]);
|
||||||
$result = $board->getAcl()[0];
|
$result = $board->getAcl()[0];
|
||||||
$this->assertEquals($acl, $result);
|
$this->assertEquals($acl, $result);
|
||||||
}
|
}
|
||||||
@@ -68,12 +68,12 @@ class BoardTest extends TestCase {
|
|||||||
'title' => "My Board",
|
'title' => "My Board",
|
||||||
'owner' => "admin",
|
'owner' => "admin",
|
||||||
'color' => "000000",
|
'color' => "000000",
|
||||||
'labels' => array(),
|
'labels' => [],
|
||||||
'permissions' => [],
|
'permissions' => [],
|
||||||
'stacks' => [],
|
'stacks' => [],
|
||||||
'deletedAt' => 0,
|
'deletedAt' => 0,
|
||||||
'lastModified' => 0,
|
'lastModified' => 0,
|
||||||
'acl' => array(),
|
'acl' => [],
|
||||||
'archived' => false,
|
'archived' => false,
|
||||||
'shared' => 1,
|
'shared' => 1,
|
||||||
'users' => [],
|
'users' => [],
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ class CardTest extends TestCase {
|
|||||||
}
|
}
|
||||||
public function testJsonSerializeLabels() {
|
public function testJsonSerializeLabels() {
|
||||||
$card = $this->createCard();
|
$card = $this->createCard();
|
||||||
$card->setLabels(array());
|
$card->setLabels([]);
|
||||||
$this->assertEquals([
|
$this->assertEquals([
|
||||||
'id' => 1,
|
'id' => 1,
|
||||||
'title' => "My Card",
|
'title' => "My Card",
|
||||||
@@ -99,7 +99,7 @@ class CardTest extends TestCase {
|
|||||||
'owner' => 'admin',
|
'owner' => 'admin',
|
||||||
'order' => 12,
|
'order' => 12,
|
||||||
'stackId' => 1,
|
'stackId' => 1,
|
||||||
'labels' => array(),
|
'labels' => [],
|
||||||
'duedate' => null,
|
'duedate' => null,
|
||||||
'overdue' => 0,
|
'overdue' => 0,
|
||||||
'archived' => false,
|
'archived' => false,
|
||||||
@@ -123,7 +123,7 @@ class CardTest extends TestCase {
|
|||||||
public function testJsonSerializeAsignedUsers() {
|
public function testJsonSerializeAsignedUsers() {
|
||||||
$card = $this->createCard();
|
$card = $this->createCard();
|
||||||
$card->setAssignedUsers([ 'user1' ]);
|
$card->setAssignedUsers([ 'user1' ]);
|
||||||
$card->setLabels(array());
|
$card->setLabels([]);
|
||||||
$this->assertEquals([
|
$this->assertEquals([
|
||||||
'id' => 1,
|
'id' => 1,
|
||||||
'title' => "My Card",
|
'title' => "My Card",
|
||||||
@@ -134,7 +134,7 @@ class CardTest extends TestCase {
|
|||||||
'owner' => 'admin',
|
'owner' => 'admin',
|
||||||
'order' => 12,
|
'order' => 12,
|
||||||
'stackId' => 1,
|
'stackId' => 1,
|
||||||
'labels' => array(),
|
'labels' => [],
|
||||||
'duedate' => null,
|
'duedate' => null,
|
||||||
'overdue' => 0,
|
'overdue' => 0,
|
||||||
'archived' => false,
|
'archived' => false,
|
||||||
@@ -146,5 +146,4 @@ class CardTest extends TestCase {
|
|||||||
'lastEditor' => null,
|
'lastEditor' => null,
|
||||||
], $card->jsonSerialize());
|
], $card->jsonSerialize());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ namespace OCA\Deck\Db;
|
|||||||
use OCP\IGroup;
|
use OCP\IGroup;
|
||||||
|
|
||||||
class GroupTest extends \Test\TestCase {
|
class GroupTest extends \Test\TestCase {
|
||||||
|
|
||||||
public function testGroupObjectSerialize() {
|
public function testGroupObjectSerialize() {
|
||||||
/** @var IGroup $group */
|
/** @var IGroup $group */
|
||||||
$group = $this->createMock(IGroup::class);
|
$group = $this->createMock(IGroup::class);
|
||||||
|
|||||||
@@ -37,14 +37,13 @@ class LabelTest extends TestCase {
|
|||||||
$label = $this->createLabel();
|
$label = $this->createLabel();
|
||||||
$label->setBoardId(123);
|
$label->setBoardId(123);
|
||||||
$this->assertEquals([
|
$this->assertEquals([
|
||||||
'id' => 1,
|
'id' => 1,
|
||||||
'title' => 'My Label',
|
'title' => 'My Label',
|
||||||
'boardId' => 123,
|
'boardId' => 123,
|
||||||
'cardId' => null,
|
'cardId' => null,
|
||||||
'lastModified' => null,
|
'lastModified' => null,
|
||||||
'color' => '000000'
|
'color' => '000000'
|
||||||
], $label->jsonSerialize());
|
], $label->jsonSerialize());
|
||||||
|
|
||||||
}
|
}
|
||||||
public function testJsonSerializeCard() {
|
public function testJsonSerializeCard() {
|
||||||
$label = $this->createLabel();
|
$label = $this->createLabel();
|
||||||
@@ -57,8 +56,5 @@ class LabelTest extends TestCase {
|
|||||||
'lastModified' => null,
|
'lastModified' => null,
|
||||||
'color' => '000000'
|
'color' => '000000'
|
||||||
], $label->jsonSerialize());
|
], $label->jsonSerialize());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user