Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 9
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 / 9
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 / 9
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        $currentPlan = $this->getCurrentPlan($request->user());
20        $canSeeLatestFlycuts = $this->getFeatureByNewKey($currentPlan, 'latest_shortcuts', false);
21
22        if (! $canSeeLatestFlycuts) {
23            $response = [
24                'error' => true,
25                'message' => 'You are not authorized to see the latest flycuts with current plan',
26            ];
27
28            return response()->json($response, 422);
29        }
30
31        return $next($request);
32    }
33}