|
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