UNPKG

1.69 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _express = require('express');
8
9var _getRequestHandler = require('./getRequestHandler');
10
11var _getRequestHandler2 = _interopRequireDefault(_getRequestHandler);
12
13var _getSwagger = require('./getSwagger');
14
15var _getSwagger2 = _interopRequireDefault(_getSwagger);
16
17var _getMeta = require('./getMeta');
18
19var _getMeta2 = _interopRequireDefault(_getMeta);
20
21var _walkResources = require('./walkResources');
22
23var _walkResources2 = _interopRequireDefault(_walkResources);
24
25function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
27exports.default = function () {
28 var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
29 swagger = _ref.swagger,
30 base = _ref.base,
31 resources = _ref.resources;
32
33 if (!resources) throw new Error('Missing resources option');
34 var router = (0, _express.Router)({ mergeParams: true });
35 router.swagger = (0, _getSwagger2.default)({ swagger: swagger, base: base, resources: resources });
36 router.meta = (0, _getMeta2.default)({ base: base, resources: resources });
37 router.base = base;
38 router.get('/swagger.json', function (req, res) {
39 return res.status(200).json(router.swagger).end();
40 });
41 router.get('/meta.json', function (req, res) {
42 return res.status(200).json(router.meta).end();
43 });
44
45 (0, _walkResources2.default)(resources, function (_ref2) {
46 var path = _ref2.path,
47 method = _ref2.method,
48 endpoint = _ref2.endpoint;
49
50 router[method](path, (0, _getRequestHandler2.default)(endpoint));
51 });
52 return router;
53};
54
55module.exports = exports['default'];
\No newline at end of file