Skip to content

Commit 1adcb5c

Browse files
committed
refactor: extract BaseModel
1 parent c65c6b5 commit 1adcb5c

7 files changed

Lines changed: 43 additions & 30 deletions

File tree

src/Models/BaseModel.php

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace CodeIgniter\Shield\Models;
6+
7+
use CodeIgniter\Model;
8+
use CodeIgniter\Shield\Config\Auth;
9+
10+
abstract class BaseModel extends Model
11+
{
12+
use CheckQueryReturnTrait;
13+
14+
/**
15+
* Auth Table names
16+
*/
17+
protected array $tables;
18+
19+
protected function initialize(): void
20+
{
21+
/** @var Auth $authConfig */
22+
$authConfig = config('Auth');
23+
24+
$this->tables = $authConfig->tables;
25+
}
26+
}

src/Models/GroupModel.php

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,9 @@
44

55
namespace CodeIgniter\Shield\Models;
66

7-
use CodeIgniter\Model;
8-
use CodeIgniter\Shield\Config\Auth;
97
use CodeIgniter\Shield\Entities\User;
108

11-
class GroupModel extends Model
9+
class GroupModel extends BaseModel
1210
{
1311
use CheckQueryReturnTrait;
1412

@@ -27,10 +25,9 @@ class GroupModel extends Model
2725

2826
protected function initialize(): void
2927
{
30-
/** @var Auth $authConfig */
31-
$authConfig = config('Auth');
28+
parent::initialize();
3229

33-
$this->table = $authConfig->tables['groups_users'];
30+
$this->table = $this->tables['groups_users'];
3431
}
3532

3633
public function getForUser(User $user): array

src/Models/LoginModel.php

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,13 @@
55
namespace CodeIgniter\Shield\Models;
66

77
use CodeIgniter\I18n\Time;
8-
use CodeIgniter\Model;
98
use CodeIgniter\Shield\Authentication\Authenticators\Session;
109
use CodeIgniter\Shield\Config\Auth;
1110
use CodeIgniter\Shield\Entities\Login;
1211
use CodeIgniter\Shield\Entities\User;
1312
use Faker\Generator;
1413

15-
class LoginModel extends Model
14+
class LoginModel extends BaseModel
1615
{
1716
use CheckQueryReturnTrait;
1817

@@ -42,10 +41,9 @@ class LoginModel extends Model
4241

4342
protected function initialize(): void
4443
{
45-
/** @var Auth $authConfig */
46-
$authConfig = config('Auth');
44+
parent::initialize();
4745

48-
$this->table = $authConfig->tables['logins'];
46+
$this->table = $this->tables['logins'];
4947
}
5048

5149
/**

src/Models/PermissionModel.php

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,9 @@
44

55
namespace CodeIgniter\Shield\Models;
66

7-
use CodeIgniter\Model;
8-
use CodeIgniter\Shield\Config\Auth;
97
use CodeIgniter\Shield\Entities\User;
108

11-
class PermissionModel extends Model
9+
class PermissionModel extends BaseModel
1210
{
1311
use CheckQueryReturnTrait;
1412

@@ -27,10 +25,9 @@ class PermissionModel extends Model
2725

2826
protected function initialize(): void
2927
{
30-
/** @var Auth $authConfig */
31-
$authConfig = config('Auth');
28+
parent::initialize();
3229

33-
$this->table = $authConfig->tables['permissions_users'];
30+
$this->table = $this->tables['permissions_users'];
3431
}
3532

3633
public function getForUser(User $user): array

src/Models/RememberModel.php

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,13 @@
55
namespace CodeIgniter\Shield\Models;
66

77
use CodeIgniter\I18n\Time;
8-
use CodeIgniter\Model;
98
use CodeIgniter\Shield\Config\Auth;
109
use CodeIgniter\Shield\Entities\User;
1110
use DateTime;
1211
use Faker\Generator;
1312
use stdClass;
1413

15-
class RememberModel extends Model
14+
class RememberModel extends BaseModel
1615
{
1716
use CheckQueryReturnTrait;
1817

@@ -29,10 +28,9 @@ class RememberModel extends Model
2928

3029
protected function initialize(): void
3130
{
32-
/** @var Auth $authConfig */
33-
$authConfig = config('Auth');
31+
parent::initialize();
3432

35-
$this->table = $authConfig->tables['remember_tokens'];
33+
$this->table = $this->tables['remember_tokens'];
3634
}
3735

3836
public function fake(Generator &$faker): stdClass

src/Models/TokenLoginModel.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,16 @@
55
namespace CodeIgniter\Shield\Models;
66

77
use CodeIgniter\I18n\Time;
8-
use CodeIgniter\Shield\Config\Auth;
98
use CodeIgniter\Shield\Entities\Login;
109
use Faker\Generator;
1110

1211
class TokenLoginModel extends LoginModel
1312
{
1413
protected function initialize(): void
1514
{
16-
/** @var Auth $authConfig */
17-
$authConfig = config('Auth');
15+
parent::initialize();
1816

19-
$this->table = $authConfig->tables['token_logins'];
17+
$this->table = $this->tables['token_logins'];
2018
}
2119

2220
/**

src/Models/UserIdentityModel.php

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
use CodeIgniter\Shield\Exceptions\ValidationException;
1818
use Faker\Generator;
1919

20-
class UserIdentityModel extends Model
20+
class UserIdentityModel extends BaseModel
2121
{
2222
use CheckQueryReturnTrait;
2323

@@ -39,10 +39,9 @@ class UserIdentityModel extends Model
3939

4040
protected function initialize(): void
4141
{
42-
/** @var Auth $authConfig */
43-
$authConfig = config('Auth');
42+
parent::initialize();
4443

45-
$this->table = $authConfig->tables['identities'];
44+
$this->table = $this->tables['identities'];
4645
}
4746

4847
/**

0 commit comments

Comments
 (0)