|
10 | 10 |
|
11 | 11 | use OC\AppConfig; |
12 | 12 | use OC\AppFramework\Middleware\Security\Exceptions\NotAdminException; |
| 13 | +use OC\Config\ConfigManager; |
13 | 14 | use OCP\App\IAppManager; |
14 | 15 | use OCP\AppFramework\Http; |
15 | 16 | use OCP\AppFramework\Http\Attribute\NoAdminRequired; |
@@ -38,6 +39,7 @@ public function __construct( |
38 | 39 | private IGroupManager $groupManager, |
39 | 40 | private IManager $settingManager, |
40 | 41 | private IAppManager $appManager, |
| 42 | + private readonly ConfigManager $configManager, |
41 | 43 | ) { |
42 | 44 | parent::__construct($appName, $request); |
43 | 45 | } |
@@ -147,11 +149,11 @@ public function setValue(string $app, string $key, string $value): DataResponse |
147 | 149 |
|
148 | 150 | /** @psalm-suppress InternalMethod */ |
149 | 151 | match ($type) { |
150 | | - IAppConfig::VALUE_BOOL, ValueType::BOOL => $this->appConfig->setValueBool($app, $key, (bool)$value), |
151 | | - IAppConfig::VALUE_FLOAT, ValueType::FLOAT => $this->appConfig->setValueFloat($app, $key, (float)$value), |
152 | | - IAppConfig::VALUE_INT, ValueType::INT => $this->appConfig->setValueInt($app, $key, (int)$value), |
| 152 | + IAppConfig::VALUE_BOOL, ValueType::BOOL => $this->appConfig->setValueBool($app, $key, $this->configManager->convertToBool($value)), |
| 153 | + IAppConfig::VALUE_FLOAT, ValueType::FLOAT => $this->appConfig->setValueFloat($app, $key, $this->configManager->convertToFloat($value)), |
| 154 | + IAppConfig::VALUE_INT, ValueType::INT => $this->appConfig->setValueInt($app, $key, $this->configManager->convertToInt($value)), |
153 | 155 | IAppConfig::VALUE_STRING, ValueType::STRING => $this->appConfig->setValueString($app, $key, $value), |
154 | | - IAppConfig::VALUE_ARRAY, ValueType::ARRAY => $this->appConfig->setValueArray($app, $key, \json_decode($value, true)), |
| 156 | + IAppConfig::VALUE_ARRAY, ValueType::ARRAY => $this->appConfig->setValueArray($app, $key, $this->configManager->convertToArray($value)), |
155 | 157 | default => $this->appConfig->setValueMixed($app, $key, $value), |
156 | 158 | }; |
157 | 159 |
|
|
0 commit comments