diff options
author | Julius Härtl <jus@bitgrid.net> | 2020-11-25 12:21:27 +0300 |
---|---|---|
committer | Julius Härtl <jus@bitgrid.net> | 2020-12-02 17:26:50 +0300 |
commit | a72e87e16de818d04ca33e776d607844c85dc09d (patch) | |
tree | e46191748ecccf5ec595be4381e5b7e564be1355 /lib | |
parent | 44bdb13119e547616634d0a0a113209c8ff5c2ee (diff) |
Properly cleanup sessions when resetting a document
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Service/DocumentService.php | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/Service/DocumentService.php b/lib/Service/DocumentService.php index ccccfae59..918fe31df 100644 --- a/lib/Service/DocumentService.php +++ b/lib/Service/DocumentService.php @@ -27,6 +27,7 @@ namespace OCA\Text\Service; use \InvalidArgumentException; use OCA\Text\Db\Session; +use OCA\Text\Db\SessionMapper; use OCP\DirectEditing\IManager; use OCP\IRequest; use OCP\Lock\ILockingProvider; @@ -74,6 +75,10 @@ class DocumentService { */ private $documentMapper; /** + * @var SessionMapper + */ + private $sessionMapper; + /** * @var ILogger */ private $logger; @@ -98,9 +103,10 @@ class DocumentService { */ private $appData; - public function __construct(DocumentMapper $documentMapper, StepMapper $stepMapper, IAppData $appData, $userId, IRootFolder $rootFolder, ICacheFactory $cacheFactory, ILogger $logger, ShareManager $shareManager, IRequest $request, IManager $directManager, ILockingProvider $lockingProvider) { + public function __construct(DocumentMapper $documentMapper, StepMapper $stepMapper, SessionMapper $sessionMapper, IAppData $appData, $userId, IRootFolder $rootFolder, ICacheFactory $cacheFactory, ILogger $logger, ShareManager $shareManager, IRequest $request, IManager $directManager, ILockingProvider $lockingProvider) { $this->documentMapper = $documentMapper; $this->stepMapper = $stepMapper; + $this->sessionMapper = $sessionMapper; $this->userId = $userId; $this->appData = $appData; $this->rootFolder = $rootFolder; @@ -342,6 +348,7 @@ class DocumentService { if ($force || !$this->hasUnsavedChanges($document)) { $this->stepMapper->deleteAll($documentId); + $this->sessionMapper->deleteByDocumentId($documentId); $this->documentMapper->delete($document); try { |