Multiple reference queries with export functions to assign specific badges to Wix members

I’ve got series of automations made in the backend of Wix which I’m trying to cross-reference within an onClick function which will automatically assign member badges to members based on specific criteria from a dataset pulled from Google Sheets API and stored in Wix in the collection “Members”.

This is an export function which is triggered by a button on a custom Admin Dashboard. Once a member joins the site, their email address from PrivateMembersData is cross-referenced with the “Members” to find their “type” (name of the badge to be assigned) and push their memberId to an array. It then runs the assignMembers backend function in Wix which is expecting (badgeId, memberIds). Most members have multiple badges to be assigned, and they are all entered as individual rows in the “Members” collection.

The problem I am having is that it seems to be only assigning certain badges and not others, and specifically getting console errors which are telling me memeberIds is in an invalid format. I’m new to js and navigating Wix’s backend and wondering if I’m missing an obvious step. Please help! Thanks in advance.

import wixData from 'wix-data'
import { assignBadge, removeBadge } from 'backend/badges.jsw';
import { assignMembersBackendFunction } from 'backend/badges';
let Badge_A = "b2e41432-xxx-585a28c34da5"
let Badge_B = "8b77b069-xxx-1b9fc066d370"
let Badge_C = "9759af91-xxx-cdb2a9b32dc0"
let Badge_D = "2e598b2d-xxx-de48ff644c9f"
let Badge_E = "f272734e-xxx-e33443395ae8"

export function assignAllBadgeButton_click() {
    let badge = "";
    let BA = [""]
    let BB = [""]
    let BC = [""]
    let BD = [""]
     wixData.query("Members")
        .find()
        .then((results) => {
            results.items.forEach(item => {
                let type = item.type
                wixData.query("Members/PrivateMembersData")
                    .eq("loginEmail", item.email)
                    .find()
                    .then((result) => {
                        let member = result.items[0]
                        console.log(member)
                        // clearBadges(member)

                        if (type == "Badge A Name") {
                            BA.push(member._id)
                            doSomething(BA, Badge_A)

                        }
                        else if (type == "Badge B Name") {

                            BB.push(member._id)
                            doSomething(BB, Badge_B)

                        }
                        else if (type == "Badge C Name") {
                            BC.push(member._id)
                            doSomething(BC, Badge_C)
                        }
                        else if (type == "Badge D Name") {
                            BD.push(member._id)
                            doSomething(BC, Badge_D)

                        } else {
                            console.log("no match")
                        }

                        doSomething(BA, Badge_A);
                        doSomething(BB, Badge_B);
                        doSomething(BC, Badge_C);
                        doSomething(BD, Badge_D)
                        
                    })
            })

        })

}

export function doSomething(userIDs, badge) {
    let results = userIDs
    for (let i = 0; i < userIDs.length; i++) {

        assignMembersBackendFunction(badge, [results[i]])
            .then((assignedMembers) => {
                console.log(assignedMembers)

                return assignedMembers;
            })

    }

}

export function clearBadges(member) {

    removeBadge(Badge_A, member)
        .then(() => {
            removeBadge(Badge_B, member)
                .then(() => {
                    removeBadge(Badge_C, member)
                        .then(() => {
                            removeBadge(Badge_D, member)
                                .then(() => {
                                   console.log("deleted")
                                        })
                                })
                        })
                })
        })
}

/// IN WIX BACKEND MODULE ///:

import { badges } from 'wix-users-backend';

export function assignBadge(badgeID, userIDs) {
 return badges.assignMembers(badgeID, userIDs);
}

//remove a badge from a list of users
export function removeBadge(badgeID, userIDs) {
 return badges.removeMembers(badgeID, userIDs);
}

export function assignMembersBackendFunction(badgeId, memberIds) {
  return badges.assignMembers(badgeId, memberIds);