Cleaned up request and added try-catch for json parse of orgs

This commit is contained in:
FrenchBen 2015-09-14 18:25:44 -04:00
parent 67d9a9989f
commit 6aa6faf803
1 changed files with 57 additions and 72 deletions

View File

@ -119,30 +119,7 @@ module.exports = {
// Returns the base64 encoded index token or null if no token exists // Returns the base64 encoded index token or null if no token exists
repos: function (callback) { repos: function (callback) {
repositoryServerActions.reposLoading({repos: []}); repositoryServerActions.reposLoading({repos: []});
let namespaces = [];
hubUtil.request({
url: `${REGHUB2_ENDPOINT}/namespaces/`
}, (error, response, body) => {
if (error) {
repositoryServerActions.error({error});
if (callback) {
return callback(error);
}
return null;
}
if (response.statusCode !== 200) {
let generalError = new Error('Failed to fetch repos');
repositoryServerActions.error({error: generalError});
if (callback) {
return callback({error: generalError});
}
return null;
}
let data = JSON.parse(body);
let namespaces = data.namespaces;
// Get Orgs for user // Get Orgs for user
hubUtil.request({ hubUtil.request({
url: `${REGHUB2_ENDPOINT}/user/orgs/?page_size=50` url: `${REGHUB2_ENDPOINT}/user/orgs/?page_size=50`
@ -154,19 +131,28 @@ module.exports = {
} }
return null; return null;
} }
if (orgResponse.statusCode !== 200) { if (orgResponse.statusCode !== 200) {
let generalError = new Error('Failed to fetch repos'); let generalError = new Error('Failed to fetch repos');
repositoryServerActions.error({error: generalError}); repositoryServerActions.error({error: generalError});
if (callback) { if (callback) {
return callback({error: generalError}); callback({error: generalError});
} }
return null; return null;
} }
try {
let orgs = JSON.parse(orgBody); let orgs = JSON.parse(orgBody);
orgs.results.map((org) => { orgs.results.map((org) => {
namespaces.push(org.orgname); namespaces.push(org.orgname);
}); });
// Add current user
namespaces.push(hubUtil.username());
} catch(jsonError) {
repositoryServerActions.error({jsonError});
if (callback) {
return callback(jsonError);
}
}
async.map(namespaces, (namespace, cb) => { async.map(namespaces, (namespace, cb) => {
hubUtil.request({ hubUtil.request({
@ -175,7 +161,7 @@ module.exports = {
if (error) { if (error) {
repositoryServerActions.error({error}); repositoryServerActions.error({error});
if (callback) { if (callback) {
return callback(error); callback(error);
} }
return null; return null;
} }
@ -192,7 +178,7 @@ module.exports = {
if (error) { if (error) {
repositoryServerActions.error({error}); repositoryServerActions.error({error});
if (callback) { if (callback) {
return callback(error); callback(error);
} }
return null; return null;
} }
@ -213,6 +199,5 @@ module.exports = {
return null; return null;
}); });
}); });
});
} }
}; };