basic notify_push usage with session handling (rebased)

Signed-off-by: chandi Langecker <git@chandi.it>
This commit is contained in:
chandi Langecker
2022-08-04 14:42:27 +02:00
parent 0c69404ac9
commit fcfbcc63b4
21 changed files with 805 additions and 1 deletions

View File

@@ -34,6 +34,8 @@ use OCA\Deck\Db\CardMapper;
use OCA\Deck\Db\ChangeHelper;
use OCA\Deck\Db\IPermissionMapper;
use OCA\Deck\Db\Label;
use OCA\Deck\Db\Session;
use OCA\Deck\Db\SessionMapper;
use OCA\Deck\Db\Stack;
use OCA\Deck\Db\StackMapper;
use OCA\Deck\Event\AclCreatedEvent;
@@ -81,6 +83,7 @@ class BoardService {
private IURLGenerator $urlGenerator;
private IDBConnection $connection;
private BoardServiceValidator $boardServiceValidator;
private SessionMapper $sessionMapper;
public function __construct(
BoardMapper $boardMapper,
@@ -101,6 +104,7 @@ class BoardService {
IURLGenerator $urlGenerator,
IDBConnection $connection,
BoardServiceValidator $boardServiceValidator,
SessionMapper $sessionMapper,
?string $userId
) {
$this->boardMapper = $boardMapper;
@@ -122,6 +126,7 @@ class BoardService {
$this->urlGenerator = $urlGenerator;
$this->connection = $connection;
$this->boardServiceValidator = $boardServiceValidator;
$this->sessionMapper = $sessionMapper;
}
/**
@@ -214,6 +219,7 @@ class BoardService {
]);
$this->enrichWithUsers($board);
$this->enrichWithBoardSettings($board);
$this->enrichWithActiveSessions($board);
$this->boardsCache[$board->getId()] = $board;
return $board;
}
@@ -448,6 +454,14 @@ class BoardService {
$board->setSettings($settings);
}
public function enrichWithActiveSessions(Board $board) {
$sessions = $this->sessionMapper->findAllActive($board->getId());
$board->setActiveSessions(array_unique(array_map(function (Session $session) {
return $session->getUserId();
}, $sessions)));
}
/**
* @param $boardId
* @param $type