-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathswagger.js
39 lines (33 loc) · 1.11 KB
/
swagger.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// swaggerAutogen
const swaggerAutogen = require('swagger-autogen')()
const fs = require('fs');
var path = require('path');
const { mode } = require('./config');
const routersFolder = './src/controllers';
let alltags = []
fs.readdir(routersFolder, (err, files) => {
files.forEach(file => {
if(file != 'index.js')
alltags.push({ "name": file.split('.')[0] })
});
});
const doc = {
info: {
title: "EDU Technology API Document",
description: "Description"
},
host: null,
schemes: [mode],
tags: alltags
}
const outputFile = './src/swagger/swagger-output.json'
const endpointsFiles = ['./index.js']
// const swaggerschema = require('./src/lib/swaggerschema')
const swaggerschema = require('swagger-schemagen')
const asyncfun = async (outputFile, endpointsFiles, doc, schemaFolder) => {
await swaggerAutogen(outputFile, endpointsFiles, doc)
// await swaggerschema(path.resolve(outputFile), path.resolve(schemaFolder))
await swaggerschema(outputFile, schemaFolder)
}
const schemaFolder = './src/schema/'
asyncfun(outputFile, endpointsFiles, doc, schemaFolder)