structure-event-collector
Version:
Collect arbitrary events
157 lines (118 loc) • 3.89 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _assign = require('babel-runtime/core-js/object/assign');
var _assign2 = _interopRequireDefault(_assign);
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
exports.default = function (RootController, EventModel) {
/**
* EventsController Class
*
* @public
* @class EventsController
*/
return function (_RootController) {
(0, _inherits3.default)(EventsController, _RootController);
/**
* EventsController constructor
*
* @public
* @constructor
* @param {Object} options - Options
*/
function EventsController() {
var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
(0, _classCallCheck3.default)(this, EventsController);
return (0, _possibleConstructorReturn3.default)(this, (EventsController.__proto__ || (0, _getPrototypeOf2.default)(EventsController)).call(this, (0, _assign2.default)({}, {
name: 'events'
}, options)));
}
/**
* Create new event
*
* @public
* @param {Object} req - Express req
* @param {Object} res - Express res
*/
(0, _createClass3.default)(EventsController, [{
key: 'create',
value: function create(req, res) {
var event = new EventModel();
var time = new Date().toISOString();
var pkg = (0, _assign2.default)({}, req.body, {
ip: req.ip,
origin: req.get('Origin') ? req.get('Origin').replace(/^https?:\/\//, '') : '',
referrer: req.get('Referrer'),
time: time,
useragent: req.get('User-Agent')
});
return event.create(pkg);
}
/**
* Delete an event by id
*
* @public
* @param {Object} req - Express req
* @param {Object} res - Express res
*/
}, {
key: 'deleteById',
value: function deleteById(req, res) {
var event = new EventModel();
return event.deleteById(req.params.id);
}
/**
* Get event by id
*
* @public
* @param {Object} req - Express req
* @param {Object} res - Express res
*/
}, {
key: 'getById',
value: function getById(req, res) {
var event = new EventModel();
return event.getById(req.params.id);
}
/**
* Get all events
*
* @public
* @param {Object} req - Express req
* @param {Object} res - Express res
*/
}, {
key: 'getAll',
value: function getAll(req, res) {
var event = new EventModel();
return event.getAll();
}
/**
* Update a event
*
* @public
* @param {Object} req - Express req
* @param {Object} res - Express res
*/
}, {
key: 'updateById',
value: function updateById(req, res) {
var event = new EventModel();
return event.updateById(req.params.id, req.body);
}
}]);
return EventsController;
}(RootController);
};
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
//# sourceMappingURL=controller.js.map