Update Federated sharing notifier

Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
Joas Schilling 2019-04-12 13:48:53 +02:00
parent a386ecec8c
commit 44bc697a93
No known key found for this signature in database
GPG Key ID: 7076EA9751AACDDA
2 changed files with 22 additions and 10 deletions

View File

@ -29,15 +29,7 @@ $app = new \OCA\FederatedFileSharing\AppInfo\Application();
$eventDispatcher = \OC::$server->getEventDispatcher(); $eventDispatcher = \OC::$server->getEventDispatcher();
$manager = \OC::$server->getNotificationManager(); $manager = \OC::$server->getNotificationManager();
$manager->registerNotifier(function() { $manager->registerNotifier(Notifier::class);
return \OC::$server->query(Notifier::class);
}, function() {
$l = \OC::$server->getL10N('files_sharing');
return [
'id' => 'files_sharing',
'name' => $l->t('Federated sharing'),
];
});
$federatedShareProvider = $app->getFederatedShareProvider(); $federatedShareProvider = $app->getFederatedShareProvider();

View File

@ -59,13 +59,33 @@ class Notifier implements INotifier {
$this->cloudIdManager = $cloudIdManager; $this->cloudIdManager = $cloudIdManager;
} }
/**
* Identifier of the notifier, only use [a-z0-9_]
*
* @return string
* @since 17.0.0
*/
public function getID(): string {
return 'federatedfilesharing';
}
/**
* Human readable name describing the notifier
*
* @return string
* @since 17.0.0
*/
public function getName(): string {
return $this->factory->get('federatedfilesharing')->t('Federated sharing');
}
/** /**
* @param INotification $notification * @param INotification $notification
* @param string $languageCode The code of the language that should be used to prepare the notification * @param string $languageCode The code of the language that should be used to prepare the notification
* @return INotification * @return INotification
* @throws \InvalidArgumentException * @throws \InvalidArgumentException
*/ */
public function prepare(INotification $notification, $languageCode) { public function prepare(INotification $notification, string $languageCode): INotification {
if ($notification->getApp() !== 'files_sharing') { if ($notification->getApp() !== 'files_sharing') {
// Not my app => throw // Not my app => throw
throw new \InvalidArgumentException(); throw new \InvalidArgumentException();