Skip to content

Commit e9a8973

Browse files
pref: trait authorization convert abstract
1 parent fa91649 commit e9a8973

File tree

2 files changed

+25
-13
lines changed

2 files changed

+25
-13
lines changed

src/trait/Authorization.php renamed to src/abstract/authorization.php

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,28 @@
11
<?php
22
declare(strict_types=1);
3-
namespace RestJS\Trait;
3+
namespace RestJS\Abstract;
44

55
use RestJS\Class\Response;
66
use function RestJS\errorHandler;
77
use function RestJS\response;
88
use Slim\Exception\HttpBadRequestException;
99
use Slim\Exception\HttpUnauthorizedException;
1010

11-
/** Authorization Functions */
12-
trait Authorization {
11+
/** Abstract Authorization Functions */
12+
abstract class Authorization {
13+
14+
/** Model Class */
15+
private $model;
16+
17+
/** Abstract Function for Set Model Class */
18+
abstract protected function setModel();
19+
20+
public function __construct() {
21+
$this->model = $this->setModel();
22+
}
1323

1424
/** Login Function */
15-
public function login($req, $res) {
25+
public function login($req, $res) {
1626

1727
/** Username Variable */
1828
$username = false;
@@ -21,7 +31,7 @@ public function login($req, $res) {
2131
$password = false;
2232

2333
// Overide Username and Password Value
24-
extract( $req->getParsedBody() ?? []);
34+
extract($req->getParsedBody() ?? []);
2535

2636
// Check Login Credentials
2737
if (!$username || !$password)
@@ -34,7 +44,7 @@ public function login($req, $res) {
3444
throw new HttpUnauthorizedException($req, 'Invalid user credentials');
3545

3646
$user = $user[0];
37-
47+
3848
/** Verify User Password */
3949
$isValidPassword = $user->verifyPassword($password);
4050

@@ -43,7 +53,7 @@ public function login($req, $res) {
4353

4454
/** Generated Access Token */
4555
$accessToken = $user->generateAccessToken();
46-
56+
4757
// Add Authorization Cookies
4858
setcookie('SSID', $accessToken, time() + 84600 * intval($_ENV['ACCESS_TOKEN_EXPIRY']), path: '/', secure: true, httponly: true);
4959

src/api/user/controller.php

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,20 @@
33
namespace RestJS\Api\User;
44

55
use RestJS\Trait\Controller as CoreController;
6-
use RestJS\Trait\Authorization as AuthController;
6+
use RestJS\Abstract\Authorization as AuthController;
77
use RestJS\Api\User\Model;
88

9-
class Controller {
9+
class Controller extends AuthController {
1010

1111
function __construct(private Model $model) {
1212
$this->data = $this->model->findAll();
13+
parent::__construct();
14+
}
15+
16+
protected function setModel() {
17+
return $this->model;
1318
}
1419

1520
// Trait Controller
16-
use CoreController;
17-
18-
// Trait Authorization
19-
use AuthController;
21+
use CoreController;
2022
}

0 commit comments

Comments
 (0)