Clean up notifications, fix first user notification.

This commit is contained in:
James Cole 2024-12-14 07:05:08 +01:00
parent fd2c1615cf
commit 8030167ffc
No known key found for this signature in database
GPG Key ID: B49A324B7EAD6D80
8 changed files with 33 additions and 72 deletions

View File

@ -97,18 +97,6 @@ class UnknownUserLoginAttempt extends Notification
public function toNtfy(OwnerNotifiable $notifiable): Message public function toNtfy(OwnerNotifiable $notifiable): Message
{ {
$settings = ReturnsSettings::getSettings('ntfy', 'owner', null); $settings = ReturnsSettings::getSettings('ntfy', 'owner', null);
// overrule config.
config(['ntfy-notification-channel.server' => $settings['ntfy_server']]);
config(['ntfy-notification-channel.topic' => $settings['ntfy_topic']]);
if ($settings['ntfy_auth']) {
// overrule auth as well.
config(['ntfy-notification-channel.authentication.enabled' => true]);
config(['ntfy-notification-channel.authentication.username' => $settings['ntfy_user']]);
config(['ntfy-notification-channel.authentication.password' => $settings['ntfy_pass']]);
}
$message = new Message(); $message = new Message();
$message->topic($settings['ntfy_topic']); $message->topic($settings['ntfy_topic']);
$message->title((string) trans('email.unknown_user_subject')); $message->title((string) trans('email.unknown_user_subject'));

View File

@ -116,18 +116,6 @@ class UserInvitation extends Notification
{ {
Log::debug('Now in toNtfy() for UserInvitation'); Log::debug('Now in toNtfy() for UserInvitation');
$settings = ReturnsSettings::getSettings('ntfy', 'owner', null); $settings = ReturnsSettings::getSettings('ntfy', 'owner', null);
// overrule config.
config(['ntfy-notification-channel.server' => $settings['ntfy_server']]);
config(['ntfy-notification-channel.topic' => $settings['ntfy_topic']]);
if ($settings['ntfy_auth']) {
// overrule auth as well.
config(['ntfy-notification-channel.authentication.enabled' => true]);
config(['ntfy-notification-channel.authentication.username' => $settings['ntfy_user']]);
config(['ntfy-notification-channel.authentication.password' => $settings['ntfy_pass']]);
}
$message = new Message(); $message = new Message();
$message->topic($settings['ntfy_topic']); $message->topic($settings['ntfy_topic']);
$message->title((string) trans('email.invitation_created_subject')); $message->title((string) trans('email.invitation_created_subject'));

View File

@ -110,18 +110,6 @@ class UserRegistration extends Notification
{ {
Log::debug('Now in toNtfy() for (Admin) UserRegistration'); Log::debug('Now in toNtfy() for (Admin) UserRegistration');
$settings = ReturnsSettings::getSettings('ntfy', 'owner', null); $settings = ReturnsSettings::getSettings('ntfy', 'owner', null);
// overrule config.
config(['ntfy-notification-channel.server' => $settings['ntfy_server']]);
config(['ntfy-notification-channel.topic' => $settings['ntfy_topic']]);
if ($settings['ntfy_auth']) {
// overrule auth as well.
config(['ntfy-notification-channel.authentication.enabled' => true]);
config(['ntfy-notification-channel.authentication.username' => $settings['ntfy_user']]);
config(['ntfy-notification-channel.authentication.password' => $settings['ntfy_pass']]);
}
$message = new Message(); $message = new Message();
$message->topic($settings['ntfy_topic']); $message->topic($settings['ntfy_topic']);
$message->title((string) trans('email.registered_subject_admin')); $message->title((string) trans('email.registered_subject_admin'));

View File

@ -115,18 +115,6 @@ class VersionCheckResult extends Notification
{ {
Log::debug('Now in toNtfy() for VersionCheckResult'); Log::debug('Now in toNtfy() for VersionCheckResult');
$settings = ReturnsSettings::getSettings('ntfy', 'owner', null); $settings = ReturnsSettings::getSettings('ntfy', 'owner', null);
// overrule config.
config(['ntfy-notification-channel.server' => $settings['ntfy_server']]);
config(['ntfy-notification-channel.topic' => $settings['ntfy_topic']]);
if ($settings['ntfy_auth']) {
// overrule auth as well.
config(['ntfy-notification-channel.authentication.enabled' => true]);
config(['ntfy-notification-channel.authentication.username' => $settings['ntfy_user']]);
config(['ntfy-notification-channel.authentication.password' => $settings['ntfy_pass']]);
}
$message = new Message(); $message = new Message();
$message->topic($settings['ntfy_topic']); $message->topic($settings['ntfy_topic']);
$message->title((string) trans('email.new_version_email_subject')); $message->title((string) trans('email.new_version_email_subject'));

View File

@ -65,6 +65,17 @@ class ReturnsSettings
$settings['ntfy_pass'] = FireflyConfig::getEncrypted('ntfy_pass', '')->data; $settings['ntfy_pass'] = FireflyConfig::getEncrypted('ntfy_pass', '')->data;
} }
// overrule config.
config(['ntfy-notification-channel.server' => $settings['ntfy_server']]);
config(['ntfy-notification-channel.topic' => $settings['ntfy_topic']]);
if ($settings['ntfy_auth']) {
// overrule auth as well.
config(['ntfy-notification-channel.authentication.enabled' => true]);
config(['ntfy-notification-channel.authentication.username' => $settings['ntfy_user']]);
config(['ntfy-notification-channel.authentication.password' => $settings['ntfy_pass']]);
}
return $settings; return $settings;
} }
} }

View File

@ -25,12 +25,16 @@ declare(strict_types=1);
namespace FireflyIII\Notifications\Security; namespace FireflyIII\Notifications\Security;
use FireflyIII\Notifications\ReturnsAvailableChannels; use FireflyIII\Notifications\ReturnsAvailableChannels;
use FireflyIII\Notifications\ReturnsSettings;
use FireflyIII\Support\Notifications\UrlValidator; use FireflyIII\Support\Notifications\UrlValidator;
use FireflyIII\User; use FireflyIII\User;
use Illuminate\Bus\Queueable; use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Messages\MailMessage; use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Messages\SlackMessage; use Illuminate\Notifications\Messages\SlackMessage;
use Illuminate\Notifications\Notification; use Illuminate\Notifications\Notification;
use Illuminate\Support\Facades\Log;
use NotificationChannels\Pushover\PushoverMessage;
use Ntfy\Message;
class DisabledMFANotification extends Notification class DisabledMFANotification extends Notification
{ {
@ -93,6 +97,24 @@ class DisabledMFANotification extends Notification
return (new SlackMessage())->content($message); return (new SlackMessage())->content($message);
} }
public function toPushover(User $notifiable): PushoverMessage
{
Log::debug('Now in (user) toPushover()');
return PushoverMessage::create((string) trans('email.disabled_mfa_slack', ['email' => $this->user->email]))
->title((string)trans('email.disabled_mfa_subject'));
}
public function toNtfy(User $user): Message
{
$settings = ReturnsSettings::getSettings('ntfy', 'user', $user);
$message = new Message();
$message->topic($settings['ntfy_topic']);
$message->title((string)trans('email.disabled_mfa_subject'));
$message->body((string) trans('email.disabled_mfa_slack', ['email' => $this->user->email]));
return $message;
}
/** /**
* Get the notification's delivery channels. * Get the notification's delivery channels.
* *

View File

@ -68,18 +68,6 @@ class OwnerTestNotificationNtfy extends Notification
public function toNtfy(OwnerNotifiable $notifiable): Message public function toNtfy(OwnerNotifiable $notifiable): Message
{ {
$settings = ReturnsSettings::getSettings('ntfy', 'owner', null); $settings = ReturnsSettings::getSettings('ntfy', 'owner', null);
// overrule config.
config(['ntfy-notification-channel.server' => $settings['ntfy_server']]);
config(['ntfy-notification-channel.topic' => $settings['ntfy_topic']]);
if ($settings['ntfy_auth']) {
// overrule auth as well.
config(['ntfy-notification-channel.authentication.enabled' => true]);
config(['ntfy-notification-channel.authentication.username' => $settings['ntfy_user']]);
config(['ntfy-notification-channel.authentication.password' => $settings['ntfy_pass']]);
}
$message = new Message(); $message = new Message();
$message->topic($settings['ntfy_topic']); $message->topic($settings['ntfy_topic']);
$message->title((string) trans('email.admin_test_subject')); $message->title((string) trans('email.admin_test_subject'));

View File

@ -68,18 +68,6 @@ class UserTestNotificationNtfy extends Notification
public function toNtfy(User $user): Message public function toNtfy(User $user): Message
{ {
$settings = ReturnsSettings::getSettings('ntfy', 'user', $user); $settings = ReturnsSettings::getSettings('ntfy', 'user', $user);
// overrule config.
config(['ntfy-notification-channel.server' => $settings['ntfy_server']]);
config(['ntfy-notification-channel.topic' => $settings['ntfy_topic']]);
if ($settings['ntfy_auth']) {
// overrule auth as well.
config(['ntfy-notification-channel.authentication.enabled' => true]);
config(['ntfy-notification-channel.authentication.username' => $settings['ntfy_user']]);
config(['ntfy-notification-channel.authentication.password' => $settings['ntfy_pass']]);
}
$message = new Message(); $message = new Message();
$message->topic($settings['ntfy_topic']); $message->topic($settings['ntfy_topic']);
$message->title((string) trans('email.admin_test_subject')); $message->title((string) trans('email.admin_test_subject'));