UNPKG

@flowfuse/flowfuse

Version:

An open source low-code development platform

34 lines (33 loc) 1.74 kB
module.exports = { defaultPreHandler: async (app, request, reply) => { if (request.params.deviceId !== undefined) { if (request.params.deviceId) { try { request.device = await app.db.models.Device.byId(request.params.deviceId) if (!request.device) { reply.code(404).send({ code: 'not_found', error: 'Not Found' }) return } if (request.session.User) { request.teamMembership = await request.session.User.getTeamMembership(request.device.Team.id) if (request.device.ApplicationId) { request.applicationId = app.db.models.Application.encodeHashid(request.device.ApplicationId) } if (!request.teamMembership && !request.session.User.admin) { reply.code(404).send({ code: 'not_found', error: 'Not Found' }) return // eslint-disable-line no-useless-return } } else if (request.session.ownerId !== request.params.deviceId) { // AccesToken being used - but not owned by this project reply.code(404).send({ code: 'not_found', error: 'Not Found' }) return // eslint-disable-line no-useless-return } } catch (err) { reply.code(404).send({ code: 'not_found', error: 'Not Found' }) } } else { reply.code(404).send({ code: 'not_found', error: 'Not Found' }) } } } }