Add /family/{id}/info route
This commit is contained in:
@ -70,7 +70,7 @@ pub async fn is_member(family_id: FamilyID, user_id: UserID) -> anyhow::Result<b
|
||||
}
|
||||
|
||||
/// Get the memberships of a user
|
||||
pub async fn get_user_memberships(user_id: UserID) -> anyhow::Result<Vec<FamilyMembership>> {
|
||||
pub async fn get_user_family_memberships(user_id: UserID) -> anyhow::Result<Vec<FamilyMembership>> {
|
||||
db_connection::execute(|conn| {
|
||||
families_memberships::table
|
||||
.filter(families_memberships::dsl::user_id.eq(user_id.0))
|
||||
@ -78,6 +78,29 @@ pub async fn get_user_memberships(user_id: UserID) -> anyhow::Result<Vec<FamilyM
|
||||
})
|
||||
}
|
||||
|
||||
/// Get information about a membership of a user
|
||||
pub async fn get_membership(family_id: FamilyID, user_id: UserID) -> anyhow::Result<Membership> {
|
||||
db_connection::execute(|conn| {
|
||||
memberships::table
|
||||
.filter(memberships::dsl::user_id.eq(user_id.0))
|
||||
.filter(memberships::dsl::family_id.eq(family_id.0))
|
||||
.get_result(conn)
|
||||
})
|
||||
}
|
||||
|
||||
/// Get information about a membership of a user, joined with family information
|
||||
pub async fn get_family_membership(
|
||||
family_id: FamilyID,
|
||||
user_id: UserID,
|
||||
) -> anyhow::Result<FamilyMembership> {
|
||||
db_connection::execute(|conn| {
|
||||
families_memberships::table
|
||||
.filter(families_memberships::dsl::user_id.eq(user_id.0))
|
||||
.filter(families_memberships::dsl::family_id.eq(family_id.0))
|
||||
.get_result(conn)
|
||||
})
|
||||
}
|
||||
|
||||
/// Remove a membership to a family
|
||||
pub async fn remove_membership(_family_id: FamilyID, _user_id: UserID) {
|
||||
todo!()
|
||||
|
Reference in New Issue
Block a user