UNPKG

1.58 kBJavaScriptView Raw
1const e=process.cwd(),n=require("bluebird"),i=512e3,r=require("./api"),o=require("./credentials"),t=require("fs"),c=require("path"),a=require("image-size"),s=require("./files"),u=128;function d(){return n.coroutine(function*(){var e=yield s.getIndex(),i=e.appId,r=e.version,o="cli-"+i.toString()+"-"+r.toString();return n.resolve(o)})().catch(function(e){n.reject(e)})}function l(e){var n=t.readFileSync(e);return new Buffer(n).toString("base64")}function p(){return n.coroutine(function*(){const p=yield s.getIndex(),g=t.existsSync(c.join(e,"icon","icon.png")),f=t.existsSync(c.join(e,"icon","icon.jpg")),j=t.existsSync(c.join(e,"icon","icon.jpeg")),h=p.appId,y=p.version;if(!(g||f||j))return n.reject("Icon image not found!, filename icon.png or icon.jpg should be placed inside 'icon' folder");{const s=g?"icon.png":f?"icon.jpg":"icon.jpeg",p=a(c.join(e,"icon",s)),j=t.statSync(c.join(e,"icon",s));if(!(p.width==p.height&&p.height<=u&&j.size<=i))return n.reject("Invaild icon image, Please refer docs https://flowdocs.built.io/guide/connector-builder#adding-custom-icon");var b=l(c.join(e,"icon",s));try{var v=yield o.readCredentials()}catch(e){return n.reject(e)}var S=yield d(),m={body:{css:"."+S.toString()+"{ background: url(data:image/png;base64,"+b.toString()+") center center no-repeat }",label:S,app_id:h,app_version:y},headers:{accesstoken:JSON.parse(v).key},method:"PUT"};try{yield r.makeApiCall("/app/"+h+"/"+y+"/icon/upload",m);return n.resolve(!0)}catch(e){return n.reject(e)}}})().catch(function(e){return n.reject(e)})}module.exports={uploadIcon:p,getLabel:d};
\No newline at end of file