Skip to content

Commit

Permalink
Merge pull request #37958 from nextcloud/artonge/fix/better_handle_ex…
Browse files Browse the repository at this point in the history
…pireDate_for_share

Mutualize expireDate handling when creating and updating a share
  • Loading branch information
blizzz authored May 3, 2023
2 parents 997efe4 + 6b53e4b commit d95ccfd
Showing 1 changed file with 19 additions and 30 deletions.
49 changes: 19 additions & 30 deletions apps/files_sharing/lib/Controller/ShareAPIController.php
Original file line number Diff line number Diff line change
Expand Up @@ -627,16 +627,6 @@ public function createShare(

$share->setSendPasswordByTalk(true);
}

//Expire date
if ($expireDate !== '') {
try {
$expireDate = $this->parseDate($expireDate);
$share->setExpirationDate($expireDate);
} catch (\Exception $e) {
throw new OCSNotFoundException($this->l->t('Invalid date, date format must be YYYY-MM-DD'));
}
}
} elseif ($shareType === IShare::TYPE_REMOTE) {
if (!$this->shareManager->outgoingServer2ServerSharesAllowed()) {
throw new OCSForbiddenException($this->l->t('Sharing %1$s failed because the back end does not allow shares from type %2$s', [$node->getPath(), $shareType]));
Expand Down Expand Up @@ -710,6 +700,16 @@ public function createShare(
throw new OCSBadRequestException($this->l->t('Unknown share type'));
}

//Expire date
if ($expireDate !== '') {
try {
$expireDate = $this->parseDate($expireDate);
$share->setExpirationDate($expireDate);
} catch (\Exception $e) {
throw new OCSNotFoundException($this->l->t('Invalid date, date format must be YYYY-MM-DD'));
}
}

$share->setShareType($shareType);

if ($note !== '') {
Expand Down Expand Up @@ -1216,17 +1216,6 @@ public function updateShare(
$permissions = $newPermissions;
}

if ($expireDate === '') {
$share->setExpirationDate(null);
} elseif ($expireDate !== null) {
try {
$expireDate = $this->parseDate($expireDate);
} catch (\Exception $e) {
throw new OCSBadRequestException($e->getMessage(), $e);
}
$share->setExpirationDate($expireDate);
}

if ($password === '') {
$share->setPassword(null);
} elseif ($password !== null) {
Expand Down Expand Up @@ -1256,17 +1245,17 @@ public function updateShare(
if ($permissions !== null) {
$share->setPermissions($permissions);
}
}

if ($expireDate === '') {
$share->setExpirationDate(null);
} elseif ($expireDate !== null) {
try {
$expireDate = $this->parseDate($expireDate);
} catch (\Exception $e) {
throw new OCSBadRequestException($e->getMessage(), $e);
}
$share->setExpirationDate($expireDate);
if ($expireDate === '') {
$share->setExpirationDate(null);
} elseif ($expireDate !== null) {
try {
$expireDate = $this->parseDate($expireDate);
} catch (\Exception $e) {
throw new OCSBadRequestException($e->getMessage(), $e);
}
$share->setExpirationDate($expireDate);
}

try {
Expand Down

0 comments on commit d95ccfd

Please sign in to comment.