Browse Source

Fix 节点获取用户错误 & Vnet重载错误

兔姬桑 4 years ago
parent
commit
c8838bc904

+ 2 - 2
app/Http/Controllers/Api/Client/V1Controller.php

@@ -53,7 +53,7 @@ class V1Controller extends Controller
         ]);
 
         if ($validator->fails()) {
-            return response()->json($validator->errors()->toJson(), 400);
+            return response()->json($validator->errors()->all(), 400);
         }
 
         $user = User::create(array_merge(
@@ -86,7 +86,7 @@ class V1Controller extends Controller
         $user = auth()->user();
         $nodes = $user->nodes()->get();
         if (isset($id)) {
-            $node = $nodes->where('id', $id)->first();
+            $node = $nodes->find($id);
 
             if (empty($node)) {
                 return response()->json([], 204);

+ 4 - 0
app/Jobs/VNet/reloadNode.php

@@ -6,6 +6,7 @@ use Arr;
 use Http;
 use Illuminate\Bus\Queueable;
 use Illuminate\Contracts\Queue\ShouldQueue;
+use Illuminate\Database\Eloquent\Collection;
 use Illuminate\Foundation\Bus\Dispatchable;
 use Illuminate\Queue\InteractsWithQueue;
 use Illuminate\Queue\SerializesModels;
@@ -23,6 +24,9 @@ class reloadNode implements ShouldQueue
 
     public function __construct($nodes)
     {
+        if (! $nodes instanceof Collection) {
+            $nodes = collect([$nodes]);
+        }
         $this->nodes = $nodes;
     }
 

+ 5 - 2
app/Models/Node.php

@@ -83,8 +83,11 @@ class Node extends Model
 
     public function users()
     {
-        return User::activeUser()->whereIn('user_group_id', $this->userGroups->pluck('id')->toArray())->orwhereNull('user_group_id')->where('level', '>=',
-            $this->attributes['level'])->get();
+        return User::activeUser()
+            ->where('level', '>=', $this->attributes['level'])
+            ->whereNull('user_group_id')
+            ->orwhereIn('user_group_id', $this->userGroups->pluck('id')->toArray())
+            ->get();
     }
 
     public function config($user)