Completed
Push — develop ( 1e6c4d...2ee822 )
by Abdelrahman
02:34
created

Admin::getRouteKeyName()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Cortex\Auth\Models;
6
7
use Cortex\Auth\Notifications\PhoneVerificationNotification;
8
use Cortex\Auth\Notifications\AdminPasswordResetNotification;
9
use Cortex\Auth\Notifications\AdminEmailVerificationNotification;
10
11
class Admin extends User
12
{
13
    /**
14
     * {@inheritdoc}
15
     */
16
    protected $passwordResetNotificationClass = AdminPasswordResetNotification::class;
0 ignored issues
show
Comprehensibility Naming introduced by
The variable name $passwordResetNotificationClass exceeds the maximum configured length of 20.

Very long variable names usually make code harder to read. It is therefore recommended not to make variable names too verbose.

Loading history...
17
18
    /**
19
     * {@inheritdoc}
20
     */
21
    protected $emailVerificationNotificationClass = AdminEmailVerificationNotification::class;
0 ignored issues
show
Comprehensibility Naming introduced by
The variable name $emailVerificationNotificationClass exceeds the maximum configured length of 20.

Very long variable names usually make code harder to read. It is therefore recommended not to make variable names too verbose.

Loading history...
22
23
    /**
24
     * {@inheritdoc}
25
     */
26
    protected $phoneVerificationNotificationClass = PhoneVerificationNotification::class;
0 ignored issues
show
Comprehensibility Naming introduced by
The variable name $phoneVerificationNotificationClass exceeds the maximum configured length of 20.

Very long variable names usually make code harder to read. It is therefore recommended not to make variable names too verbose.

Loading history...
27
28
    /**
29
     * Create a new Eloquent model instance.
30
     *
31
     * @param array $attributes
32
     */
33
    public function __construct(array $attributes = [])
34
    {
35
        parent::__construct($attributes);
36
37
        $this->setTable(config('cortex.auth.tables.admins'));
38
        $this->setRules([
39
            'username' => 'required|alpha_dash|min:3|max:150|unique:'.config('cortex.auth.tables.admins').',username',
40
            'password' => 'sometimes|required|min:'.config('cortex.auth.password_min_chars'),
41
            'two_factor' => 'nullable|array',
42
            'email' => 'required|email|min:3|max:150|unique:'.config('cortex.auth.tables.admins').',email',
43
            'email_verified' => 'sometimes|boolean',
44
            'email_verified_at' => 'nullable|date',
45
            'phone' => 'nullable|phone:AUTO',
46
            'phone_verified' => 'sometimes|boolean',
47
            'phone_verified_at' => 'nullable|date',
48
            'full_name' => 'required|string|max:150',
49
            'title' => 'nullable|string|max:150',
50
            'country_code' => 'nullable|alpha|size:2|country',
51
            'language_code' => 'nullable|alpha|size:2|language',
52
            'birthday' => 'nullable|date_format:Y-m-d',
53
            'gender' => 'nullable|in:male,female',
54
            'is_active' => 'sometimes|boolean',
55
            'last_activity' => 'nullable|date',
56
            'tags' => 'nullable|array',
57
        ]);
58
    }
59
60
    /**
61
     * Get the route key for the model.
62
     *
63
     * @return string
64
     */
65
    public function getRouteKeyName()
66
    {
67
        return 'username';
68
    }
69
}
70