handling invited users and activating them
This commit is contained in:
@@ -80,7 +80,9 @@ export default function TeamVoiceLine() {
|
|||||||
try {
|
try {
|
||||||
// listeners for all teammates' status
|
// listeners for all teammates' status
|
||||||
if (teamMembers) {
|
if (teamMembers) {
|
||||||
|
console.log(teamMembers);
|
||||||
teamMembers.map((tmember) => {
|
teamMembers.map((tmember) => {
|
||||||
|
console.log(tmember);
|
||||||
if (tmember.status == TeamMemberStatus.activated) {
|
if (tmember.status == TeamMemberStatus.activated) {
|
||||||
const docRef = doc(db, Collections.users, tmember.userId);
|
const docRef = doc(db, Collections.users, tmember.userId);
|
||||||
|
|
||||||
|
|||||||
+10
-1
@@ -57,7 +57,7 @@ function RouteHandler() {
|
|||||||
const returnedTeamMembers = await teamService.getTeamMembersByUserId(
|
const returnedTeamMembers = await teamService.getTeamMembersByUserId(
|
||||||
currUser.uid
|
currUser.uid
|
||||||
);
|
);
|
||||||
console.log(returnedTeamMembers);
|
|
||||||
// if the user is deleted from a team, don't let them go there
|
// if the user is deleted from a team, don't let them go there
|
||||||
var teamId = "";
|
var teamId = "";
|
||||||
returnedTeamMembers.map((tm) => {
|
returnedTeamMembers.map((tm) => {
|
||||||
@@ -75,6 +75,15 @@ function RouteHandler() {
|
|||||||
return;
|
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);
|
setLoading(false);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
|
|||||||
@@ -131,6 +131,31 @@ export default class TeamService implements IService {
|
|||||||
return teamMember;
|
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[]> {
|
async getTeamMembersByUserId(userId: string): Promise<TeamMember[]> {
|
||||||
const q = query(
|
const q = query(
|
||||||
collection(this.db, Collections.teamMembers),
|
collection(this.db, Collections.teamMembers),
|
||||||
|
|||||||
Reference in New Issue
Block a user