function storeRequest()

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()
        }
    })
}