function profileGen(username, container) { queryAPIByUser("", username, (user) => { if(!user.hasOwnProperty("id")) { alert("User Does Not Exist"); window.location.href = "./GraphGenerator.html"; } parseOrgs(user.login).then( (orgsReturn) => { if (user.blog) { const rx = new RegExp("^(http|https)://", "i"); const match = rx.test(user.blog); user.blog = match ? user.blog : `http://${user.blog}`; } let html = `
${user.avatar_url}
${user.name}
${user.login} ${user.bio != null ? `

${user.bio}

` : ""}
${orgsReturn != [] ? `

Organizations

${orgsReturn}` : ""}
`; $("#"+container).html(html); }) }, () => { alert("User Does Not Exist"); window.location.href = "./GraphGenerator.html"; }); } function parseOrgs(name) { return new Promise( (resolve, reject) => { let urlpath = `api/users/${name}/orgs`; let orgs_final = []; queryUrl(urlpath, (orgs) => { var prom= []; for(var i = 0;i < orgs.length; i++) { prom.push( new Promise( (res, rej) => { url = orgs[i].url; queryUrl(url, (orgData) => { console.log(orgData); orgs_final.push(""); res(); }, (error) => { console.log(error); rej(error); console.error("error getting org info"); }); }) ) } Promise.all(prom).then(function() { resolve(orgs_final.join(" ")); }) }, (error) => { resolve([]); }); }) } function graphUrl(user) { return "/FriendsGraph.html?name="+user; } function timelineUrl(user) { return "/TimeLineGraph.html?name="+user; }