diff --git a/lib/Db/CoreRequestBuilder.php b/lib/Db/CoreRequestBuilder.php index ed2059f33..85d8d1976 100644 --- a/lib/Db/CoreRequestBuilder.php +++ b/lib/Db/CoreRequestBuilder.php @@ -170,6 +170,7 @@ class CoreRequestBuilder { 'file_target', 'permissions', 'attributes', + 'note', 'stime', 'accepted', 'expiration', diff --git a/lib/Db/ShareWrapperRequest.php b/lib/Db/ShareWrapperRequest.php index 6dca46f5d..48b759952 100644 --- a/lib/Db/ShareWrapperRequest.php +++ b/lib/Db/ShareWrapperRequest.php @@ -104,6 +104,7 @@ public function update(ShareWrapper $shareWrapper): void { ->set('uid_initiator', $qb->createNamedParameter($shareWrapper->getSharedBy())) ->set('accepted', $qb->createNamedParameter(IShare::STATUS_ACCEPTED)) ->set('permissions', $qb->createNamedParameter($shareWrapper->getPermissions())) + ->set('note', $qb->createNamedParameter($shareWrapper->getShareNote())) ->set('expiration', $qb->createNamedParameter($shareWrapper->getExpirationDate(), IQueryBuilder::PARAM_DATE)) ->set('attributes', $qb->createNamedParameter($shareAttributes)); diff --git a/lib/Model/ShareWrapper.php b/lib/Model/ShareWrapper.php index 52b791f91..dd38f8a7d 100644 --- a/lib/Model/ShareWrapper.php +++ b/lib/Model/ShareWrapper.php @@ -72,6 +72,7 @@ class ShareWrapper extends ManagedModel implements IDeserializable, IQueryRow, J private int $status = 0; private string $providerId = ''; private DateTime $shareTime; + private string $note = ''; private string $sharedWith = ''; private string $sharedBy = ''; private ?DateTime $expirationDate = null; @@ -203,6 +204,16 @@ public function getShareTime(): DateTime { return $this->shareTime; } + public function setShareNote(string $note): self { + $this->note = $note; + + return $this; + } + + public function getShareNote(): string { + return $this->note; + } + public function setSharedWith(string $sharedWith): self { $this->sharedWith = $sharedWith; @@ -402,6 +413,7 @@ public function getShare( $share->setStatus($this->getStatus()); $share->setHideDownload($this->getHideDownload()); $share->setAttributes($this->getAttributes()); + $share->setNote($this->getShareNote()); if ($this->hasShareToken()) { $password = $this->getShareToken()->getPassword(); if ($password !== '') { @@ -496,7 +508,8 @@ public function import(array $data): IDeserializable { ->setSharedBy($this->get('sharedBy', $data)) ->setShareOwner($this->get('shareOwner', $data)) ->setToken($this->get('token', $data)) - ->setShareTime($shareTime); + ->setShareTime($shareTime) + ->setShareNote($this->get('note', $data)); $this->importAttributesFromDatabase($this->get('attributes', $data)); @@ -560,7 +573,8 @@ public function importFromDatabase(array $data, string $prefix = ''): IQueryRow ->setSharedBy($this->get($prefix . 'uid_initiator', $data)) ->setShareOwner($this->get($prefix . 'uid_owner', $data)) ->setToken($this->get($prefix . 'token', $data)) - ->setShareTime($shareTime); + ->setShareTime($shareTime) + ->setShareNote($this->get($prefix . 'note', $data)); $this->importAttributesFromDatabase($this->get('attributes', $data)); @@ -621,6 +635,7 @@ public function jsonSerialize(): array { 'fileTarget' => $this->getFileTarget(), 'status' => $this->getStatus(), 'shareTime' => $this->getShareTime()->getTimestamp(), + 'note' => $this->getShareNote(), 'sharedWith' => $this->getSharedWith(), 'sharedBy' => $this->getSharedBy(), 'shareOwner' => $this->getShareOwner(), diff --git a/lib/ShareByCircleProvider.php b/lib/ShareByCircleProvider.php index 383768f6c..56596cac1 100644 --- a/lib/ShareByCircleProvider.php +++ b/lib/ShareByCircleProvider.php @@ -232,7 +232,8 @@ public function update(IShare $share): IShare { ->setShareOwner($share->getShareOwner()) ->setAttributes($share->getAttributes()) ->setSharedBy($share->getSharedBy()) - ->setExpirationDate($share->getExpirationDate()); + ->setExpirationDate($share->getExpirationDate()) + ->setShareNote($share->getNote()); $this->shareWrapperService->update($wrappedShare);