Passed
Branch main (b90ec4)
by Thierry
20:23 queued 14:04
created

EnsureEmailIsVerified   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 16
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 6
dl 0
loc 16
rs 10
c 1
b 0
f 0
wmc 4
1
<?php
2
3
namespace App\Http\Middleware;
4
5
use Closure;
6
use Illuminate\Contracts\Auth\MustVerifyEmail;
7
use Illuminate\Http\Request;
8
use Symfony\Component\HttpFoundation\Response;
9
10
class EnsureEmailIsVerified
11
{
12
    /**
13
     * Handle an incoming request.
14
     *
15
     * @param  \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response)  $next
16
     */
17
    public function handle(Request $request, Closure $next): Response
18
    {
19
        if (! $request->user() ||
20
            ($request->user() instanceof MustVerifyEmail &&
21
            ! $request->user()->hasVerifiedEmail())) {
22
            return response()->json(['message' => 'Your email address is not verified.'], 409);
23
        }
24
25
        return $next($request);
26
    }
27
}
28