Add 'accepted' field to TeamMember

This commit is contained in:
Geometrically 2020-12-26 22:49:07 -07:00
parent 4beace1bb0
commit bd5d84abcd
No known key found for this signature in database
GPG Key ID: 90C056FDC8FC9FF0
5 changed files with 63 additions and 53 deletions

View File

@ -747,6 +747,50 @@
"nullable": []
}
},
"3831c1b321e47690f1f54597506a0d43362eda9540c56acb19c06532bba50b01": {
"query": "\n SELECT id, user_id, role, permissions, accepted\n FROM team_members\n WHERE team_id = $1\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Int8"
},
{
"ordinal": 1,
"name": "user_id",
"type_info": "Int8"
},
{
"ordinal": 2,
"name": "role",
"type_info": "Varchar"
},
{
"ordinal": 3,
"name": "permissions",
"type_info": "Int8"
},
{
"ordinal": 4,
"name": "accepted",
"type_info": "Bool"
}
],
"parameters": {
"Left": [
"Int8"
]
},
"nullable": [
false,
false,
false,
false,
false
]
}
},
"389088b3ccff3a3c970aba3deef8831cca140b74ffc74e43a1162a9021428820": {
"query": "\n SELECT f.id id, f.version_id version_id, f.filename filename, v.version_number version_number, v.mod_id mod_id FROM hashes h\n INNER JOIN files f ON h.file_id = f.id\n INNER JOIN versions v ON v.id = f.version_id\n WHERE h.algorithm = $2 AND h.hash = $1\n ",
"describe": {
@ -2122,50 +2166,6 @@
]
}
},
"9f93c94dd5d4fe4fad9c3021099a84b8e0c8cd2f0c9458063453f2416010657c": {
"query": "\n SELECT id, user_id, role, permissions, accepted\n FROM team_members\n WHERE (team_id = $1 AND accepted = TRUE)\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Int8"
},
{
"ordinal": 1,
"name": "user_id",
"type_info": "Int8"
},
{
"ordinal": 2,
"name": "role",
"type_info": "Varchar"
},
{
"ordinal": 3,
"name": "permissions",
"type_info": "Int8"
},
{
"ordinal": 4,
"name": "accepted",
"type_info": "Bool"
}
],
"parameters": {
"Left": [
"Int8"
]
},
"nullable": [
false,
false,
false,
false,
false
]
}
},
"a28188c4840d0f3449379b3bba6b3c4af9483e01f50fd56785317398a59881ca": {
"query": "\n SELECT files.id, files.url, files.filename, files.is_primary FROM files\n WHERE files.version_id = $1\n ",
"describe": {

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();