handling invited users and activating them
This commit is contained in:
@@ -80,7 +80,9 @@ export default function TeamVoiceLine() {
|
||||
try {
|
||||
// listeners for all teammates' status
|
||||
if (teamMembers) {
|
||||
console.log(teamMembers);
|
||||
teamMembers.map((tmember) => {
|
||||
console.log(tmember);
|
||||
if (tmember.status == TeamMemberStatus.activated) {
|
||||
const docRef = doc(db, Collections.users, tmember.userId);
|
||||
|
||||
|
||||
+10
-1
@@ -57,7 +57,7 @@ function RouteHandler() {
|
||||
const returnedTeamMembers = await teamService.getTeamMembersByUserId(
|
||||
currUser.uid
|
||||
);
|
||||
console.log(returnedTeamMembers);
|
||||
|
||||
// if the user is deleted from a team, don't let them go there
|
||||
var teamId = "";
|
||||
returnedTeamMembers.map((tm) => {
|
||||
@@ -75,6 +75,15 @@ function RouteHandler() {
|
||||
return;
|
||||
}
|
||||
|
||||
// last chance, if they are invited to a team, check for it
|
||||
const invitedTeamMember = await teamService.getTeamMembersByEmailInvite(
|
||||
currUser.email
|
||||
);
|
||||
|
||||
if (invitedTeamMember.length > 0) {
|
||||
router.push("/teams/" + invitedTeamMember[0].teamId);
|
||||
}
|
||||
|
||||
setLoading(false);
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
|
||||
@@ -131,6 +131,31 @@ export default class TeamService implements IService {
|
||||
return teamMember;
|
||||
}
|
||||
|
||||
async getTeamMembersByEmailInvite(
|
||||
emailAddress: string
|
||||
): Promise<TeamMember[]> {
|
||||
const q = query(
|
||||
collection(this.db, Collections.teamMembers),
|
||||
where("inviteEmailAddress", "==", emailAddress)
|
||||
);
|
||||
|
||||
const querySnapshot = await getDocs(q);
|
||||
|
||||
var teamMembers: TeamMember[] = [];
|
||||
querySnapshot.forEach((doc) => {
|
||||
// doc.data() is never undefined for query doc snapshots
|
||||
// get the first one and just return...shouldn't be more
|
||||
console.log("got teammember data");
|
||||
let teamMember: TeamMember = doc.data() as TeamMember;
|
||||
|
||||
teamMember.id = doc.id;
|
||||
|
||||
teamMembers.push(teamMember);
|
||||
});
|
||||
|
||||
return teamMembers;
|
||||
}
|
||||
|
||||
async getTeamMembersByUserId(userId: string): Promise<TeamMember[]> {
|
||||
const q = query(
|
||||
collection(this.db, Collections.teamMembers),
|
||||
|
||||
Reference in New Issue
Block a user