summaryrefslogtreecommitdiffstats
path: root/apps/dav/src/service
diff options
context:
space:
mode:
authorJoas Schilling <coding@schilljs.com>2022-05-24 15:49:34 +0200
committerJoas Schilling <coding@schilljs.com>2022-07-01 12:33:07 +0200
commit4f7f4d74db0464b255eeedd4890b0604540e1e60 (patch)
treec1ea3cc60c8353c0aaed100733adf5b01611956b /apps/dav/src/service
parent5dee54d70bcd207c9b96a4cf6bb58f82fe9fbba9 (diff)
downloadnextcloud-server-4f7f4d74db0464b255eeedd4890b0604540e1e60.tar.gz
nextcloud-server-4f7f4d74db0464b255eeedd4890b0604540e1e60.zip
Add UI to opt-in on the status automation
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'apps/dav/src/service')
-rw-r--r--apps/dav/src/service/PreferenceService.js50
1 files changed, 50 insertions, 0 deletions
diff --git a/apps/dav/src/service/PreferenceService.js b/apps/dav/src/service/PreferenceService.js
new file mode 100644
index 00000000000..6b8d29029b5
--- /dev/null
+++ b/apps/dav/src/service/PreferenceService.js
@@ -0,0 +1,50 @@
+/**
+ * @copyright 2022 Joas Schilling <coding@schilljs.com>
+ *
+ * @author Joas Schilling <coding@schilljs.com>
+ *
+ * @license AGPL-3.0-or-later
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+import axios from '@nextcloud/axios'
+import { generateOcsUrl } from '@nextcloud/router'
+
+/**
+ * Enable user status automation based on availability
+ */
+export async function enableUserStatusAutomation() {
+ return await axios.post(
+ generateOcsUrl('/apps/provisioning_api/api/v1/config/users/{appId}/{configKey}', {
+ appId: 'dav',
+ configKey: 'user_status_automation',
+ }),
+ {
+ configValue: 'yes',
+ }
+ )
+}
+
+/**
+ * Disable user status automation based on availability
+ */
+export async function disableUserStatusAutomation() {
+ return await axios.delete(
+ generateOcsUrl('/apps/provisioning_api/api/v1/config/users/{appId}/{configKey}', {
+ appId: 'dav',
+ configKey: 'user_status_automation',
+ })
+ )
+}