UNPKG

@universis/candidates

Version:

Universis api server plugin for study program candidates, internship selection etc

100 lines (84 loc) 4.91 kB
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.studyProgramEnrollmentEventRouter = studyProgramEnrollmentEventRouter;var _express = _interopRequireDefault(require("express")); var _multer = require("./middlewares/multer"); var _common = require("@themost/common"); var _path = _interopRequireDefault(require("path"));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {try {var info = gen[key](arg);var value = info.value;} catch (error) {reject(error);return;}if (info.done) {resolve(value);} else {Promise.resolve(value).then(_next, _throw);}}function _asyncToGenerator(fn) {return function () {var self = this,args = arguments;return new Promise(function (resolve, reject) {var gen = fn.apply(self, args);function _next(value) {asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);}function _throw(err) {asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);}_next(undefined);});};} function studyProgramEnrollmentEventRouter(configuration) { const router = _express.default.Router(); const upload = (0, _multer.multerInstance)(configuration); upload.storage.getDestination(null, null, (err, destination) => { if (err) { _common.TraceUtils.error(`Routes: An error occurred while initializing instructors router.`); return _common.TraceUtils.error(err); } _common.TraceUtils.info(`Routes: Instructors router starts using "${_path.default.resolve(destination)}" as user storage.`); }); const validateUser = /*#__PURE__*/function () {var _ref = _asyncToGenerator(function* (context, enrollmentEventId) { const enrollmentEvent = yield context. model('StudyProgramEnrollmentEvent'). where('viewers/name'). equal(context.user.name). and("id"). equal(enrollmentEventId). select('id'). value(); if (enrollmentEvent) { return true; } return false; });return function validateUser(_x, _x2) {return _ref.apply(this, arguments);};}(); router.post('/:id/requests/:request/review', /*#__PURE__*/function () {var _getEntity = _asyncToGenerator(function* (req, res, next) { try { const request = yield req.context.model('StudyProgramRegisterAction').where('id').equal(req.params.request).silent().getTypedItem(); yield request.setReview(req.body); return res.json(); } catch (err) { return next(err); } });function getEntity(_x3, _x4, _x5) {return _getEntity.apply(this, arguments);}return getEntity;}()); router.get('/:id/requests/:request/messages', /*#__PURE__*/function () {var _getEntity2 = _asyncToGenerator(function* (req, res, next) { try { const context = req.context; const enrollmentEvent = req.params.id; const request = req.params.request; let query = context. model('StudyProgramRegisterActionMessage'). where('action'). equal(request). expand( { name: 'attachments' }, { name: 'sender', options: { $select: 'id,name,alternateName' } }). orderByDescending('dateCreated'); if ((yield validateUser(context, enrollmentEvent)) === true) { return res.json(yield query.silent().getItems()); } return res.json(yield query.getItems()); } catch (err) { return next(err); } });function getEntity(_x6, _x7, _x8) {return _getEntity2.apply(this, arguments);}return getEntity;}()); router.post('/:id/requests/:request/message', /*#__PURE__*/function () {var _getEntity3 = _asyncToGenerator(function* (req, res, next) { try { const request = yield req.context.model('StudyProgramRegisterAction').where('id').equal(req.params.request).silent().getTypedItem(); yield request.postMessages(req.body); return res.json(); } catch (err) { return next(err); } });function getEntity(_x9, _x10, _x11) {return _getEntity3.apply(this, arguments);}return getEntity;}()); router.post('/:id/requests/:request/sendMessage', upload.single('attachment'), /*#__PURE__*/function () {var _sendCourseClassStudentMessages = _asyncToGenerator(function* (req, res, next) { try { const request = yield req.context.model('StudyProgramRegisterAction').where('id').equal(req.params.request).silent().getTypedItem(); yield request.sendMessage(req.file, req.body); return res.json(); } catch (err) { return next(err); } });function sendCourseClassStudentMessages(_x12, _x13, _x14) {return _sendCourseClassStudentMessages.apply(this, arguments);}return sendCourseClassStudentMessages;}()); return router; } //# sourceMappingURL=studyProgramEnrollmentEventRouter.js.map