diff options
author | Julius Härtl <jus@bitgrid.net> | 2021-01-13 19:58:14 +0300 |
---|---|---|
committer | Julius Härtl <jus@bitgrid.net> | 2021-01-13 21:34:02 +0300 |
commit | 6cca6b1aa51c957aa188f3f30d37bc38c6bb34f1 (patch) | |
tree | 680f735379fb31b4a7e422e8853f448b96004457 /lib/Service | |
parent | 5226f52ecb26303a22018cdc245869655ec88c10 (diff) |
Keep session information as long as we need it for steps
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Diffstat (limited to 'lib/Service')
-rw-r--r-- | lib/Service/ApiService.php | 2 | ||||
-rw-r--r-- | lib/Service/SessionService.php | 15 |
2 files changed, 15 insertions, 2 deletions
diff --git a/lib/Service/ApiService.php b/lib/Service/ApiService.php index dcb107206..b7148c6d1 100644 --- a/lib/Service/ApiService.php +++ b/lib/Service/ApiService.php @@ -158,7 +158,7 @@ class ApiService { try { $result = [ 'steps' => $this->documentService->getSteps($documentId, $version), - 'sessions' => $this->sessionService->getActiveSessions($documentId), + 'sessions' => $this->sessionService->getAllSessions($documentId), 'document' => $this->documentService->get($documentId) ]; diff --git a/lib/Service/SessionService.php b/lib/Service/SessionService.php index 493172045..cb673335f 100644 --- a/lib/Service/SessionService.php +++ b/lib/Service/SessionService.php @@ -35,7 +35,7 @@ use OCP\IRequest; use OCP\Security\ISecureRandom; class SessionService { - public const SESSION_VALID_TIME = 60 * 5; + public const SESSION_VALID_TIME = 5 * 60; /** @var SessionMapper */ private $sessionMapper; @@ -117,6 +117,19 @@ class SessionService { } } + public function getAllSessions($documentId): array { + $sessions = $this->sessionMapper->findAll($documentId); + return array_map(function (Session $session) { + $result = $session->jsonSerialize(); + $userManager = \OC::$server->getUserManager(); + $user = $userManager->get($session->getUserId()); + if ($user) { + $result['displayName'] = $user->getDisplayName(); + } + return $result; + }, $sessions); + } + public function getActiveSessions($documentId): array { $sessions = $this->sessionMapper->findAllActive($documentId); return array_map(function (Session $session) { |