From 702fcb4396086effc55ec565732f302ed439eb7e Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Wed, 9 Sep 2026 20:44:14 +0700 Subject: [PATCH 1/2] refactor: Change BaseAuthToken and BaseValidator to abstract --- src/Authentication/Passwords/BaseValidator.php | 2 +- src/Config/BaseAuthToken.php | 2 +- structarmed.php | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Authentication/Passwords/BaseValidator.php b/src/Authentication/Passwords/BaseValidator.php index b08a5e879..e6ad30cd6 100644 --- a/src/Authentication/Passwords/BaseValidator.php +++ b/src/Authentication/Passwords/BaseValidator.php @@ -15,7 +15,7 @@ use CodeIgniter\Shield\Config\Auth as AuthConfig; -class BaseValidator +abstract class BaseValidator { protected ?string $error = null; protected ?string $suggestion = null; diff --git a/src/Config/BaseAuthToken.php b/src/Config/BaseAuthToken.php index be8dcdfe9..3eb7b2920 100644 --- a/src/Config/BaseAuthToken.php +++ b/src/Config/BaseAuthToken.php @@ -15,7 +15,7 @@ use CodeIgniter\Config\BaseConfig; -class BaseAuthToken extends BaseConfig +abstract class BaseAuthToken extends BaseConfig { /** * List of HMAC Encryption Keys diff --git a/structarmed.php b/structarmed.php index 6cbe357fa..0206f4edd 100644 --- a/structarmed.php +++ b/structarmed.php @@ -5,6 +5,7 @@ use Boundwize\StructArmed\Architecture; use Boundwize\StructArmed\Preset\Preset; use Boundwize\StructArmed\Preset\Presets\Psr4Preset; +use Boundwize\StructArmed\Rule\Rules\Class_\ExtendedClassMustBeAbstractOrInstantiatedRule; use Boundwize\StructArmed\Rule\Rules\Class_\MustBeFinalRule; return Architecture::define() @@ -19,6 +20,9 @@ ]) ->cacheDirectory(is_dir('/tmp') ? '/tmp/structarmed' : null) ->withPresets(Preset::PSR4(), Preset::CODEQUALITY()) + + ->rule('base_classes.must_be_abstract', new ExtendedClassMustBeAbstractOrInstantiatedRule('Source', '/^CodeIgniter\\\\.*Base.*$/')) + ->layer('tests', __DIR__ . '/tests') ->layerPattern('Model', '/^CodeIgniter\\\\Shield\\\\.*Model$/') ->layerPattern('Controller', '/^CodeIgniter\\\\Shield\\\\Controllers\\\\.*$/') From e9505ef6e2bb317c598969dab96b7f55e1f39809 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Wed, 9 Sep 2026 20:47:21 +0700 Subject: [PATCH 2/2] update namespace to detect to CodeIgniter\Shield --- structarmed.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/structarmed.php b/structarmed.php index 0206f4edd..7b67b8809 100644 --- a/structarmed.php +++ b/structarmed.php @@ -21,7 +21,7 @@ ->cacheDirectory(is_dir('/tmp') ? '/tmp/structarmed' : null) ->withPresets(Preset::PSR4(), Preset::CODEQUALITY()) - ->rule('base_classes.must_be_abstract', new ExtendedClassMustBeAbstractOrInstantiatedRule('Source', '/^CodeIgniter\\\\.*Base.*$/')) + ->rule('base_classes.must_be_abstract', new ExtendedClassMustBeAbstractOrInstantiatedRule('Source', '/^CodeIgniter\\\\Shield\\\\.*Base.*$/')) ->layer('tests', __DIR__ . '/tests') ->layerPattern('Model', '/^CodeIgniter\\\\Shield\\\\.*Model$/')