Add 'accepted' field to TeamMember

This commit is contained in:
Geometrically
2020-12-26 22:49:07 -07:00
parent 4beace1bb0
commit bd5d84abcd
5 changed files with 63 additions and 53 deletions

View File

@@ -93,7 +93,7 @@ impl TeamMember {
"
SELECT id, user_id, role, permissions, accepted
FROM team_members
WHERE (team_id = $1 AND accepted = TRUE)
WHERE team_id = $1
",
id as TeamId,
)

View File

@@ -51,4 +51,6 @@ pub struct TeamMember {
pub role: String,
/// A bitset containing the user's permissions in this team
pub permissions: Option<Permissions>,
/// Whether the user has joined the team or is just invited to it
pub accepted: bool,
}

View File

@@ -30,6 +30,7 @@ pub async fn team_members_get(
user_id: data.user_id.into(),
role: data.role,
permissions: Some(data.permissions),
accepted: data.accepted,
})
.collect();
@@ -37,14 +38,20 @@ pub async fn team_members_get(
}
}
let team_members: Vec<crate::models::teams::TeamMember> = members_data
.into_iter()
.map(|data| crate::models::teams::TeamMember {
user_id: data.user_id.into(),
role: data.role,
permissions: None,
})
.collect();
let mut team_members: Vec<crate::models::teams::TeamMember> = Vec::new();
for team_member in members_data {
if team_member.accepted {
team_members.push(
crate::models::teams::TeamMember {
user_id: team_member.user_id.into(),
role: team_member.role,
permissions: None,
accepted: team_member.accepted
}
)
}
}
Ok(HttpResponse::Ok().json(team_members))
}

View File

@@ -182,6 +182,7 @@ pub async fn teams(
} else {
None
},
accepted: data.accepted
})
.collect();