Add PATCH /family/{id} route

This commit is contained in:
2023-06-22 14:37:48 +02:00
parent 6bbe69d01f
commit 4e1c78724f
3 changed files with 43 additions and 0 deletions

View File

@ -86,6 +86,25 @@ pub async fn leave(f: FamilyInPath) -> HttpResult {
Ok(HttpResponse::Accepted().finish())
}
#[derive(serde::Deserialize)]
pub struct UpdateFamilyBody {
name: String,
}
/// Update a family
pub async fn update(
f: FamilyInPathWithAdminMembership,
req: web::Json<UpdateFamilyBody>,
) -> HttpResult {
let mut family = families_service::get_by_id(f.family_id()).await?;
family.name = req.0.name;
families_service::update_family(&family).await?;
log::info!("User {:?} updated family {:?}", f.user_id(), f.family_id());
Ok(HttpResponse::Accepted().finish())
}
/// Delete a family
pub async fn delete(f: FamilyInPathWithAdminMembership) -> HttpResult {
families_service::delete_family(f.family_id()).await?;