-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathadd-restlet-sections.js
More file actions
executable file
·48 lines (43 loc) · 1.78 KB
/
add-restlet-sections.js
File metadata and controls
executable file
·48 lines (43 loc) · 1.78 KB
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
40
41
42
43
44
45
46
47
48
#!/usr/bin/node
'use strict'
require('shelljs/global');
var fs = require('fs');
var YAML = require('js-yaml');
if(process.argv[2] != 'skip-regenerate')
{
console.log("first regenerate combined file to ensure it is up to date");
exec('swagger-repo bundle -o ./web_deploy/swagger.json'); //this wants a single dot
}
//now load that file
var swagger = JSON.parse(fs.readFileSync('web_deploy/swagger.json', 'utf-8'));
Object.keys(swagger).forEach(function(level1) {
//toplevels console.log(level1);
Object.keys(swagger[level1]).forEach(function(level2) {
//methods console.log(level2);
Object.keys(swagger[level1][level2]).forEach(function(level3) {
//get/post/delete console.log(level3);
if(swagger[level1][level2][level3]['tags'])
{
swagger[level1][level2]['x-restlet'] = { 'section' : swagger[level1][level2][level3]['tags'][0].toUpperCase() };
}
});
});
});
console.log('Saving modified yaml');
fs.writeFile('web_deploy/swagger.yaml', YAML.safeDump(swagger, {indent: 2, lineWidth: -1, noRefs: true}), (err) => {
if (err)
{
console.log('ERROR WRITING: web_deploy/swagger.yaml');
console.log(err);
console.log(process.cwd());
}
});
console.log('Saving modified json');
fs.writeFile('web_deploy/swagger.json', JSON.stringify(swagger, null, 2) + '\n' , (err) => {
if (err)
{
console.log('ERROR WRITING: web_deploy/swagger.json');
console.log(err);
console.log(process.cwd());
}
});