Browse Source

Merge branch 'dev' of http://134.175.228.187:10880/kyle/autocde2.0 into dev

moell 10 months ago
parent
commit
9b39015e66

+ 3 - 0
app/Http/Controllers/API/RoleController.php

@@ -39,6 +39,9 @@ class RoleController extends Controller
     public function show(string $id)
     {
         //
+        $role=Role::query()->findOrFail($id);
+
+        return new RoleResource($role);
     }
 
     /**

+ 1 - 1
app/Http/Kernel.php

@@ -42,7 +42,7 @@ class Kernel extends HttpKernel
 
         'api' => [
             \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
-            \Illuminate\Routing\Middleware\ThrottleRequests::class.':api',
+            //\Illuminate\Routing\Middleware\ThrottleRequests::class.':api',
             \Illuminate\Routing\Middleware\SubstituteBindings::class,
         ],
     ];

+ 1 - 0
app/Http/Resources/API/UserSimpleResource.php

@@ -28,6 +28,7 @@ class UserSimpleResource  extends JsonResource
             'company' => $this->company_id,
             'department' =>$this->department_id,
             'role' => $this->role_id,
+            'role_name' => $this->role->name,
             'status' =>$this->status,
         ];
     }

+ 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();

+ 1 - 0
lang/en/action-labels.php

@@ -11,6 +11,7 @@ return[
         ActionObjectType::ASSET->value =>"Asset",
     ],
     'label'=>[
+        ObjectAction::DONE->value =>"done",
         ObjectAction::CREATED->value => "created",
         ObjectAction::OPENED->value => "opened",
         ObjectAction::CHANGED->value => "changed",