Emit activity events in BoardService
Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
@@ -23,6 +23,8 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Service;
|
namespace OCA\Deck\Service;
|
||||||
|
|
||||||
|
use OCA\Deck\Activity\ActivityManager;
|
||||||
|
use OCA\Deck\Activity\ChangeSet;
|
||||||
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;
|
||||||
@@ -51,6 +53,7 @@ class BoardService {
|
|||||||
private $userManager;
|
private $userManager;
|
||||||
private $groupManager;
|
private $groupManager;
|
||||||
private $userId;
|
private $userId;
|
||||||
|
private $activityManager;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
BoardMapper $boardMapper,
|
BoardMapper $boardMapper,
|
||||||
@@ -62,6 +65,7 @@ class BoardService {
|
|||||||
AssignedUsersMapper $assignedUsersMapper,
|
AssignedUsersMapper $assignedUsersMapper,
|
||||||
IUserManager $userManager,
|
IUserManager $userManager,
|
||||||
IGroupManager $groupManager,
|
IGroupManager $groupManager,
|
||||||
|
ActivityManager $activityManager,
|
||||||
$userId
|
$userId
|
||||||
) {
|
) {
|
||||||
$this->boardMapper = $boardMapper;
|
$this->boardMapper = $boardMapper;
|
||||||
@@ -73,6 +77,7 @@ class BoardService {
|
|||||||
$this->assignedUsersMapper = $assignedUsersMapper;
|
$this->assignedUsersMapper = $assignedUsersMapper;
|
||||||
$this->userManager = $userManager;
|
$this->userManager = $userManager;
|
||||||
$this->groupManager = $groupManager;
|
$this->groupManager = $groupManager;
|
||||||
|
$this->activityManager = $activityManager;
|
||||||
$this->userId = $userId;
|
$this->userId = $userId;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -270,6 +275,8 @@ class BoardService {
|
|||||||
'PERMISSION_MANAGE' => $permissions[Acl::PERMISSION_MANAGE],
|
'PERMISSION_MANAGE' => $permissions[Acl::PERMISSION_MANAGE],
|
||||||
'PERMISSION_SHARE' => $permissions[Acl::PERMISSION_SHARE]
|
'PERMISSION_SHARE' => $permissions[Acl::PERMISSION_SHARE]
|
||||||
]);
|
]);
|
||||||
|
$event = $this->activityManager->createEvent(ActivityManager::DECK_OBJECT_BOARD, $new_board, ActivityManager::SUBJECT_BOARD_CREATE);
|
||||||
|
$this->activityManager->sendToUsers($event);
|
||||||
return $new_board;
|
return $new_board;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -291,7 +298,9 @@ class BoardService {
|
|||||||
$this->permissionService->checkPermission($this->boardMapper, $id, Acl::PERMISSION_READ);
|
$this->permissionService->checkPermission($this->boardMapper, $id, Acl::PERMISSION_READ);
|
||||||
$board = $this->find($id);
|
$board = $this->find($id);
|
||||||
$board->setDeletedAt(time());
|
$board->setDeletedAt(time());
|
||||||
$this->boardMapper->update($board);
|
$board = $this->boardMapper->update($board);
|
||||||
|
$event = $this->activityManager->createEvent(ActivityManager::DECK_OBJECT_BOARD, $board, ActivityManager::SUBJECT_BOARD_DELETE);
|
||||||
|
$this->activityManager->sendToUsers($event);
|
||||||
return $board;
|
return $board;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -311,7 +320,10 @@ class BoardService {
|
|||||||
$this->permissionService->checkPermission($this->boardMapper, $id, Acl::PERMISSION_READ);
|
$this->permissionService->checkPermission($this->boardMapper, $id, Acl::PERMISSION_READ);
|
||||||
$board = $this->find($id);
|
$board = $this->find($id);
|
||||||
$board->setDeletedAt(0);
|
$board->setDeletedAt(0);
|
||||||
return $this->boardMapper->update($board);
|
$board = $this->boardMapper->update($board);
|
||||||
|
$event = $this->activityManager->createEvent(ActivityManager::DECK_OBJECT_BOARD, $board, ActivityManager::SUBJECT_BOARD_RESTORE);
|
||||||
|
$this->activityManager->sendToUsers($event);
|
||||||
|
return $board;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -363,11 +375,15 @@ class BoardService {
|
|||||||
|
|
||||||
$this->permissionService->checkPermission($this->boardMapper, $id, Acl::PERMISSION_MANAGE);
|
$this->permissionService->checkPermission($this->boardMapper, $id, Acl::PERMISSION_MANAGE);
|
||||||
$board = $this->find($id);
|
$board = $this->find($id);
|
||||||
|
$changes = new ChangeSet($board);
|
||||||
$board->setTitle($title);
|
$board->setTitle($title);
|
||||||
$board->setColor($color);
|
$board->setColor($color);
|
||||||
$board->setArchived($archived);
|
$board->setArchived($archived);
|
||||||
$this->boardMapper->mapOwner($board);
|
$changes->setAfter($board);
|
||||||
return $this->boardMapper->update($board);
|
$this->boardMapper->update($board); // operate on clone so we can check for updated fields
|
||||||
|
$this->boardMapper->mapOwner($newBoard);
|
||||||
|
$this->activityManager->triggerUpdateEvents(ActivityManager::DECK_OBJECT_BOARD, $changes->getAfter(), ActivityManager::SUBJECT_BOARD_UPDATE, $changes->getBefore());
|
||||||
|
return $board;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -422,6 +438,8 @@ class BoardService {
|
|||||||
|
|
||||||
$newAcl = $this->aclMapper->insert($acl);
|
$newAcl = $this->aclMapper->insert($acl);
|
||||||
$this->boardMapper->mapAcl($newAcl);
|
$this->boardMapper->mapAcl($newAcl);
|
||||||
|
$event = $this->activityManager->createEvent(ActivityManager::DECK_OBJECT_BOARD, $newAcl, ActivityManager::SUBJECT_BOARD_SHARE);
|
||||||
|
$this->activityManager->sendToUsers($event);
|
||||||
return $newAcl;
|
return $newAcl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user