Use real-time facade to inject Setting service to ensure testability

This commit is contained in:
Bubka 2021-11-26 23:25:04 +01:00
parent 531cd74758
commit 97aefcbbe5

View File

@ -3,7 +3,7 @@
namespace App; namespace App;
use Exception; use Exception;
// use App\Services\SettingServiceInterface; use Facades\App\Services\SettingServiceInterface;
use Spatie\EloquentSortable\Sortable; use Spatie\EloquentSortable\Sortable;
use Spatie\EloquentSortable\SortableTrait; use Spatie\EloquentSortable\SortableTrait;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
@ -187,10 +187,8 @@ class TwoFAccount extends Model implements Sortable
*/ */
private function decryptOrReturn($value) private function decryptOrReturn($value)
{ {
$settingService = resolve('App\Services\SettingServiceInterface');
// Decipher when needed // Decipher when needed
if ( $settingService->get('useEncryption') ) if ( SettingServiceInterface::get('useEncryption') )
{ {
try { try {
return Crypt::decryptString($value); return Crypt::decryptString($value);
@ -210,10 +208,8 @@ class TwoFAccount extends Model implements Sortable
*/ */
private function encryptOrReturn($value) private function encryptOrReturn($value)
{ {
$settingService = resolve('App\Services\SettingServiceInterface');
// should be replaced by laravel 8 attribute encryption casting // should be replaced by laravel 8 attribute encryption casting
return $settingService->get('useEncryption') ? Crypt::encryptString($value) : $value; return SettingServiceInterface::get('useEncryption') ? Crypt::encryptString($value) : $value;
} }
} }