diff --git a/app/Http/Controllers/Api/HostController.php b/app/Http/Controllers/Api/HostController.php index 5889ee7..03b28c8 100644 --- a/app/Http/Controllers/Api/HostController.php +++ b/app/Http/Controllers/Api/HostController.php @@ -42,8 +42,10 @@ public function update(HostRequest $request, Host $host): JsonResponse return $this->updated($host); } - public function destroy(HostRequest $host) + public function destroy(HostRequest $request, Host $host): JsonResponse { + unset($request); + if ($host->status == 'pending') { // 如果上次更新时间大于 5min if (time() - strtotime($host->updated_at) > 300) { diff --git a/app/Http/Requests/User/HostRequest.php b/app/Http/Requests/User/HostRequest.php index ce1eb9d..ac4c97a 100644 --- a/app/Http/Requests/User/HostRequest.php +++ b/app/Http/Requests/User/HostRequest.php @@ -2,6 +2,7 @@ namespace App\Http\Requests\User; +use App\Models\Host; use Illuminate\Foundation\Http\FormRequest; class HostRequest extends FormRequest @@ -15,8 +16,16 @@ public function authorize(): bool { $host = $this->route('host'); - // 检测是否是自己的主机 - return $host->user_id == auth()->id(); + if (!($host instanceof Host)) { + $host = Host::where('id', $host)->first(); + } + + if ($host->user_id ?? 0 == $this->user()->id) { + return true; + } else { + return false; + } + } /**