summaryrefslogtreecommitdiffstats
path: root/server/api
diff options
context:
space:
mode:
authorJannik Schönartz2021-03-09 22:36:29 +0100
committerJannik Schönartz2021-03-09 22:36:29 +0100
commit22bd093ba34fd40ba6eefcb234572e1e173bc4af (patch)
tree85b6950fa53b624ed8623742715ac973f9988987 /server/api
parent[server/pci] Restructure parseIds output & small bug fixes (diff)
downloadbas-22bd093ba34fd40ba6eefcb234572e1e173bc4af.tar.gz
bas-22bd093ba34fd40ba6eefcb234572e1e173bc4af.tar.xz
bas-22bd093ba34fd40ba6eefcb234572e1e173bc4af.zip
[server/external-backends] Add error logging of object deletion in the external backends
Diffstat (limited to 'server/api')
-rw-r--r--server/api/clients.js9
1 files changed, 7 insertions, 2 deletions
diff --git a/server/api/clients.js b/server/api/clients.js
index 1a5c274..66b6a3f 100644
--- a/server/api/clients.js
+++ b/server/api/clients.js
@@ -52,7 +52,6 @@ router.getAsync('/:id', async (req, res) => {
router.postAsync(['', '/:id'], async (req, res) => {
if (req.query.delete !== undefined && req.query.delete !== 'false') {
if (!Array.isArray(req.body.ids)) return HttpResponse.invalidBodyValue('ids', 'an array').send(res)
- await backendHelper.deleteClients(req.body.ids, req.body.backendIds)
const user = await db.user.findOne({ where: { id: req.user.id } })
// Only need to log batch request if there is more than one client to delete.
@@ -65,6 +64,10 @@ router.postAsync(['', '/:id'], async (req, res) => {
})
}
+ // Delete objects from the selected external backends
+ const deletedBackendObjects = await backendHelper.deleteClients(req.body.ids, req.body.backendIds)
+ const externalDeletionErrors = deletedBackendObjects.filter(x => x.error !== undefined)
+
let deletionCounter = 0
// Delete every client on its own, to get a better log
for (let index in req.body.ids) {
@@ -97,7 +100,9 @@ router.postAsync(['', '/:id'], async (req, res) => {
userId: req.user.id
})
}
- HttpResponse.successBatch('deleted', 'client', deletionCounter).send(res)
+
+ if (externalDeletionErrors.length <= 0) HttpResponse.successBatch('deleted', 'client', deletionCounter).send(res)
+ else HttpResponse.warningBatch('deleted', 'client', deletionCounter, req.body.ids.length, externalDeletionErrors).send(res)
} else {
let client
let action = 'updated'