UNPKG

1.72 kBJavaScriptView Raw
1const e=require("swagger-parser"),r=require("bluebird"),s=process.cwd(),i=require("../utils"),t=require("../utils/swagger"),o=require("lodash"),l=r.promisifyAll,a=l(require("fs-extra")),n=require("./../utils/files.js"),u=require("path"),c=require("js-beautify"),g=i.messagesHandler;function p(e){process.stdout.write("Processing "+e.substr(0,30)+"... \r")}module.exports=r.coroutine(function*(r){var l=yield e.validate(r);if("2.0"!==l.swagger)return void console.error(g("SWAGGER_IMPORT_FAILURE"));console.log(g("SWAGGER_IMPORT_STATUS"));var d=yield t.swagger2Config(l),f=o.template(yield a.readFileAsync(u.join(CLI_PATH,"snippets/swagger-config.js"),"utf8"))(d);const y=u.join(s,"action","v1");yield n.ensureDirectory(y),yield a.writeFileAsync(u.join(y,"config.js"),f,"utf8");var m,w=t.swagger2Action(l);try{m=yield n.getIndex()}catch(e){return Console.error(e)}m.actions=[];for(var A=0;A<w.length;A++)for(var j=0;j<w[A].length;j++){var S=o.template(yield a.readFileAsync(u.join(CLI_PATH,"snippets/swagger-action.js"),"utf8"))(w[A][j]);S=c.js_beautify(S),p(w[A][j].name),yield a.writeFileAsync(u.join(y,w[A][j].name+".js"),S,"utf8"),m.actions.push("/v1/"+w[A][j].name)}process.stdout.write("[?25h"),process.stdout.clearLine();const h=u.join(s,"index.json");yield a.writeFileAsync(h,JSON.stringify(m,null,2),"utf8");var v=t.swagger2Auth(l);yield i.createAuth(v),console.log(g("SWAGGER_IMPORT_SUCCESS")),i.setHistory("import","Import Swagger File : "+r)}),module.exports.argSpecs=[{parameter:"filePath",required:!0}],module.exports.argOptionsSpecs={},module.exports.help="Import Swagger File",module.exports.snippet="flow import",module.exports.docs="Imports all api calls from your swagger file and creates action for it";
\No newline at end of file