diff options
author | Joas Schilling <coding@schilljs.com> | 2024-04-17 14:16:33 +0200 |
---|---|---|
committer | Joas Schilling <coding@schilljs.com> | 2024-04-17 15:36:41 +0200 |
commit | 784ab6e79abdc802b30c4290729737f3ed17f73c (patch) | |
tree | dae00f751bb123cfc1f7942c6db4748ae290b93a /lib | |
parent | 8f83953ff144fe4d0f74353bcf4e027bfee939ff (diff) | |
download | nextcloud-server-784ab6e79abdc802b30c4290729737f3ed17f73c.tar.gz nextcloud-server-784ab6e79abdc802b30c4290729737f3ed17f73c.zip |
fix(activity): Add a dedicated exception when the event is unknown to the provider
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/composer/composer/autoload_classmap.php | 1 | ||||
-rw-r--r-- | lib/composer/composer/autoload_static.php | 1 | ||||
-rw-r--r-- | lib/public/Activity/Exceptions/UnknownActivityException.php | 33 | ||||
-rw-r--r-- | lib/public/Activity/IProvider.php | 7 |
4 files changed, 41 insertions, 1 deletions
diff --git a/lib/composer/composer/autoload_classmap.php b/lib/composer/composer/autoload_classmap.php index 20ea47bbb3c..3025b32837d 100644 --- a/lib/composer/composer/autoload_classmap.php +++ b/lib/composer/composer/autoload_classmap.php @@ -16,6 +16,7 @@ return array( 'OCP\\Activity\\ActivitySettings' => $baseDir . '/lib/public/Activity/ActivitySettings.php', 'OCP\\Activity\\Exceptions\\IncompleteActivityException' => $baseDir . '/lib/public/Activity/Exceptions/IncompleteActivityException.php', 'OCP\\Activity\\Exceptions\\InvalidValueException' => $baseDir . '/lib/public/Activity/Exceptions/InvalidValueException.php', + 'OCP\\Activity\\Exceptions\\UnknownActivityException' => $baseDir . '/lib/public/Activity/Exceptions/UnknownActivityException.php', 'OCP\\Activity\\IConsumer' => $baseDir . '/lib/public/Activity/IConsumer.php', 'OCP\\Activity\\IEvent' => $baseDir . '/lib/public/Activity/IEvent.php', 'OCP\\Activity\\IEventMerger' => $baseDir . '/lib/public/Activity/IEventMerger.php', diff --git a/lib/composer/composer/autoload_static.php b/lib/composer/composer/autoload_static.php index e48cae907ae..d1125e6231d 100644 --- a/lib/composer/composer/autoload_static.php +++ b/lib/composer/composer/autoload_static.php @@ -49,6 +49,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2 'OCP\\Activity\\ActivitySettings' => __DIR__ . '/../../..' . '/lib/public/Activity/ActivitySettings.php', 'OCP\\Activity\\Exceptions\\IncompleteActivityException' => __DIR__ . '/../../..' . '/lib/public/Activity/Exceptions/IncompleteActivityException.php', 'OCP\\Activity\\Exceptions\\InvalidValueException' => __DIR__ . '/../../..' . '/lib/public/Activity/Exceptions/InvalidValueException.php', + 'OCP\\Activity\\Exceptions\\UnknownActivityException' => __DIR__ . '/../../..' . '/lib/public/Activity/Exceptions/UnknownActivityException.php', 'OCP\\Activity\\IConsumer' => __DIR__ . '/../../..' . '/lib/public/Activity/IConsumer.php', 'OCP\\Activity\\IEvent' => __DIR__ . '/../../..' . '/lib/public/Activity/IEvent.php', 'OCP\\Activity\\IEventMerger' => __DIR__ . '/../../..' . '/lib/public/Activity/IEventMerger.php', diff --git a/lib/public/Activity/Exceptions/UnknownActivityException.php b/lib/public/Activity/Exceptions/UnknownActivityException.php new file mode 100644 index 00000000000..c32e5b8450c --- /dev/null +++ b/lib/public/Activity/Exceptions/UnknownActivityException.php @@ -0,0 +1,33 @@ +<?php + +declare(strict_types=1); + +/** + * @copyright Copyright (c) 2024 Joas Schilling <coding@schilljs.com> + * + * @author Joas Schilling <coding@schilljs.com> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OCP\Activity\Exceptions; + +/** + * @since 30.0.0 + */ +class UnknownActivityException extends \InvalidArgumentException { +} diff --git a/lib/public/Activity/IProvider.php b/lib/public/Activity/IProvider.php index 9c032ebaec2..ce1934ef2df 100644 --- a/lib/public/Activity/IProvider.php +++ b/lib/public/Activity/IProvider.php @@ -22,6 +22,8 @@ */ namespace OCP\Activity; +use OCP\Activity\Exceptions\UnknownActivityException; + /** * Interface IProvider * @@ -35,8 +37,11 @@ interface IProvider { * To do so, simply use setChildEvent($previousEvent) after setting the * combined subject on the current event. * @return IEvent - * @throws \InvalidArgumentException Should be thrown if your provider does not know this event + * @throws UnknownActivityException Should be thrown if your provider does not know this event * @since 11.0.0 + * @since 30.0.0 Providers should throw {@see UnknownActivityException} instead of \InvalidArgumentException + * when they did not handle the event. Throwing \InvalidArgumentException directly is deprecated and will + * be logged as an error in Nextcloud 39. */ public function parse($language, IEvent $event, ?IEvent $previousEvent = null); } |