UNPKG

js-abstract-synchronizer

Version:
53 lines (38 loc) 1.56 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _httpStatus = require('http-status'); var _httpStatus2 = _interopRequireDefault(_httpStatus); var _bodyParser = require('body-parser'); var _bodyParser2 = _interopRequireDefault(_bodyParser); var _cors = require('cors'); var _cors2 = _interopRequireDefault(_cors); var _express = require('express'); var _express2 = _interopRequireDefault(_express); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = function (_ref) { var _ref$middlewares = _ref.middlewares, middlewares = _ref$middlewares === undefined ? [] : _ref$middlewares, serializer = _ref.serializer; var app = (0, _express2.default)(); middlewares.forEach(function (middleware) { return app.use(middleware); }); app.use((0, _cors2.default)()).use(_bodyParser2.default.json()).get('/object/:id', function (req, res) { var object = serializer.create({ id: req.params.id }); object.reload().then(function () { return res.json(JSON.parse(object.getSerializedStoredData())); }).catch(function () { return res.status(_httpStatus2.default.NOT_FOUND).end(); }); }).post('/object', function (req, res) { var object = serializer.createFromSerializedData(req.body); object.save().then(function () { return res.json(JSON.parse(object.getSerializedStoredData())); }).catch(function () { return res.status(_httpStatus2.default.NOT_FOUND).end(); }); }); return app; };