add tests; Closes #30

This commit is contained in:
2023-07-31 16:25:07 +02:00
parent bbb78cbc44
commit dc4b4b3499
6 changed files with 253 additions and 44 deletions

View File

@ -50,25 +50,22 @@ async fn delete(db: &State<SqlitePool>, _admin: AdminUser, boat: i32) -> Flash<R
}
}
#[post("/boat", data = "<data>")]
#[post("/boat/<boat_id>", data = "<data>")]
async fn update(
db: &State<SqlitePool>,
data: Form<BoatToUpdate<'_>>,
boat_id: i32,
_admin: AdminUser,
) -> Flash<Redirect> {
let boat = Boat::find_by_id(db, data.id).await;
let boat = Boat::find_by_id(db, boat_id).await;
let Some(boat) = boat else {
return Flash::error(
Redirect::to("/admin/boat"),
"Boat does not exist!",
)
return Flash::error(Redirect::to("/admin/boat"), "Boat does not exist!");
};
if !boat.update(db, data.into_inner()).await {
return Flash::error(Redirect::to("/admin/boat"), "Boat could not be updated!");
match boat.update(db, data.into_inner()).await {
Ok(_) => Flash::success(Redirect::to("/admin/boat"), "Successfully updated boat"),
Err(e) => Flash::error(Redirect::to("/admin/boat"), e),
}
Flash::success(Redirect::to("/admin/boat"), "Successfully updated boat")
}
#[post("/boat/new", data = "<data>")]