Test Setup Failed
Branch master (730ea3)
by alexfloppy
03:21
created

PasswordService   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 52
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 0
Metric Value
wmc 4
lcom 1
cbo 2
dl 0
loc 52
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A sendResetPasswordEmail() 0 20 2
A changePassword() 0 13 2
1
<?php
2
3
namespace App\Services;
4
5
use App\Models\User;
6
use Auth;
7
use Hash;
8
use Illuminate\Http\Request;
9
use Mail;
10
11
/**
12
 * Class PasswordService
13
 * @package App\Services
14
 */
15
class PasswordService
16
{
17
    /**
18
     * @var string
19
     */
20
    protected $remindPasswordEmailTemplate = 'emails.reset';
21
22
    /**
23
     * @param $email
24
     *
25
     * @return bool
26
     */
27
    public function sendResetPasswordEmail($email)
28
    {
29
        $user = User::where('email', '=', $email)->first();
30
31
        if ($user) {
32
            $token = app('auth.password.broker')->createToken($user);
33
34
            Mail::send(
35
                $this->remindPasswordEmailTemplate,
36
                ['hash' => $token, 'email' => $email],
37
                function ($message) use ($user) {
38
                    $message->to($user->email, $user->usename)->subject('Laravel api boilerplate');
39
                }
40
            );
41
42
            return true;
43
        }
44
45
        return false;
46
    }
47
48
    /**
49
     * @param Request $request
50
     *
51
     * @return bool
52
     */
53
    public function changePassword(Request $request)
54
    {
55
        $user = Auth::user();
56
57
        if (Hash::check($request->get('current_password'), $user->password)) {
58
            $user->password = Hash::make($request['password']);
59
            $user->save();
60
61
            return true;
62
        }
63
64
        return false;
65
    }
66
}
67