Create new DI shorthands for notification-related factories

This commit is contained in:
Hypolite Petovan 2021-09-19 12:56:24 -04:00
parent 7a2d5f6a8e
commit 8a1a2f658c
4 changed files with 19 additions and 9 deletions

View file

@ -30,7 +30,6 @@ use Friendica\Model\Item;
use Friendica\Model\Notification; use Friendica\Model\Notification;
use Friendica\Model\Post; use Friendica\Model\Post;
use Friendica\Model\User; use Friendica\Model\User;
use Friendica\Model\Verb;
use Friendica\Navigation\Notifications; use Friendica\Navigation\Notifications;
use Friendica\Protocol\Activity; use Friendica\Protocol\Activity;
@ -396,10 +395,7 @@ function notification_store_and_send($params, $sitelink, $tsitelink, $hsitelink,
$notify_id = 0; $notify_id = 0;
if ($show_in_notification_page) { if ($show_in_notification_page) {
/** @var $factory Notifications\Factory\Notify */ $Notify = DI::notifyFactory()->createFromParams($params, $itemlink, $item_id, $uri_id, $parent_id, $parent_uri_id);
$factory = DI::getDice()->create(Notifications\Factory\Notify::class);
$Notify = $factory->createFromParams($params, $itemlink, $item_id, $uri_id, $parent_id, $parent_uri_id);
try { try {
$Notify = DI::notify()->save($Notify); $Notify = DI::notify()->save($Notify);
} catch (Notifications\Exception\NotificationCreationInterceptedException $e) { } catch (Notifications\Exception\NotificationCreationInterceptedException $e) {
@ -572,7 +568,7 @@ function notification_from_array(Notifications\Entity\Notification $Notification
$subject = $l10n->t('%1$s Comment to conversation #%2$d by %3$s', $subjectPrefix, $item['parent'], $contact['name']); $subject = $l10n->t('%1$s Comment to conversation #%2$d by %3$s', $subjectPrefix, $item['parent'], $contact['name']);
} }
$msg = (new Notifications\Factory\Notification(DI::logger()))->getMessageFromNotification($Notification, DI::baseUrl(), $l10n); $msg = DI::notificationFactory()->getMessageFromNotification($Notification, DI::baseUrl(), $l10n);
if (empty($msg)) { if (empty($msg)) {
Logger::info('No notification message, quitting', ['uid' => $Notification->uid, 'id' => $Notification->id, 'type' => $Notification->type]); Logger::info('No notification message, quitting', ['uid' => $Notification->uid, 'id' => $Notification->id, 'type' => $Notification->type]);
return false; return false;

View file

@ -463,11 +463,26 @@ abstract class DI
return self::$dice->create(Navigation\Notifications\Depository\Notification::class); return self::$dice->create(Navigation\Notifications\Depository\Notification::class);
} }
public static function notificationFactory(): Navigation\Notifications\Factory\Notification
{
return self::$dice->create(Navigation\Notifications\Factory\Notification::class);
}
public static function notify(): Navigation\Notifications\Depository\Notify public static function notify(): Navigation\Notifications\Depository\Notify
{ {
return self::$dice->create(Navigation\Notifications\Depository\Notify::class); return self::$dice->create(Navigation\Notifications\Depository\Notify::class);
} }
public static function notifyFactory(): Navigation\Notifications\Factory\Notify
{
return self::$dice->create(Navigation\Notifications\Factory\Notify::class);
}
public static function formattedNotificationFactory(): Navigation\Notifications\Factory\FormattedNotification
{
return self::$dice->create(Navigation\Notifications\Factory\FormattedNotification::class);
}
// //
// "Protocol" namespace instances // "Protocol" namespace instances
// //

View file

@ -46,8 +46,7 @@ class Notifications extends BaseNotifications
$notificationHeader = ''; $notificationHeader = '';
$notifications = []; $notifications = [];
/** @var \Friendica\Navigation\Notifications\Factory\FormattedNotification $factory */ $factory = DI::formattedNotificationFactory();
$factory = DI::getDice()->create(\Friendica\Navigation\Notifications\Factory\FormattedNotification::class);
if ((DI::args()->get(1) == 'network')) { if ((DI::args()->get(1) == 'network')) {
$notificationHeader = DI::l10n()->t('Network Notifications'); $notificationHeader = DI::l10n()->t('Network Notifications');

View file

@ -82,7 +82,7 @@ class PushSubscription
} }
} }
$message = (new Notifications\Factory\Notification(DI::logger()))->getMessageFromNotification($Notification, DI::baseUrl(), $l10n); $message = DI::notificationFactory()->getMessageFromNotification($Notification, DI::baseUrl(), $l10n);
$title = $message['plain'] ?: ''; $title = $message['plain'] ?: '';
$push = Subscription::create([ $push = Subscription::create([