Add route /family/list

This commit is contained in:
2023-06-20 18:55:14 +02:00
parent 0ef722d29f
commit 3004f57185
5 changed files with 33 additions and 3 deletions

View File

@ -1,6 +1,9 @@
use crate::connections::db_connection;
use crate::constants::FAMILY_INVITATION_CODE_LEN;
use crate::models::{Family, FamilyID, Membership, NewFamily, NewMembership, UserID};
use crate::manual_schema::families_memberships;
use crate::models::{
Family, FamilyID, FamilyMembership, Membership, NewFamily, NewMembership, UserID,
};
use crate::schema::{families, memberships};
use crate::utils::string_utils::rand_str;
use crate::utils::time_utils::time;
@ -66,6 +69,15 @@ pub async fn is_member(family_id: FamilyID, user_id: UserID) -> anyhow::Result<b
.map(|c: i64| c > 0)
}
/// Get the memberships of a user
pub async fn get_user_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))
.get_results(conn)
})
}
/// Remove a membership to a family
pub async fn remove_membership(_family_id: FamilyID, _user_id: UserID) {
todo!()