aboutsummaryrefslogtreecommitdiffstats
path: root/apps/user_status/src/services/heartbeatService.js
diff options
context:
space:
mode:
Diffstat (limited to 'apps/user_status/src/services/heartbeatService.js')
-rw-r--r--apps/user_status/src/services/heartbeatService.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/apps/user_status/src/services/heartbeatService.js b/apps/user_status/src/services/heartbeatService.js
new file mode 100644
index 00000000000..fda1a1ffc9f
--- /dev/null
+++ b/apps/user_status/src/services/heartbeatService.js
@@ -0,0 +1,25 @@
+/**
+ * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+import HttpClient from '@nextcloud/axios'
+import { generateOcsUrl } from '@nextcloud/router'
+
+/**
+ * Sends a heartbeat
+ *
+ * @param {boolean} isAway Whether or not the user is active
+ * @return {Promise<void>}
+ */
+const sendHeartbeat = async (isAway) => {
+ const url = generateOcsUrl('apps/user_status/api/v1/heartbeat?format=json')
+ const response = await HttpClient.put(url, {
+ status: isAway ? 'away' : 'online',
+ })
+ return response.data.ocs.data
+}
+
+export {
+ sendHeartbeat,
+}