Better slack alert validation

This commit is contained in:
James Cole
2023-09-16 08:44:20 +02:00
parent 7cf7c5fcef
commit 241ad25e2f
9 changed files with 13 additions and 19 deletions

View File

@@ -126,7 +126,7 @@ class UpdateGroupInformation extends Command
return; return;
} }
if (0 !== $result) { if (0 !== $result) {
$this->friendlyPositive(sprintf('Moved %d %s objects to the correct group.', $result, str_replace('FireflyIII\\Models\\', '', $className))); $this->friendlyPositive(sprintf('User #%d: Moved %d %s objects to the correct group.', $user->id, $result, str_replace('FireflyIII\\Models\\', '', $className)));
} }
} }
} }

View File

@@ -99,9 +99,7 @@ class TestNotification extends Notification
*/ */
public function via($notifiable) public function via($notifiable)
{ {
/** @var User|null $user */ $slackUrl = app('fireflyconfig')->get('slack_webhook_url', '')->data;
$user = auth()->user();
$slackUrl = null === $user ? '' : (string)app('preferences')->getForUser(auth()->user(), 'slack_webhook_url', '')->data;
if (UrlValidator::isValidWebhookURL($slackUrl)) { if (UrlValidator::isValidWebhookURL($slackUrl)) {
return ['mail', 'slack']; return ['mail', 'slack'];
} }

View File

@@ -102,9 +102,7 @@ class UserInvitation extends Notification
*/ */
public function via($notifiable) public function via($notifiable)
{ {
/** @var User|null $user */ $slackUrl = app('fireflyconfig')->get('slack_webhook_url', '')->data;
$user = auth()->user();
$slackUrl = null === $user ? '' : (string)app('preferences')->getForUser(auth()->user(), 'slack_webhook_url', '')->data;
if (UrlValidator::isValidWebhookURL($slackUrl)) { if (UrlValidator::isValidWebhookURL($slackUrl)) {
return ['mail', 'slack']; return ['mail', 'slack'];
} }

View File

@@ -99,9 +99,7 @@ class UserRegistration extends Notification
*/ */
public function via($notifiable) public function via($notifiable)
{ {
/** @var User|null $user */ $slackUrl = app('fireflyconfig')->get('slack_webhook_url', '')->data;
$user = auth()->user();
$slackUrl = null === $user ? '' : (string)app('preferences')->getForUser(auth()->user(), 'slack_webhook_url', '')->data;
if (UrlValidator::isValidWebhookURL($slackUrl)) { if (UrlValidator::isValidWebhookURL($slackUrl)) {
return ['mail', 'slack']; return ['mail', 'slack'];
} }

View File

@@ -103,9 +103,7 @@ class VersionCheckResult extends Notification
*/ */
public function via($notifiable) public function via($notifiable)
{ {
/** @var User|null $user */ $slackUrl = app('fireflyconfig')->get('slack_webhook_url', '')->data;
$user = auth()->user();
$slackUrl = null === $user ? '' : (string)app('preferences')->getForUser(auth()->user(), 'slack_webhook_url', '')->data;
if (UrlValidator::isValidWebhookURL($slackUrl)) { if (UrlValidator::isValidWebhookURL($slackUrl)) {
return ['mail', 'slack']; return ['mail', 'slack'];
} }

View File

@@ -33,6 +33,7 @@ use Illuminate\Notifications\Notification;
use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Log;
use Illuminate\Notifications\Messages\SlackMessage; use Illuminate\Notifications\Messages\SlackMessage;
/** /**
* Class UserLogin * Class UserLogin
*/ */

View File

@@ -480,15 +480,16 @@ class User extends Authenticatable
if ($notification instanceof TestNotification) { if ($notification instanceof TestNotification) {
return app('fireflyconfig')->get('slack_webhook_url', '')->data; return app('fireflyconfig')->get('slack_webhook_url', '')->data;
} }
if ($notification instanceof UserInvitation) {
return app('fireflyconfig')->get('slack_webhook_url', '')->data;
}
if ($notification instanceof UserRegistration) { if ($notification instanceof UserRegistration) {
return app('fireflyconfig')->get('slack_webhook_url', '')->data; return app('fireflyconfig')->get('slack_webhook_url', '')->data;
} }
if ($notification instanceof VersionCheckResult) { if ($notification instanceof VersionCheckResult) {
return app('fireflyconfig')->get('slack_webhook_url', '')->data; return app('fireflyconfig')->get('slack_webhook_url', '')->data;
} }
if ($notification instanceof UserInvitation) {
return app('fireflyconfig')->get('slack_webhook_url', '')->data;
}
return app('preferences')->getForUser($this, 'slack_webhook_url', '')->data; return app('preferences')->getForUser($this, 'slack_webhook_url', '')->data;
} }
@@ -598,7 +599,7 @@ class User extends Authenticatable
*/ */
public function userGroup(): BelongsTo public function userGroup(): BelongsTo
{ {
return $this->belongsTo(UserGroup::class, ); return $this->belongsTo(UserGroup::class,);
} }
/** /**

View File

@@ -91,7 +91,7 @@
"laravel/framework": "^10", "laravel/framework": "^10",
"laravel/passport": "11.*", "laravel/passport": "11.*",
"laravel/sanctum": "^3.3", "laravel/sanctum": "^3.3",
"laravel/slack-notification-channel": "^3", "laravel/slack-notification-channel": "^3.0",
"laravel/ui": "^4.2", "laravel/ui": "^4.2",
"league/commonmark": "2.*", "league/commonmark": "2.*",
"league/csv": "^9.10", "league/csv": "^9.10",

2
composer.lock generated
View File

@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "351a9da77c2fa38c0f4f13ef059926ee", "content-hash": "639b971ea13ea3e6ed2f57f862a195b8",
"packages": [ "packages": [
{ {
"name": "bacon/bacon-qr-code", "name": "bacon/bacon-qr-code",