fixing the bug of all the crap of promises but i think i got it...it was map that didn't skip elements

This commit is contained in:
Arjun Patel
2022-01-15 18:19:29 -08:00
parent eb6d771f68
commit f0bf26b6e0
2 changed files with 46 additions and 7 deletions
+6 -1
View File
@@ -44,7 +44,12 @@ export default function Header() {
try {
// get all the teams that this user is part of
const newTeams: Team[] =
await teamService.getActiveOrInvitedTeamsbyUser(currUser.uid);
await teamService.getActiveOrInvitedTeamsbyUser(
currUser.uid,
currUser.email
);
console.log(newTeams);
setUserTeams(newTeams);
} catch (error) {
+40 -6
View File
@@ -258,20 +258,54 @@ export default class TeamService implements IService {
);
}
async getActiveOrInvitedTeamsbyUser(userId: string): Promise<Team[]> {
async getActiveOrInvitedTeamsbyUser(
userId: string,
email: string
): Promise<Team[]> {
// get all of the teammember entries for the user
const userTeamMembers = await this.getTeamMembersByUserId(userId);
const userTeamMembersByEmail = await this.getTeamMembersByEmailInvite(
email
);
console.log(userTeamMembers);
console.log(userTeamMembersByEmail);
// traverse through and get the teams for each
const teams = await Promise.all(
userTeamMembers.map(async (tm) => {
var teams: Promise<Team>[];
if (userTeamMembers) {
teams = userTeamMembers.map(async (tm) => {
if (tm.status != TeamMemberStatus.deleted) {
let team = await this.getTeam(tm.teamId);
return team;
}
})
);
});
}
return teams;
const teamsInvitedReduced = userTeamMembersByEmail.reduce(function (
result,
tm
) {
if (tm.status == TeamMemberStatus.invited) {
this.getTeam(tm.teamId).then((team) => result.push(team));
}
return result;
},
[]);
return Promise.all([...teams, ...teamsInvitedReduced]);
// const teamsInvitedTo = userTeamMembersByEmail.map(async (tm) => {
// console.log("in map");
// if (tm.status == TeamMemberStatus.invited) {
// let team = await this.getTeam(tm.teamId);
// console.log("valid team");
// return team;
// }
// });
// console.log(teams);
// console.log(teamsInvitedTo);
}
}