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 {
|
||||
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}",
|
||||
web::get().to(couples_controller::get_single),
|
||||
)
|
||||
.route(
|
||||
"/family/{id}/couple/{couple_id}",
|
||||
web::put().to(couples_controller::update),
|
||||
)
|
||||
// Photos controller
|
||||
.route(
|
||||
"/photo/{id}",
|
||||
|
@ -332,7 +332,7 @@ impl CoupleState {
|
||||
}
|
||||
|
||||
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> {
|
||||
|
Loading…
Reference in New Issue
Block a user