Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/text.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulius Härtl <jus@bitgrid.net>2021-01-13 19:58:14 +0300
committerJulius Härtl <jus@bitgrid.net>2021-01-13 21:34:02 +0300
commit6cca6b1aa51c957aa188f3f30d37bc38c6bb34f1 (patch)
tree680f735379fb31b4a7e422e8853f448b96004457 /lib/Service
parent5226f52ecb26303a22018cdc245869655ec88c10 (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.php2
-rw-r--r--lib/Service/SessionService.php15
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) {