diff --git a/src/Encoder/Encoder.php b/src/Contracts/Encoder.php similarity index 75% rename from src/Encoder/Encoder.php rename to src/Contracts/Encoder.php index 00a69b4..a42977c 100644 --- a/src/Encoder/Encoder.php +++ b/src/Contracts/Encoder.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace CodeLieutenant\LaravelCrypto\Encoder; +namespace CodeLieutenant\LaravelCrypto\Contracts; interface Encoder { diff --git a/src/Encoder/IgbinaryEncoder.php b/src/Encoder/IgbinaryEncoder.php index 2a2d413..b81d9cb 100644 --- a/src/Encoder/IgbinaryEncoder.php +++ b/src/Encoder/IgbinaryEncoder.php @@ -4,6 +4,7 @@ namespace CodeLieutenant\LaravelCrypto\Encoder; +use CodeLieutenant\LaravelCrypto\Contracts\Encoder; use RuntimeException; class IgbinaryEncoder implements Encoder diff --git a/src/Encoder/JsonEncoder.php b/src/Encoder/JsonEncoder.php index 91a6fe7..d799b32 100644 --- a/src/Encoder/JsonEncoder.php +++ b/src/Encoder/JsonEncoder.php @@ -4,6 +4,8 @@ namespace CodeLieutenant\LaravelCrypto\Encoder; +use CodeLieutenant\LaravelCrypto\Contracts\Encoder; + class JsonEncoder implements Encoder { public function __construct(private readonly bool $asArray = true) diff --git a/src/Encoder/MessagePackEncoder.php b/src/Encoder/MessagePackEncoder.php index ec37226..2dac043 100644 --- a/src/Encoder/MessagePackEncoder.php +++ b/src/Encoder/MessagePackEncoder.php @@ -4,6 +4,7 @@ namespace CodeLieutenant\LaravelCrypto\Encoder; +use CodeLieutenant\LaravelCrypto\Contracts\Encoder; use RuntimeException; class MessagePackEncoder implements Encoder diff --git a/src/Encoder/PhpEncoder.php b/src/Encoder/PhpEncoder.php index f7a6135..9854e21 100644 --- a/src/Encoder/PhpEncoder.php +++ b/src/Encoder/PhpEncoder.php @@ -4,6 +4,8 @@ namespace CodeLieutenant\LaravelCrypto\Encoder; +use CodeLieutenant\LaravelCrypto\Contracts\Encoder; + class PhpEncoder implements Encoder { private readonly array $options; diff --git a/src/Encryption/AesGcm256Encrypter.php b/src/Encryption/AesGcm256Encrypter.php index 3c9111b..e32988b 100644 --- a/src/Encryption/AesGcm256Encrypter.php +++ b/src/Encryption/AesGcm256Encrypter.php @@ -4,13 +4,13 @@ namespace CodeLieutenant\LaravelCrypto\Encryption; +use Exception; +use CodeLieutenant\LaravelCrypto\Contracts\Encoder; use CodeLieutenant\LaravelCrypto\Contracts\KeyGeneration; -use CodeLieutenant\LaravelCrypto\Encoder\Encoder; use CodeLieutenant\LaravelCrypto\Encoder\JsonEncoder; use CodeLieutenant\LaravelCrypto\Keys\Loader; use CodeLieutenant\LaravelCrypto\Support\Base64; use CodeLieutenant\LaravelCrypto\Traits\Crypto; -use Exception; use Illuminate\Contracts\Encryption\DecryptException; use Illuminate\Contracts\Encryption\Encrypter; use Illuminate\Contracts\Encryption\EncryptException; diff --git a/src/Encryption/XChaCha20Poly1305Encrypter.php b/src/Encryption/XChaCha20Poly1305Encrypter.php index 4b99818..56672c2 100644 --- a/src/Encryption/XChaCha20Poly1305Encrypter.php +++ b/src/Encryption/XChaCha20Poly1305Encrypter.php @@ -4,8 +4,8 @@ namespace CodeLieutenant\LaravelCrypto\Encryption; +use CodeLieutenant\LaravelCrypto\Contracts\Encoder; use CodeLieutenant\LaravelCrypto\Contracts\KeyGeneration; -use CodeLieutenant\LaravelCrypto\Encoder\Encoder; use CodeLieutenant\LaravelCrypto\Encoder\JsonEncoder; use CodeLieutenant\LaravelCrypto\Keys\Loader; use CodeLieutenant\LaravelCrypto\Support\Base64; diff --git a/src/ServiceProvider.php b/src/ServiceProvider.php index a8a3672..f427fd5 100644 --- a/src/ServiceProvider.php +++ b/src/ServiceProvider.php @@ -83,7 +83,7 @@ protected function registerEncoder(): void } $this->app->singleton( - Encoder\Encoder::class, + Contracts\Encoder::class, $this->app->make(Repository::class)->get('crypto.encoder.driver') ); } diff --git a/tests/Architecture/EncodersTest.php b/tests/Architecture/EncodersTest.php new file mode 100644 index 0000000..a500835 --- /dev/null +++ b/tests/Architecture/EncodersTest.php @@ -0,0 +1,11 @@ +expect('CodeLieutenant\LaravelCrypto\Encoders') + ->toBeClasses() + ->toHaveSuffix('Encoder') + ->toImplement(Encoder::class);