UNPKG

1.22 kBJavaScriptView Raw
1"use strict";const e=require("bluebird"),r=require("prompt-promise"),o=e.resolve,t=require("path"),i=require("./../utils/files.js"),s=require("../utils"),l=s.messagesHandler,n=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,u=t.join(i.getHomeDirectory(),"flow");function a(e){return n.test(e)}module.exports=e.coroutine(function*(n){var d;try{d=yield s.readCredentials()}catch(e){}if(d)return e.reject(l("USER_LOGGED_IN_ERROR"));var c=yield r("Enter Email: ");if(!c||!a(c))return e.reject(l("INVALID_EMAIL"));var p=yield r.password("Enter Password: ");if(!p)return e.reject(l("INVALID_PASSWORD"));r.done(),console.log("Loading...");var y={body:{email:c,password:p},method:"POST"};yield i.ensureDirectory(u);try{var m=(yield s.makeApiCall("/user/login",y)).body.token;yield i.writeFile(t.join(u,".deploy"),JSON.stringify({key:m}))}catch(r){return e.reject(r)}return Console.info(l("LOGIN_SUCCESS")),o(!0)}),module.exports.argSpecs=[],module.exports.argOptionsSpecs={},module.exports.help="Login to Built.io Flow account",module.exports.snippet="flow login",module.exports.docs="Login to Built.io Flow account";
\No newline at end of file