1 | 'use strict'
|
2 |
|
3 | const swaggerSpec = require('./swaggerSpec')
|
4 | const routeRegister = require('./routeRegister')
|
5 | const fileHandlers = require('./fileHandlers')
|
6 | const fileAuthorizers = require('./fileAuthorizers')
|
7 | const SwaggerApis = require('./SwaggerApis')
|
8 | const Options = require('./options')
|
9 |
|
10 | module.exports = addHandlers
|
11 |
|
12 | function 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 | }
|