diff --git a/lib/Db/CoreRequestBuilder.php b/lib/Db/CoreRequestBuilder.php index d16e45670..d8f96653e 100644 --- a/lib/Db/CoreRequestBuilder.php +++ b/lib/Db/CoreRequestBuilder.php @@ -150,6 +150,7 @@ class CoreRequestBuilder { 'file_target', 'permissions', 'attributes', + 'note', 'stime', 'accepted', 'expiration', diff --git a/lib/Db/ShareWrapperRequest.php b/lib/Db/ShareWrapperRequest.php index 7664a4f3e..303b78e7e 100644 --- a/lib/Db/ShareWrapperRequest.php +++ b/lib/Db/ShareWrapperRequest.php @@ -84,6 +84,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 73cf36094..77ed7f625 100644 --- a/lib/Model/ShareWrapper.php +++ b/lib/Model/ShareWrapper.php @@ -52,6 +52,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; @@ -183,6 +184,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; @@ -382,6 +393,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 !== '') { @@ -476,7 +488,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)); @@ -540,7 +553,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)); @@ -601,6 +615,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 835756b64..04591fc09 100644 --- a/lib/ShareByCircleProvider.php +++ b/lib/ShareByCircleProvider.php @@ -209,7 +209,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);