Spaces:
Running
Running
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);
}
}
|