Save Settings array param to \RainLoop\Settings

This commit is contained in:
the-djmaze 2023-02-21 10:40:16 +01:00
parent ce2fb9d7f2
commit 6c00a9cf3b
4 changed files with 7 additions and 12 deletions

View file

@ -21,7 +21,7 @@ class Settings extends \RainLoop\Providers\AbstractProvider
public function Save(\RainLoop\Model\Account $oAccount, \RainLoop\Settings $oSettings) : bool public function Save(\RainLoop\Model\Account $oAccount, \RainLoop\Settings $oSettings) : bool
{ {
return $this->oDriver->Save($oAccount, $oSettings->toArray()); return $this->oDriver->Save($oAccount, $oSettings);
} }
public function IsActive() : bool public function IsActive() : bool

View file

@ -26,11 +26,9 @@ class DefaultSettings implements ISettings
self::FILE_NAME self::FILE_NAME
); );
if (\is_string($sValue)) if (\is_string($sValue)) {
{
$aData = \json_decode($sValue, true); $aData = \json_decode($sValue, true);
if (\is_array($aData)) if (\is_array($aData)) {
{
return $aData; return $aData;
} }
} }
@ -38,14 +36,14 @@ class DefaultSettings implements ISettings
return array(); return array();
} }
public function Save(\RainLoop\Model\Account $oAccount, array $aSettings) : bool public function Save(\RainLoop\Model\Account $oAccount, \RainLoop\Settings $oSettings) : bool
{ {
return $this->oStorageProvider->Put($oAccount, return $this->oStorageProvider->Put($oAccount,
\RainLoop\Providers\Storage\Enumerations\StorageType::CONFIG, \RainLoop\Providers\Storage\Enumerations\StorageType::CONFIG,
$this->oStorageProvider->IsLocal() ? $this->oStorageProvider->IsLocal() ?
self::FILE_NAME_LOCAL : self::FILE_NAME_LOCAL :
self::FILE_NAME, self::FILE_NAME,
\json_encode($aSettings)); \json_encode($oSettings));
} }
public function Delete(\RainLoop\Model\Account $oAccount) : bool public function Delete(\RainLoop\Model\Account $oAccount) : bool

View file

@ -6,7 +6,7 @@ interface ISettings
{ {
public function Load(\RainLoop\Model\Account $oAccount) : array; public function Load(\RainLoop\Model\Account $oAccount) : array;
public function Save(\RainLoop\Model\Account $oAccount, array $aSettings) : bool; public function Save(\RainLoop\Model\Account $oAccount, \RainLoop\Settings $oSettings) : bool;
public function Delete(\RainLoop\Model\Account $oAccount) : bool; public function Delete(\RainLoop\Model\Account $oAccount) : bool;
} }

View file

@ -4,10 +4,7 @@ namespace RainLoop;
class Settings implements \JsonSerializable class Settings implements \JsonSerializable
{ {
/** protected array $aData = array();
* @var array
*/
protected $aData = array();
public function __construct(array $aData) public function __construct(array $aData)
{ {