Add route /family/list
This commit is contained in:
@ -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!()
|
||||
|
Reference in New Issue
Block a user