UNPKG

835 BJavaScriptView Raw
1'use strict'
2
3const swaggerSpec = require('./swaggerSpec')
4const routeRegister = require('./routeRegister')
5const fileHandlers = require('./fileHandlers')
6const fileAuthorizers = require('./fileAuthorizers')
7const SwaggerApis = require('./SwaggerApis')
8const Options = require('./options')
9
10module.exports = addHandlers
11
12function addHandlers(app, options) {
13 const api = swaggerSpec.getSpecSync(options.api)
14 const operations = swaggerSpec.getAllOperations(api)
15
16 options = Options.applyDefaultOptions(options, { api })
17 app = Options.applyDefaultAppOptions(app)
18
19 routeRegister.registerRoutes(app, operations, options)
20
21 fileHandlers.disableOldHandlers(operations, options)
22 fileAuthorizers.disableOldAuthorizers(options)
23
24 if (app.swagger) app.swagger.add(api)
25 else app.swagger = new SwaggerApis().add(api)
26
27 return app
28}