summaryrefslogtreecommitdiffstats
path: root/server/api/log.js
diff options
context:
space:
mode:
authorUdo Walter2019-03-27 16:20:29 +0100
committerUdo Walter2019-03-27 16:20:29 +0100
commit6a9cf5338e5131396c72e0c9dfc41ebf94de95d3 (patch)
tree6b2e2e3d063093dd1a31bc0f7494819e0957b1ff /server/api/log.js
parent[webapp] small style fixes in groups module and selectbox (diff)
downloadbas-6a9cf5338e5131396c72e0c9dfc41ebf94de95d3.tar.gz
bas-6a9cf5338e5131396c72e0c9dfc41ebf94de95d3.tar.xz
bas-6a9cf5338e5131396c72e0c9dfc41ebf94de95d3.zip
[log] add filter functionality
Diffstat (limited to 'server/api/log.js')
-rw-r--r--server/api/log.js12
1 files changed, 11 insertions, 1 deletions
diff --git a/server/api/log.js b/server/api/log.js
index d3acb04..d2bd10c 100644
--- a/server/api/log.js
+++ b/server/api/log.js
@@ -9,7 +9,17 @@ var router = decorateApp(express.Router())
// ########################### GET requests #################################
router.getAsync('', async (req, res) => {
- const log = await db.log.findAll({ include: ['group', 'client', 'user'], order: [['timestamp', 'DESC']] })
+ const where = {}
+ if (req.query.from || req.query.to) {
+ where.timestamp = {}
+ if (req.query.from) where.timestamp[db.Op.gte] = req.query.from
+ if (req.query.to) where.timestamp[db.Op.lte] = req.query.to
+ }
+ if (req.query.categories) where.category = req.query.categories.split(',')
+ if (req.query.clients) where.clientId = req.query.clients.split(',')
+ if (req.query.groups) where.groupId = req.query.groups.split(',')
+ if (req.query.users) where.userId = req.query.users.split(',')
+ const log = await db.log.findAll({ where, include: ['client', 'group', 'user'], order: [['timestamp', 'DESC']] })
log.forEach(entry => {
if (entry.clientSnapshot) entry.clientSnapshot = JSON.parse(entry.clientSnapshot)
if (entry.groupSnapshot) entry.groupSnapshot = JSON.parse(entry.groupSnapshot)