Can delete member image
This commit is contained in:
@ -3,7 +3,7 @@ use crate::controllers::HttpResult;
|
||||
use crate::extractors::family_extractor::FamilyInPath;
|
||||
use crate::extractors::member_extractor::FamilyAndMemberInPath;
|
||||
use crate::models::{Member, MemberID, Sex};
|
||||
use crate::services::members_service;
|
||||
use crate::services::{members_service, photos_service};
|
||||
use crate::utils::countries_utils;
|
||||
use actix_multipart::form::tempfile::TempFile;
|
||||
use actix_multipart::form::MultipartForm;
|
||||
@ -237,13 +237,13 @@ pub async fn create(f: FamilyInPath, req: web::Json<MemberRequest>) -> HttpResul
|
||||
|
||||
if let Err(e) = req.0.to_member(&mut member).await {
|
||||
log::error!("Failed to apply member information! {e}");
|
||||
members_service::delete(&member).await?;
|
||||
members_service::delete(&mut member).await?;
|
||||
return Ok(HttpResponse::BadRequest().body(e.to_string()));
|
||||
}
|
||||
|
||||
if let Err(e) = members_service::update(&mut member).await {
|
||||
log::error!("Failed to update member information! {e}");
|
||||
members_service::delete(&member).await?;
|
||||
members_service::delete(&mut member).await?;
|
||||
return Ok(HttpResponse::InternalServerError().finish());
|
||||
}
|
||||
|
||||
@ -291,7 +291,7 @@ pub async fn update(m: FamilyAndMemberInPath, req: web::Json<MemberRequest>) ->
|
||||
|
||||
/// Delete a member
|
||||
pub async fn delete(m: FamilyAndMemberInPath) -> HttpResult {
|
||||
members_service::delete(&m).await?;
|
||||
members_service::delete(&mut m.to_member()).await?;
|
||||
Ok(HttpResponse::Ok().finish())
|
||||
}
|
||||
|
||||
@ -303,8 +303,24 @@ pub struct UploadPhotoForm {
|
||||
|
||||
/// Upload a new photo for a user
|
||||
pub async fn set_photo(
|
||||
_m: FamilyAndMemberInPath,
|
||||
MultipartForm(_form): MultipartForm<UploadPhotoForm>,
|
||||
m: FamilyAndMemberInPath,
|
||||
MultipartForm(form): MultipartForm<UploadPhotoForm>,
|
||||
) -> HttpResult {
|
||||
todo!()
|
||||
let photo = photos_service::finalize_upload(form.photo).await?;
|
||||
let mut member = m.to_member();
|
||||
|
||||
members_service::remove_photo(&mut member).await?;
|
||||
|
||||
member.set_photo_id(Some(photo.id()));
|
||||
members_service::update(&mut member).await?;
|
||||
|
||||
Ok(HttpResponse::Ok().finish())
|
||||
}
|
||||
|
||||
/// Remove a photo
|
||||
pub async fn remove_photo(m: FamilyAndMemberInPath) -> HttpResult {
|
||||
let mut member = m.to_member();
|
||||
members_service::remove_photo(&mut member).await?;
|
||||
|
||||
Ok(HttpResponse::Ok().finish())
|
||||
}
|
||||
|
Reference in New Issue
Block a user