server: Allow to rename the household

This commit is contained in:
traxys 2023-05-29 22:08:43 +02:00
parent c23da789a1
commit f815441240
3 changed files with 22 additions and 2 deletions

View file

@ -38,6 +38,11 @@ pub struct CreateHouseholdResponse {
pub id: Uuid,
}
#[derive(Serialize, Deserialize)]
pub struct RenameHouseholdRequest {
pub name: String,
}
#[derive(Serialize, Deserialize)]
pub struct AddToHouseholdRequest {
pub user: Uuid,

View file

@ -11,7 +11,7 @@ use sea_query::OnConflict;
use api::{
AddToHouseholdRequest, CreateHouseholdRequest, CreateHouseholdResponse, EmptyResponse,
Households,
Households, RenameHouseholdRequest,
};
use serde::Deserialize;
@ -154,3 +154,17 @@ pub(super) async fn leave(
Ok(Json(EmptyResponse {}))
}
pub(super) async fn rename(
AuthorizedHousehold(household): AuthorizedHousehold,
state: State<AppState>,
Json(request): Json<RenameHouseholdRequest>,
) -> super::JsonResult<EmptyResponse> {
let mut household: household::ActiveModel = household.into();
household.name = ActiveValue::Set(request.name);
household.update(&state.db).await?;
Ok(Json(EmptyResponse {}))
}

View file

@ -188,7 +188,8 @@ pub(crate) fn router(api_allowed: Option<HeaderValue>) -> Router<AppState> {
"/household/:house_id",
put(household::add_member)
.delete(household::leave)
.layer(mk_service(vec![Method::PUT, Method::DELETE])),
.patch(household::rename)
.layer(mk_service(vec![Method::PUT, Method::DELETE, Method::PATCH])),
)
.route(
"/household/:house_id/ingredients/:iid",