Emit activity events in StackService
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\CardMapper;
|
use OCA\Deck\Db\CardMapper;
|
||||||
use OCA\Deck\Db\BoardMapper;
|
use OCA\Deck\Db\BoardMapper;
|
||||||
@@ -32,7 +34,6 @@ use OCA\Deck\Db\Stack;
|
|||||||
use OCA\Deck\Db\StackMapper;
|
use OCA\Deck\Db\StackMapper;
|
||||||
use OCA\Deck\StatusException;
|
use OCA\Deck\StatusException;
|
||||||
use OCA\Deck\BadRequestException;
|
use OCA\Deck\BadRequestException;
|
||||||
use OCP\Activity\IManager;
|
|
||||||
|
|
||||||
|
|
||||||
class StackService {
|
class StackService {
|
||||||
@@ -58,7 +59,7 @@ class StackService {
|
|||||||
CardService $cardService,
|
CardService $cardService,
|
||||||
AssignedUsersMapper $assignedUsersMapper,
|
AssignedUsersMapper $assignedUsersMapper,
|
||||||
AttachmentService $attachmentService,
|
AttachmentService $attachmentService,
|
||||||
IManager $activityManager
|
ActivityManager $activityManager
|
||||||
) {
|
) {
|
||||||
$this->stackMapper = $stackMapper;
|
$this->stackMapper = $stackMapper;
|
||||||
$this->boardMapper = $boardMapper;
|
$this->boardMapper = $boardMapper;
|
||||||
@@ -199,33 +200,10 @@ class StackService {
|
|||||||
$stack->setTitle($title);
|
$stack->setTitle($title);
|
||||||
$stack->setBoardId($boardId);
|
$stack->setBoardId($boardId);
|
||||||
$stack->setOrder($order);
|
$stack->setOrder($order);
|
||||||
$result = $this->stackMapper->insert($stack);
|
$stack = $this->stackMapper->insert($stack);
|
||||||
|
$event = $this->activityManager->createEvent(ActivityManager::DECK_OBJECT_BOARD, $stack, ActivityManager::SUBJECT_STACK_CREATE);
|
||||||
$board = $this->boardMapper->find($boardId);
|
$this->activityManager->sendToUsers($event);
|
||||||
$event = $this->activityManager->generateEvent();
|
return $stack;
|
||||||
$event->setApp('deck')
|
|
||||||
->setType('deck_own_boards')
|
|
||||||
->setAffectedUser($board->getOwner())
|
|
||||||
->setAuthor($board->getOwner())
|
|
||||||
->setObject('stack', $result->getId())
|
|
||||||
->setSubject('foo')
|
|
||||||
->setTimestamp(time());
|
|
||||||
/*->setSubject('{actor} created a new stack {stack} on {board}',
|
|
||||||
[
|
|
||||||
'actor' => $event->getAuthor(),
|
|
||||||
'stack' => [
|
|
||||||
'id' => (int) $result->getId(),
|
|
||||||
//'uri' => $calendarData['uri'],
|
|
||||||
'name' => $stack->getTitle(),
|
|
||||||
],
|
|
||||||
'board' => [
|
|
||||||
'id' => (int) $boardId,
|
|
||||||
'name' => $board->getTitle(),
|
|
||||||
],
|
|
||||||
]);*/
|
|
||||||
|
|
||||||
$this->activityManager->publish($event);
|
|
||||||
return $result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -246,10 +224,12 @@ class StackService {
|
|||||||
|
|
||||||
$stack = $this->stackMapper->find($id);
|
$stack = $this->stackMapper->find($id);
|
||||||
$stack->setDeletedAt(time());
|
$stack->setDeletedAt(time());
|
||||||
$this->stackMapper->update($stack);
|
$stack = $this->stackMapper->update($stack);
|
||||||
|
|
||||||
|
$event = $this->activityManager->createEvent(ActivityManager::DECK_OBJECT_BOARD, $stack, ActivityManager::SUBJECT_STACK_DELETE);
|
||||||
|
$this->activityManager->sendToUsers($event);
|
||||||
|
|
||||||
$this->enrichStackWithCards($stack);
|
$this->enrichStackWithCards($stack);
|
||||||
|
|
||||||
return $stack;
|
return $stack;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -289,11 +269,15 @@ class StackService {
|
|||||||
throw new StatusException('Operation not allowed. This board is archived.');
|
throw new StatusException('Operation not allowed. This board is archived.');
|
||||||
}
|
}
|
||||||
$stack = $this->stackMapper->find($id);
|
$stack = $this->stackMapper->find($id);
|
||||||
|
$changes = new ChangeSet($stack);
|
||||||
$stack->setTitle($title);
|
$stack->setTitle($title);
|
||||||
$stack->setBoardId($boardId);
|
$stack->setBoardId($boardId);
|
||||||
$stack->setOrder($order);
|
$stack->setOrder($order);
|
||||||
$stack->setDeletedAt($deletedAt);
|
$stack->setDeletedAt($deletedAt);
|
||||||
return $this->stackMapper->update($stack);
|
$changes->setAfter($stack);
|
||||||
|
$stack = $this->stackMapper->update($stack);
|
||||||
|
$this->activityManager->triggerUpdateEvents(ActivityManager::DECK_OBJECT_BOARD, $changes->getAfter(), ActivityManager::SUBJECT_STACK_UPDATE, $changes->getBefore());
|
||||||
|
return $stack;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user