lamassu-server/lib/routes/logsRoutes.js
Cesar 558317e9f3 Feat: implement per operator settings cache
Fix: fix linter-found issues

Chore: move findOperatorId to own middleware file

Chore: delete old routes.js file and rename new-routes.js to routes.js

Fix: PR fixes
2021-03-19 14:04:31 +00:00

34 lines
870 B
JavaScript

const express = require('express')
const router = express.Router()
const state = require('../middlewares/state')
const logs = require('../logs')
const THROTTLE_LOGS_QUERY = 30 * 1000
function getLastSeen (req, res, next) {
const deviceId = req.deviceId
const timestamp = Date.now()
const shouldTrigger = !state.canGetLastSeenMap[deviceId] ||
timestamp - state.canGetLastSeenMap[deviceId] >= THROTTLE_LOGS_QUERY
if (shouldTrigger) {
state.canGetLastSeenMap[deviceId] = timestamp
return logs.getLastSeen(deviceId)
.then(r => res.json(r))
.catch(next)
}
return res.status(408).json({})
}
function updateLogs (req, res, next) {
return logs.update(req.deviceId, req.body.logs)
.then(status => res.json({ success: status }))
.catch(next)
}
router.get('/', getLastSeen)
router.post('/', updateLogs)
module.exports = router