Can delete member image
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
use crate::connections::db_connection;
|
||||
use crate::models::{FamilyID, Member, MemberID, NewMember};
|
||||
use crate::schema::members;
|
||||
use crate::services::photos_service;
|
||||
use crate::utils::time_utils::time;
|
||||
use diesel::prelude::*;
|
||||
use diesel::RunQueryDsl;
|
||||
@ -85,10 +86,25 @@ pub async fn update(member: &mut Member) -> anyhow::Result<()> {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// Delete a member photo
|
||||
pub async fn remove_photo(member: &mut Member) -> anyhow::Result<()> {
|
||||
match member.photo_id() {
|
||||
None => {}
|
||||
Some(photo) => {
|
||||
photos_service::delete(photo).await?;
|
||||
member.set_photo_id(None);
|
||||
update(member).await?;
|
||||
}
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// Delete a member
|
||||
pub async fn delete(member: &Member) -> anyhow::Result<()> {
|
||||
pub async fn delete(member: &mut Member) -> anyhow::Result<()> {
|
||||
// TODO : remove associated couple
|
||||
// TODO : remove user photo
|
||||
|
||||
remove_photo(member).await?;
|
||||
|
||||
// Remove the member
|
||||
db_connection::execute(|conn| {
|
||||
@ -101,8 +117,8 @@ pub async fn delete(member: &Member) -> anyhow::Result<()> {
|
||||
|
||||
/// Delete all the members of a family
|
||||
pub async fn delete_all_family(family_id: FamilyID) -> anyhow::Result<()> {
|
||||
for m in get_all_of_family(family_id).await? {
|
||||
delete(&m).await?;
|
||||
for mut m in get_all_of_family(family_id).await? {
|
||||
delete(&mut m).await?;
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
Reference in New Issue
Block a user