adding logic for activating user

This commit is contained in:
Arjun Patel
2022-01-14 13:15:52 -08:00
parent 99694fabb9
commit 10b52fbe0d
2 changed files with 74 additions and 17 deletions
+36 -15
View File
@@ -27,29 +27,50 @@ export default function TeamDashboard() {
return
}
if (typeof teamid !== "string") {
console.log('not a proper query with teamid')
router.push('/teams')
return
}
// check if the team is a valid team and that user is in it
if (typeof teamid === "string") {
const returnedTeam = await teamService.getTeam(teamid)
const returnedTeamMember = await teamService.getTeamMember(teamid, currUser.uid)
const returnedTeam = await teamService.getTeam(teamid)
if (!returnedTeam) {
console.log('team doesnt exist')
router.push('/teams')
return
}
console.log(returnedTeam)
console.log(returnedTeamMember)
const returnedTeamMember = await teamService.getTeamMemberByUserId(teamid, currUser.uid)
// if there is no such team OR
// if you are not a member of this team, then get out of here
if (!returnedTeam || !returnedTeamMember || returnedTeamMember.status == TeamMemberStatus.deleted) {
console.log('no team exists, or am not activated in it')
// router.push('/teams')
return
console.log(returnedTeam)
console.log(returnedTeamMember)
// if you are not a member of this team, then get out of here
// but have to check through email invite and userid
if (returnedTeamMember && returnedTeamMember.status == TeamMemberStatus.deleted) {
console.log('user was deleted from team')
router.push('/teams')
return
}
// if there is no team member through user id,
// give him last chance and see if he was invited
if (!returnedTeamMember) {
const invitedTeamMember = await teamService.getTeamMemberByEmailInvite(teamid, currUser.email)
if (!invitedTeamMember) {
console.log('not invited to team either')
router.push('/teams')
return
}
// if I am new to the team but I was invited, and this is my first time, then activate me into the team
// and proceed with showing the dashboard stuff
} else {
console.log('not a proper query with teamid')
router.push('/teams')
return
invitedTeamMember.status = TeamMemberStatus.activated
invitedTeamMember.userId = currUser.uid
await teamService.updateTeamMember(invitedTeamMember)
}
} catch(error) {
console.log(error)