Compare commits
2 Commits
5f0842b7dc
...
eaf09135f4
| Author | SHA1 | Date | |
|---|---|---|---|
| eaf09135f4 | |||
| e59ed6ed71 |
@@ -242,7 +242,27 @@ pub async fn create(f: FamilyInPath, req: web::Json<MemberRequest>) -> HttpResul
|
|||||||
Ok(HttpResponse::Ok().json(member))
|
Ok(HttpResponse::Ok().json(member))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Get the entire list of members of the family
|
||||||
|
pub async fn get_all(f: FamilyInPath) -> HttpResult {
|
||||||
|
let members = members_service::get_all_of_family(f.family_id()).await?;
|
||||||
|
Ok(HttpResponse::Ok().json(members))
|
||||||
|
}
|
||||||
|
|
||||||
/// Get the information of a single family member
|
/// Get the information of a single family member
|
||||||
pub async fn get_single(m: FamilyAndMemberInPath) -> HttpResult {
|
pub async fn get_single(m: FamilyAndMemberInPath) -> HttpResult {
|
||||||
Ok(HttpResponse::Ok().json(m.to_member()))
|
Ok(HttpResponse::Ok().json(m.to_member()))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Update a member information
|
||||||
|
pub async fn update(m: FamilyAndMemberInPath, req: web::Json<MemberRequest>) -> HttpResult {
|
||||||
|
let mut member = m.to_member();
|
||||||
|
|
||||||
|
if let Err(e) = req.0.to_member(&mut member).await {
|
||||||
|
log::error!("Failed to parse member information {e}!");
|
||||||
|
return Ok(HttpResponse::BadRequest().body(e.to_string()));
|
||||||
|
}
|
||||||
|
|
||||||
|
members_service::update(&mut member).await?;
|
||||||
|
|
||||||
|
Ok(HttpResponse::Accepted().finish())
|
||||||
|
}
|
||||||
|
|||||||
@@ -127,10 +127,18 @@ async fn main() -> std::io::Result<()> {
|
|||||||
"/family/{id}/member/create",
|
"/family/{id}/member/create",
|
||||||
web::post().to(members_controller::create),
|
web::post().to(members_controller::create),
|
||||||
)
|
)
|
||||||
|
.route(
|
||||||
|
"/family/{id}/members",
|
||||||
|
web::get().to(members_controller::get_all),
|
||||||
|
)
|
||||||
.route(
|
.route(
|
||||||
"/family/{id}/member/{member_id}",
|
"/family/{id}/member/{member_id}",
|
||||||
web::get().to(members_controller::get_single),
|
web::get().to(members_controller::get_single),
|
||||||
)
|
)
|
||||||
|
.route(
|
||||||
|
"/family/{id}/member/{member_id}",
|
||||||
|
web::put().to(members_controller::update),
|
||||||
|
)
|
||||||
})
|
})
|
||||||
.bind(AppConfig::get().listen_address.as_str())?
|
.bind(AppConfig::get().listen_address.as_str())?
|
||||||
.run()
|
.run()
|
||||||
|
|||||||
Reference in New Issue
Block a user