File size: 866 Bytes
907b200
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;
use App\Models\AiJob;
use Illuminate\Support\Facades\Auth;

class CheckJobOwnership
{
    public function handle(Request $request, Closure $next)
    {
        $jobId = $request->route('job_id');

        if (!$jobId) {
            return response()->json([
                'success' => false,
                'message' => 'Job ID is required'
            ], 400);
        }

        $aiJob = AiJob::where('job_id', $jobId)
            ->where('user_id', Auth::id())
            ->first();

        if (!$aiJob) {
            return response()->json([
                'success' => false,
                'message' => 'You do not have permission to access this job'
            ], 403);
        }

        $request->merge(['ai_job' => $aiJob]);

        return $next($request);
    }
}