in src/server/api/cla.js [569:601]
async function prepareForValidation(item, user) {
const needRemove = []
let foundPR = false
await Promise.all(user.requests.map(async (pullRequests, index) => {
try {
const linkedItem = await cla.getLinkedItem({
repo: pullRequests.repo,
owner: pullRequests.owner
})
if ((linkedItem.owner === item.owner && linkedItem.repo === item.repo) || (item.org && linkedItem.org === item.org) || (linkedItem.gist === item.gist && item.sharedGist === true && linkedItem.sharedGist === true)) {
foundPR = true
needRemove.push(index)
validateUserPRs(pullRequests.repo, pullRequests.owner, linkedItem.gist, linkedItem.sharedGist, pullRequests.numbers, linkedItem.token, linkedItem)
}
return linkedItem
} catch (e) {
needRemove.push(index)
logger.warn(e.stack)
}
}).filter((promise) => {
return promise !== undefined
}))
needRemove.sort()
for (let i = needRemove.length - 1; i >= 0; --i) {
user.requests.splice(needRemove[i], 1)
}
user.save()
if (!foundPR) {
throw new Error('No user PRs found for the linked item')
}
}