async function handleComment()

in pull-request-evaluator/lib/gitlab-webhook/event-handler.js [33:73]


async function handleComment(data) {
    let projectId = data.project.id;
    let mrIid = data.merge_request.iid;

    /* getting the merge request and change list */
    let changeList = await gitlabMr.loadFull(projectId, mrIid);

    if (data.object_attributes.note && data.object_attributes.note == "/prSummary") {
        if (configHelper.getFuncPrSummary()) {
            let mrSummaryResponse = await aiHelper.prSummary(changeList);
            await gitlabMr.createMrComment(projectId, mrIid, mrSummaryResponse);
        }
    } else if (data.object_attributes.note && data.object_attributes.note == "/diffSummary") {
        if (configHelper.getFuncDiffSummary()) {
            let diffSummaryResponse = await aiHelper.diffSummary(changeList);
            await gitlabMr.createMrComment(projectId, mrIid, diffSummaryResponse);
        }
    } else if (data.object_attributes.note && data.object_attributes.note == "/diffRank") {
        if (configHelper.getFuncDiffRank()) {
            let diffRankResponse = await aiHelper.diffRank(changeList);
            await gitlabMr.createMrComment(projectId, mrIid, diffRankResponse);
        }
    } else if (data.object_attributes.note && data.object_attributes.note == "/fileSummary") {
        if (configHelper.getFuncFileSummary()) {
            let fileSummaryResponse = await aiHelper.fileSummary(changeList);
            await gitlabMr.createMrComment(projectId, mrIid, fileSummaryResponse);
        }
    } else if (data.object_attributes.note && data.object_attributes.note == "/filePerformance") {
        if (configHelper.getFuncFilePerformance()) {
            let filePerformanceResponse = await aiHelper.filePerformance(changeList);
            await gitlabMr.createMrComment(projectId, mrIid, filePerformanceResponse);
        }
    } else if (data.object_attributes.note && data.object_attributes.note == "/fileSecurity") {
        if (configHelper.getFuncFileSecurity()) {
            let securitySummaryResponse = await aiHelper.fileSecurity(changeList);
            await gitlabMr.createMrComment(projectId, mrIid, securitySummaryResponse);
        }
    } else if (data.object_attributes.note && data.object_attributes.note == "/help") {
        await gitlabMr.createHelpMrComment(projectId, mrIid);
    }
}