Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 10
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
LatestFlyCutMiddleware
0.00% covered (danger)
0.00%
0 / 10
0.00% covered (danger)
0.00%
0 / 1
6
0.00% covered (danger)
0.00%
0 / 1
 handle
0.00% covered (danger)
0.00%
0 / 10
0.00% covered (danger)
0.00%
0 / 1
6
1<?php
2
3namespace App\Http\Middleware\Subscriptions;
4
5use App\Traits\SubscriptionTrait;
6use Closure;
7use Illuminate\Http\Request;
8use Symfony\Component\HttpFoundation\Response;
9
10class LatestFlyCutMiddleware
11{
12    use SubscriptionTrait;
13
14    /**
15     * Handle an incoming request.
16     */
17    public function handle(Request $request, Closure $next): Response
18    {
19        $current_subscription = $this->getCurrentPlan($request->user());
20        $features = $current_subscription->features;
21
22        $can_see_latest_flycuts = $features['Latest FlyCuts'] ?? false;
23
24        if (! $can_see_latest_flycuts) {
25            $response =  [
26                'error' => true,
27                'message' => 'You are not authorized to see the latest flycuts with current plan'
28            ];       
29            
30            return response()->json($response, 422);
31            //abort(403, 'You are not authorized to see the latest flycuts with current plan');
32        }
33
34        return $next($request);
35    }
36}