in src/server/webhooks/pull_request.js [16:59]
function storeRequest(committers, repo, owner, number) {
committers.forEach(async committer => {
let user
try {
user = await User.findOne({
name: committer
})
} catch (error) {
logger.warn(new Error(error).stack)
}
const pullRequest = {
repo: repo,
owner: owner,
numbers: [number]
}
if (!user) {
try {
User.create({
name: committer,
requests: [pullRequest]
})
} catch (error) {
logger.warn(new Error(error).stack)
}
return
}
if (!user.requests || user.requests.length < 1) {
user.requests = user.requests ? user.requests : []
user.requests.push(pullRequest)
await user.save()
return
}
const repoPullRequests = user.requests.find(request => request.repo === repo && request.owner === owner)
if (repoPullRequests && repoPullRequests.numbers.indexOf(number) < 0) {
repoPullRequests.numbers.push(number)
user.save()
}
if (!repoPullRequests) {
user.requests.push(pullRequest)
user.save()
}
})
}