Skip to content

Commit 3dc2154

Browse files
authored
Merge pull request #744 from arashsaffari/customization_db_group
feat: add 'DBGroup' for customization db group
2 parents a17a09c + 7899218 commit 3dc2154

File tree

8 files changed

+33
-11
lines changed

8 files changed

+33
-11
lines changed

docs/addons/jwt.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ class LoginController extends BaseController
163163
$rules = $this->getValidationRules();
164164

165165
// Validate credentials
166-
if (! $this->validateData($this->request->getJSON(true), $rules)) {
166+
if (! $this->validateData($this->request->getJSON(true), $rules, [], config('Auth')->DBGroup)) {
167167
return $this->fail(
168168
['errors' => $this->validator->getErrors()],
169169
$this->codes['unauthorized']

docs/guides/mobile_apps.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class LoginController extends BaseController
3838
],
3939
];
4040

41-
if (! $this->validateData($this->request->getPost(), $rules)) {
41+
if (! $this->validateData($this->request->getPost(), $rules, [], config('Auth')->DBGroup)) {
4242
return $this->response
4343
->setJSON(['errors' => $this->validator->getErrors()])
4444
->setStatusCode(401);

src/Config/Auth.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,13 @@ class Auth extends BaseConfig
4242
'magic-link-email' => '\CodeIgniter\Shield\Views\Email\magic_link_email',
4343
];
4444

45+
/**
46+
* --------------------------------------------------------------------
47+
* Customize the DB group used for each model
48+
* --------------------------------------------------------------------
49+
*/
50+
public ?string $DBGroup = null;
51+
4552
/**
4653
* --------------------------------------------------------------------
4754
* Customize Name of Shield Tables

src/Controllers/LoginController.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public function loginAction(): RedirectResponse
4747
// like the password, can only be validated properly here.
4848
$rules = $this->getValidationRules();
4949

50-
if (! $this->validateData($this->request->getPost(), $rules)) {
50+
if (! $this->validateData($this->request->getPost(), $rules, [], config('Auth')->DBGroup)) {
5151
return redirect()->back()->withInput()->with('errors', $this->validator->getErrors());
5252
}
5353

src/Controllers/MagicLinkController.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public function loginAction()
6868
{
6969
// Validate email format
7070
$rules = $this->getValidationRules();
71-
if (! $this->validateData($this->request->getPost(), $rules)) {
71+
if (! $this->validateData($this->request->getPost(), $rules, [], config('Auth')->DBGroup)) {
7272
return redirect()->route('magic-link')->with('errors', $this->validator->getErrors());
7373
}
7474

src/Controllers/RegisterController.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ public function registerAction(): RedirectResponse
100100
// like the password, can only be validated properly here.
101101
$rules = $this->getValidationRules();
102102

103-
if (! $this->validateData($this->request->getPost(), $rules)) {
103+
if (! $this->validateData($this->request->getPost(), $rules, [], config('Auth')->DBGroup)) {
104104
return redirect()->back()->withInput()->with('errors', $this->validator->getErrors());
105105
}
106106

src/Database/Migrations/2020-12-28-223112_create_auth_tables.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,15 @@ class CreateAuthTables extends Migration
1919

2020
public function __construct(?Forge $forge = null)
2121
{
22+
/** @var Auth $authConfig */
23+
$authConfig = config('Auth');
24+
25+
if ($authConfig->DBGroup !== null) {
26+
$this->DBGroup = $authConfig->DBGroup;
27+
}
28+
2229
parent::__construct($forge);
2330

24-
/** @var Auth $authConfig */
25-
$authConfig = config('Auth');
2631
$this->tables = $authConfig->tables;
2732
$this->attributes = ($this->db->getPlatform() === 'MySQLi') ? ['ENGINE' => 'InnoDB'] : [];
2833
}

src/Models/BaseModel.php

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,21 @@ abstract class BaseModel extends Model
1616
*/
1717
protected array $tables;
1818

19-
protected function initialize(): void
19+
protected Auth $authConfig;
20+
21+
public function __construct()
2022
{
21-
/** @var Auth $authConfig */
22-
$authConfig = config('Auth');
23+
$this->authConfig = config(Auth::class);
2324

24-
$this->tables = $authConfig->tables;
25+
if ($this->authConfig->DBGroup !== null) {
26+
$this->DBGroup = $this->authConfig->DBGroup;
27+
}
28+
29+
parent::__construct();
30+
}
31+
32+
protected function initialize(): void
33+
{
34+
$this->tables = $this->authConfig->tables;
2535
}
2636
}

0 commit comments

Comments
 (0)