Can update couple information
This commit is contained in:
parent
4997132bf8
commit
ea84c45e8a
@ -130,3 +130,17 @@ pub async fn get_all(m: FamilyInPath) -> HttpResult {
|
|||||||
pub async fn get_single(m: FamilyAndCoupleInPath) -> HttpResult {
|
pub async fn get_single(m: FamilyAndCoupleInPath) -> HttpResult {
|
||||||
Ok(HttpResponse::Ok().json(CoupleAPI::new(m.to_couple())))
|
Ok(HttpResponse::Ok().json(CoupleAPI::new(m.to_couple())))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Update a couple information
|
||||||
|
pub async fn update(m: FamilyAndCoupleInPath, req: web::Json<CoupleRequest>) -> HttpResult {
|
||||||
|
let mut couple = m.to_couple();
|
||||||
|
|
||||||
|
if let Err(e) = req.0.to_couple(&mut couple).await {
|
||||||
|
log::error!("Failed to parse couple information {e}!");
|
||||||
|
return Ok(HttpResponse::BadRequest().body(e.to_string()));
|
||||||
|
}
|
||||||
|
|
||||||
|
couples_service::update(&mut couple).await?;
|
||||||
|
|
||||||
|
Ok(HttpResponse::Accepted().finish())
|
||||||
|
}
|
||||||
|
@ -175,6 +175,10 @@ async fn main() -> std::io::Result<()> {
|
|||||||
"/family/{id}/couple/{couple_id}",
|
"/family/{id}/couple/{couple_id}",
|
||||||
web::get().to(couples_controller::get_single),
|
web::get().to(couples_controller::get_single),
|
||||||
)
|
)
|
||||||
|
.route(
|
||||||
|
"/family/{id}/couple/{couple_id}",
|
||||||
|
web::put().to(couples_controller::update),
|
||||||
|
)
|
||||||
// Photos controller
|
// Photos controller
|
||||||
.route(
|
.route(
|
||||||
"/photo/{id}",
|
"/photo/{id}",
|
||||||
|
@ -332,7 +332,7 @@ impl CoupleState {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn parse_str(s: &str) -> Option<Self> {
|
pub fn parse_str(s: &str) -> Option<Self> {
|
||||||
serde_json::from_str(s).ok()
|
serde_json::from_str(&format!("\"{s}\"")).ok()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn states_list() -> Vec<CoupleStateDesc> {
|
pub fn states_list() -> Vec<CoupleStateDesc> {
|
||||||
|
Loading…
Reference in New Issue
Block a user