Skip to content

Commit

Permalink
fix(notifications): Notifier::prepare() threw \InvalidArgumentExcepti…
Browse files Browse the repository at this point in the history
…on which is deprecated

Signed-off-by: Joas Schilling <[email protected]>
  • Loading branch information
nickvergessen committed Dec 20, 2024
1 parent ae9f8c4 commit cbc3dde
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions lib/Notification/Notifier.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,17 @@

namespace OCA\Richdocuments\Notification;

use InvalidArgumentException;
use OC\User\NoUserException;
use OCA\Richdocuments\AppInfo\Application;
use OCP\Files\IRootFolder;
use OCP\Files\NotPermittedException;
use OCP\IURLGenerator;
use OCP\IUserManager;
use OCP\L10N\IFactory;
use OCP\Notification\AlreadyProcessedException;
use OCP\Notification\INotification;
use OCP\Notification\INotifier;
use OCP\Notification\UnknownNotificationException;

class Notifier implements INotifier {
public const TYPE_MENTIONED = 'mentioned';
Expand All @@ -42,7 +43,7 @@ public function getName(): string {

public function prepare(INotification $notification, string $languageCode): INotification {
if ($notification->getApp() !== Application::APPNAME) {
throw new InvalidArgumentException('Application should be text instead of ' . $notification->getApp());
throw new UnknownNotificationException('Application should be text instead of ' . $notification->getApp());
}

$l = $this->factory->get(Application::APPNAME, $languageCode);
Expand All @@ -56,18 +57,18 @@ public function prepare(INotification $notification, string $languageCode): INot
$fileId = (int)$notification->getObjectId();

if ($sourceUserDisplayName === null) {
throw new InvalidArgumentException();
throw new UnknownNotificationException();
}

try {
$userFolder = $this->rootFolder->getUserFolder($targetUser);
} catch (NotPermittedException|NoUserException $e) {
throw new InvalidArgumentException();
throw new UnknownNotificationException();
}
$node = $userFolder->getFirstNodeById($fileId);

if ($node === null) {
throw new InvalidArgumentException();
throw new AlreadyProcessedException();
}

$fileLink = $this->urlGenerator->linkToRouteAbsolute('files.viewcontroller.showFile', ['fileid' => $node->getId()]);
Expand All @@ -88,7 +89,7 @@ public function prepare(INotification $notification, string $languageCode): INot
]);
break;
default:
throw new InvalidArgumentException();
throw new UnknownNotificationException();
}
$notification->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('text', 'app-dark.svg')));
$notification->setLink($fileLink);
Expand Down

0 comments on commit cbc3dde

Please sign in to comment.