summaryrefslogtreecommitdiffstats
path: root/server/api/groups.js
diff options
context:
space:
mode:
authorJannik Schönartz2019-04-01 02:43:48 +0200
committerJannik Schönartz2019-04-01 02:43:48 +0200
commitc10e0aab20ce8d49e6f7a8e31f1c4a3b4c86260d (patch)
treeffc41a353b03919a1ac148fa3e17931ebf68856d /server/api/groups.js
parent[server/ipxeconfigs] add more responses (diff)
downloadbas-c10e0aab20ce8d49e6f7a8e31f1c4a3b4c86260d.tar.gz
bas-c10e0aab20ce8d49e6f7a8e31f1c4a3b4c86260d.tar.xz
bas-c10e0aab20ce8d49e6f7a8e31f1c4a3b4c86260d.zip
[server/external-backends] Add direct sync in idoit for some functions (create client, add/remove client to/from groups)
Diffstat (limited to 'server/api/groups.js')
-rw-r--r--server/api/groups.js9
1 files changed, 9 insertions, 0 deletions
diff --git a/server/api/groups.js b/server/api/groups.js
index e3683bf..7cab3d8 100644
--- a/server/api/groups.js
+++ b/server/api/groups.js
@@ -7,6 +7,7 @@ const express = require('express')
const { decorateApp } = require('@awaitjs/express')
const router = decorateApp(express.Router())
const HttpResponse = require(path.join(__appdir, 'lib', 'httpresponse'))
+const backendHelper = require(path.join(__appdir, 'lib', 'external-backends', 'backendhelper'))
// ############################################################################
// ########################### GET requests #################################
@@ -120,12 +121,20 @@ router.postAsync('/:id/clients', async (req, res) => {
if (!(req.params.id > 0)) return HttpResponse.invalidId().send(res)
const group = await db.group.findOne({ where: { id: req.params.id } })
if (group) {
+ let groupid = null
if (req.query.delete !== undefined && req.query.delete !== 'false') {
const count = await group.removeClients(req.body.ids)
HttpResponse.successBatch('removed', 'client', count).send(res)
} else {
const count = await group.addClients(req.body.ids)
HttpResponse.successBatch('added', 'client', count).send(res)
+ groupid = group.id
+ }
+
+ // Update each client backend
+ for (let index in req.body.ids) {
+ const id = req.body.ids[index]
+ backendHelper.updateClient({ id: id, parents: [groupid] })
}
} else {
HttpResponse.notFound(req.params.id).send(res)