diff options
author | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2024-08-02 18:05:37 +0200 |
---|---|---|
committer | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2024-08-20 23:10:09 +0200 |
commit | a3cd9632647173924cf838e8f90e6ab33f7f2b50 (patch) | |
tree | dda8c2a791834648eacdba1211732b10c53543f1 /apps/provisioning_api/lib | |
parent | 2b7d9c1c9db85581a4b37a5a5e483b64ddd60a4b (diff) | |
download | nextcloud-server-a3cd9632647173924cf838e8f90e6ab33f7f2b50.tar.gz nextcloud-server-a3cd9632647173924cf838e8f90e6ab33f7f2b50.zip |
fix(ProvisioningAPI): set typed config values by via API
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Diffstat (limited to 'apps/provisioning_api/lib')
-rw-r--r-- | apps/provisioning_api/lib/Controller/AppConfigController.php | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/apps/provisioning_api/lib/Controller/AppConfigController.php b/apps/provisioning_api/lib/Controller/AppConfigController.php index 65b301245b3..2ea4602883c 100644 --- a/apps/provisioning_api/lib/Controller/AppConfigController.php +++ b/apps/provisioning_api/lib/Controller/AppConfigController.php @@ -126,8 +126,17 @@ class AppConfigController extends OCSController { return new DataResponse(['data' => ['message' => $e->getMessage()]], Http::STATUS_FORBIDDEN); } + $configDetails = $this->appConfig->getDetails($app, $key); /** @psalm-suppress InternalMethod */ - $this->appConfig->setValueMixed($app, $key, $value); + match ($configDetails['type']) { + IAppConfig::VALUE_BOOL => $this->appConfig->setValueBool($app, $key, (bool)$value), + IAppConfig::VALUE_FLOAT => $this->appConfig->setValueFloat($app, $key, (float)$value), + IAppConfig::VALUE_INT => $this->appConfig->setValueInt($app, $key, (int)$value), + IAppConfig::VALUE_STRING => $this->appConfig->setValueString($app, $key, $value), + IAppConfig::VALUE_ARRAY => $this->appConfig->setValueArray($app, $key, \json_decode($value, true)), + default => $this->appConfig->setValueMixed($app, $key, $value), + }; + return new DataResponse(); } |