Browse Source

在监听站内信中增加是否开启校验

kely 10 months ago
parent
commit
c5c404bf2b

+ 4 - 0
app/Listeners/SendActionBrowserNotification.php

@@ -8,6 +8,7 @@ use App\Models\Enums\NotificationObjectType;
 use App\Models\Enums\ObjectAction;
 use App\Models\Notification;
 use App\Models\NotificationRecord;
+use App\Repositories\ConfigRepository;
 use Illuminate\Contracts\Queue\ShouldQueue;
 use Illuminate\Queue\InteractsWithQueue;
 
@@ -26,6 +27,9 @@ class SendActionBrowserNotification implements ShouldQueue
      */
     public function handle(ObjectActionCreate $event): void
     {
+        if(! ConfigRepository::openBrowserNotification()){
+            return;
+        }
         $actionObjectType = ActionObjectType::tryFrom($event->action->object_type);
 
         $object = $actionObjectType->modelBuilder()->find($event->action->object_id);

+ 2 - 0
app/Models/Enums/ConfigGroup.php

@@ -6,5 +6,7 @@ enum ConfigGroup: string
 {
     case EMAIL = "email";
 
+    case BROWSER = "browser";
+
     case MESSAGE_NOTIFICATION = "message_notification";
 }

+ 5 - 0
app/Repositories/ConfigRepository.php

@@ -5,6 +5,7 @@ namespace App\Repositories;
 use App\Models\Config;
 use App\Models\Enums\ConfigGroup;
 use App\Repositories\Enums\EmailConfigFieldEnum;
+use App\Repositories\Enums\BrowserConfigFiledEnum;
 
 class ConfigRepository
 {
@@ -13,6 +14,10 @@ class ConfigRepository
         return self::getConfigItem(ConfigGroup::EMAIL->value, EmailConfigFieldEnum::OPEN_EMAIL_NOTIFICATION->value) == "on";
     }
 
+    public static function openBrowserNotification(): bool{
+        return self::getConfigItem(ConfigGroup::BROWSER->value, BrowserConfigFiledEnum::OPEN_BROWSER_NOTIFICATION->value) == "on";
+    }
+
     protected static function getConfigItem(string $group, string $key)
     {
         $config = Config::query()->where('group', $group)->where("key", $key)->first();