UNPKG

openhim-core

Version:

The OpenHIM core application that provides logging and routing of http requests

34 lines (25 loc) 1.26 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.getLatestEvents = getLatestEvents; var _events = require('../model/events'); var _authorisation = require('./authorisation'); var authorisation = _interopRequireWildcard(_authorisation); var _utils = require('../utils'); var utils = _interopRequireWildcard(_utils); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } async function getLatestEvents(ctx, receivedTime) { if (!authorisation.inGroup('admin', ctx.authenticated)) { utils.logAndSetResponse(ctx, 403, `User ${ctx.authenticated.email} is not an admin, API access to events denied.`, 'info'); return; } try { const rtDate = new Date(Number(receivedTime)); const results = await _events.EventModelAPI.find({ created: { $gte: rtDate } }).sort({ normalizedTimestamp: 1 }); ctx.body = { events: results }; } catch (err) { utils.logAndSetResponse(ctx, 500, `Could not fetch the latest events via the API: ${err}`, 'error'); } } //# sourceMappingURL=events.js.map