diff --git a/components/Dashboard/Header.tsx b/components/Dashboard/Header.tsx index 39e4df1..42f9745 100644 --- a/components/Dashboard/Header.tsx +++ b/components/Dashboard/Header.tsx @@ -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) { diff --git a/services/teamService.tsx b/services/teamService.tsx index beb9774..eae26d8 100644 --- a/services/teamService.tsx +++ b/services/teamService.tsx @@ -258,20 +258,54 @@ export default class TeamService implements IService { ); } - async getActiveOrInvitedTeamsbyUser(userId: string): Promise { + async getActiveOrInvitedTeamsbyUser( + userId: string, + email: string + ): Promise { // 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[]; + 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); } }