• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

conedevelopment / root / 8596562172

08 Apr 2024 07:59AM UTC coverage: 67.591% (+0.02%) from 67.572%
8596562172

push

github

iamgergo
wip

6 of 7 new or added lines in 3 files covered. (85.71%)

3 existing lines in 3 files now uncovered.

2144 of 3172 relevant lines covered (67.59%)

22.16 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

93.1
/src/Http/Controllers/Auth/LoginController.php
1
<?php
2

3
namespace Cone\Root\Http\Controllers\Auth;
4

5
use Cone\Root\Http\Controllers\Controller;
6
use Cone\Root\Interfaces\TwoFactorAuthenticatable;
7
use Cone\Root\Notifications\TwoFactorLink;
8
use Illuminate\Auth\Events\Login;
9
use Illuminate\Http\RedirectResponse;
10
use Illuminate\Http\Request;
11
use Illuminate\Http\Response;
12
use Illuminate\Support\Facades\Auth;
13
use Illuminate\Support\Facades\Event;
14
use Illuminate\Support\Facades\Redirect;
15
use Illuminate\Support\Facades\Response as ResponseFactory;
16
use Illuminate\Support\Facades\URL;
17
use Illuminate\Validation\ValidationException;
18

19
class LoginController extends Controller
20
{
21
    /**
22
     * Create a new controller instance.
23
     */
24
    public function __construct()
25
    {
26
        $this->middleware('guest')->except('logout');
6✔
27
    }
28

29
    /**
30
     * Show the application's login form.
31
     */
32
    public function show(): Response
33
    {
34
        return ResponseFactory::view('root::auth.login');
2✔
35
    }
36

37
    /**
38
     * Handle a login request to the application.
39
     */
40
    public function login(Request $request): RedirectResponse
41
    {
42
        $validated = $request->validate([
2✔
43
            'email' => ['required', 'string', 'email', 'max:256'],
2✔
44
            'password' => ['required', 'string'],
2✔
45
        ]);
2✔
46

47
        if (! Auth::guard()->attempt($validated, $request->filled('remember'))) {
2✔
48
            throw ValidationException::withMessages([
1✔
49
                'email' => [__('auth.failed')],
1✔
50
            ]);
1✔
51
        }
52

53
        if (! Auth::guard()->user()->hasVerifiedEmail()) {
2✔
54
            return $this->logout($request)->withErrors([
1✔
55
                'email' => [__('auth.unverified')],
1✔
56
            ]);
1✔
57
        }
58

59
        $request->session()->regenerate();
2✔
60

61
        Event::dispatch(
2✔
62
            new Login(Auth::getDefaultDriver(), $request->user(), $request->filled('remember'))
2✔
63
        );
2✔
64

65
        if ($request->user()->can('viewRoot')
2✔
66
            && $request->user() instanceof TwoFactorAuthenticatable
2✔
67
            && $request->user()->requiresTwoFactorAuthentication()
2✔
68
        ) {
UNCOV
69
            $request->user()->notify(new TwoFactorLink());
×
70

71
            $request->session()->flash('status', __('The two factor authentication link has been sent!'));
×
72
        }
73

74
        return Redirect::intended(URL::route('root.dashboard'));
2✔
75
    }
76

77
    /**
78
     * Log the user out of the application.
79
     */
80
    public function logout(Request $request): RedirectResponse
81
    {
82
        Auth::guard()->logout();
3✔
83

84
        $request->session()->remove('root.auth.verified');
3✔
85

86
        $request->session()->invalidate();
3✔
87

88
        $request->session()->regenerateToken();
3✔
89

90
        return Redirect::route('root.auth.login');
3✔
91
    }
92
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc