Passed
Push — master ( 3dac84...29c427 )
by John
13:35 queued 04:51
created

Clearance   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
eloc 11
c 1
b 0
f 1
dl 0
loc 24
rs 10
wmc 3

1 Method

Rating   Name   Duplication   Size   Complexity  
A handle() 0 15 3
1
<?php
2
3
namespace App\Http\Middleware\Contest\Board\Admin\PDFView;
4
5
use Closure;
6
use Cache;
7
use App\Models\Eloquent\Contest;
8
9
class Clearance
10
{
11
    /**
12
     * Handle an incoming request.
13
     *
14
     * @param  \Illuminate\Http\Request  $request
15
     * @param  \Closure  $next
16
     * @return mixed
17
     */
18
    public function handle($request, Closure $next)
19
    {
20
        $contest=Contest::find($request->cid);
21
        if(blank($contest)) {
22
            return abort(403, 'Contest Does Not Exist');
23
        }
24
        $accessConfig = Cache::tags(['contest', 'pdfViewAccess', $request->cid])->get($request->accessToken);
25
        if(blank($accessConfig)) {
26
            return abort(403, 'Access Token Expired');
27
        }
28
        Cache::tags(['contest', 'pdfViewAccess', $request->cid])->forget($request->accessToken);
29
        $request->merge([
30
            'accessConfig' => $accessConfig
31
        ]);
32
        return $next($request);
33
    }
34
}
35