async badgeComment()

in src/server/services/pullRequest.js [42:91]


    async badgeComment(owner, repo, pullNumber, signed, userMap) {
        let badgeUrl = url.pullRequestBadge(signed)
        let fun
        const arg = {
            owner: owner,
            repo: repo
        }
        try {
            const comment = await this.getComment({
                repo: repo,
                owner: owner,
                number: pullNumber
            })

            const claUrl = url.claURL(owner, repo, pullNumber)
            const recheckUrl = url.recheckPrUrl(owner, repo, pullNumber)
            arg.body = commentText(signed, badgeUrl, claUrl, userMap, recheckUrl)


            if (!comment && !signed) {
                fun = 'createComment'
                arg.issue_number = pullNumber
            } else if (comment && comment.id) {
                //Temporary fix of comments from outdated user
                if (comment.user && comment.user.login === 'claassistantio' && config.server.github.token_old) {
                    arg.comment_id = comment.id
                    return updateCommentOfDeprecatedUser(arg, pullNumber, owner, repo)
                } else if (arg.body === comment.body) {
                    logger.debug(`Skip updateComment for the PR ${url.githubHttpPullRequest(owner, repo, pullNumber)} as there are no text changes`)
                    return
                }
                fun = 'updateComment'
                arg.comment_id = comment.id
            } else {
                return
            }

            github.call({
                obj: 'issues',
                fun,
                arg,
                token: config.server.github.token,
            }).catch((error) => {
                logger.debug(`Failed on api call issues/${fun} for PR ${url.githubHttpPullRequest(owner, repo, pullNumber)}`)
                logger.warn(new Error(error).stack)
            })
        } catch (error) {
            logger.warn(new Error(error).stack)
        }
    }