UNPKG

1.73 kBJavaScriptView Raw
1var e=require("lodash"),r=require("bluebird"),t=require("path"),i=require("../utils/files"),n=require("../utils/messagehandler").messagesHandler,o=require("jsonschema"),u=require("fs"),a=o.Validator,c=t.join,s=new a;function l(e){try{var t=require(c(config.APP_DIR,"action",e))}catch(e){return Console.error(e.stack),r.resolve("Failed")}if(!t.mock_input)return r.reject("mock_input field not present in action ",e);var i=s.validate(t.mock_input,t.input);return i.valid?r.resolve(!0):(Console.error("Error in "+e+" "+i.errors.map(e=>e.message).join(" ")),r.resolve(!0))}function p(e){try{require(c(config.APP_DIR,"trigger",e))}catch(e){return Console.error(e.stack),r.reject("Failed")}return r.resolve(!0)}function h(e){var t=c(e,"lookup");return require(e).lookup?r.map(u.readdirSync(t),function(e){try{require(c(config.APP_DIR,"lookup",e))}catch(e){return Console.error(e.stack),r.reject("Failed")}return r.resolve(!0)}):r.resolve(!0)}function d(e){var t=null;if(!e.auth_type||"noauth"==e.auth_type)return r.resolve(!0);try{t="custom"!=auth_type?require(c(CLI_PATH,"snippets",e.auth_type+".input.js")):require(c(config.APP_DIR,"authentication.js"))}catch(e){return r.reject(n("INVALID_AUTH"))}t=t.input?t.input:t;try{var i=require(c(config.APP_DIR,"authentication.js")).mock_input}catch(e){return r.reject(n("NO_AUTH_FILE"))}var o=s.validate(t,i);return o?r.resolve(!0):r.reject(o.errors.map(e=>e.stack).join())}function f(e){return r.coroutine(function*(){yield r.each(e.actions,l),yield r.each(e.triggers,p),yield h(config.APP_DIR),yield d(e.auth_type)})().catch(e=>r.reject(e))}s.attributes.minLength=function(e,r,t,i){if(r.minLength>0&&0==!!e)return i.propertyPath+" missing required field"},module.exports={validate:f};
\No newline at end of file