async function fetchSetUserInfoVotes()

in frontend/src/auth/SignInButton.js [19:46]


async function fetchSetUserInfoVotes(userDispatch, voteDispatch, signInUserSession, channelArn) {
    userDispatch({
        type: SET_SIGNED_IN_USER_ACTION,
        isModerator: getModeratorStatusFromSession(signInUserSession),
        accessJWTToken: signInUserSession.accessToken.jwtToken,
    })

    const votesResponse = await fetch(GET_VOTES_ENDPOINT, {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
            'Authorization': signInUserSession.accessToken.jwtToken,
        },
        body: JSON.stringify({ channelArn }),
    });

    if (votesResponse.status === 200) {
        const votes = await votesResponse.json()
        const questionIdMap = votes.reduce((map, v) => {
            map[v.QuestionId] = true;
            return map;
        }, {})
        voteDispatch({
            type: SET_VOTES_ACTION,
            questionIdMap,
        })
    }
}