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:
@@ -44,7 +44,12 @@ export default function Header() {
|
|||||||
try {
|
try {
|
||||||
// get all the teams that this user is part of
|
// get all the teams that this user is part of
|
||||||
const newTeams: Team[] =
|
const newTeams: Team[] =
|
||||||
await teamService.getActiveOrInvitedTeamsbyUser(currUser.uid);
|
await teamService.getActiveOrInvitedTeamsbyUser(
|
||||||
|
currUser.uid,
|
||||||
|
currUser.email
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log(newTeams);
|
||||||
|
|
||||||
setUserTeams(newTeams);
|
setUserTeams(newTeams);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
@@ -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
|
// get all of the teammember entries for the user
|
||||||
const userTeamMembers = await this.getTeamMembersByUserId(userId);
|
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
|
// traverse through and get the teams for each
|
||||||
const teams = await Promise.all(
|
var teams: Promise<Team>[];
|
||||||
userTeamMembers.map(async (tm) => {
|
if (userTeamMembers) {
|
||||||
|
teams = userTeamMembers.map(async (tm) => {
|
||||||
if (tm.status != TeamMemberStatus.deleted) {
|
if (tm.status != TeamMemberStatus.deleted) {
|
||||||
let team = await this.getTeam(tm.teamId);
|
let team = await this.getTeam(tm.teamId);
|
||||||
return team;
|
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user