async function validatePR()

in src/server/api/cla.js [478:507]


async function validatePR(args, item) {
    args.token = args.token ? args.token : token
    try {
        if (!item) {
            item = await cla.getLinkedItem(args)
        }
        args.token = item.token
        if (!item.gist) {
            return claNotRequired(args, 'updateForNullCla')
        }
        const isClaRequired = await cla.isClaRequired(args, item)
        if (!isClaRequired) {
            return claNotRequired(args, 'updateForClaNotRequired')
        }
        const checkResult = await cla.check(args, item)

        args.signed = checkResult.signed
        const userMap = checkResult.userMap

        const updateMethod = (!userMap ||
            (userMap.signed && userMap.signed.length > 0) ||
            (userMap.not_signed && userMap.not_signed.length > 0) ||
            (userMap.unknown && userMap.unknown.length > 0)) ? 'update' : 'updateForClaNotRequired'

        status[updateMethod](args)
        prService.badgeComment(args.owner, args.repo, args.number, args.signed, userMap)
    } catch (e) {
        logger.error(e.stack, removeToken(args))
    }
}