Can update couple information
This commit is contained in:
		@@ -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> {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user