work
This commit is contained in:
parent
21adfaee13
commit
d913772f3b
4 changed files with 51 additions and 35 deletions
|
@ -1,6 +1,5 @@
|
|||
use actix_web::post;
|
||||
use actix_web::{get, HttpRequest, HttpResponse, Responder};
|
||||
use maud::html;
|
||||
use serde::Deserialize;
|
||||
|
||||
use crate::item;
|
||||
|
@ -25,14 +24,14 @@ pub struct SupplyForm {
|
|||
pub async fn supply_route(
|
||||
req: HttpRequest,
|
||||
form: actix_web::web::Form<SupplyForm>,
|
||||
) -> impl Responder {
|
||||
) -> actix_web::Result<impl Responder> {
|
||||
let itemdb = get_itemdb!(req);
|
||||
println!("{form:?}");
|
||||
let variant = itemdb
|
||||
.get_item(&form.item)
|
||||
.unwrap()
|
||||
.ok_or_else(|| actix_web::error::ErrorBadRequest("The item does not exist"))?
|
||||
.variant(&form.variant)
|
||||
.unwrap();
|
||||
.ok_or_else(|| actix_web::error::ErrorBadRequest("The variant does not exist"))?;
|
||||
let transaction_id = variant
|
||||
.supply(
|
||||
form.amount.unwrap_or(1),
|
||||
|
@ -40,21 +39,27 @@ pub async fn supply_route(
|
|||
&form.origin,
|
||||
)
|
||||
.await;
|
||||
actix_web::HttpResponse::Ok().json(serde_json::json!({"uuid": transaction_id}))
|
||||
Ok(actix_web::HttpResponse::Ok().json(serde_json::json!({"uuid": transaction_id})))
|
||||
}
|
||||
|
||||
#[get("/items")]
|
||||
pub async fn get_items_route(r: HttpRequest) -> impl Responder {
|
||||
let itemdb = get_itemdb!(r);
|
||||
let items = itemdb.items();
|
||||
actix_web::HttpResponse::Ok().json(serde_json::json!({"items": items}))
|
||||
}
|
||||
|
||||
#[get("/item/{item_id}/variants")]
|
||||
pub async fn item_variants_page(r: HttpRequest) -> impl Responder {
|
||||
pub async fn item_variants_page(r: HttpRequest) -> actix_web::Result<impl Responder> {
|
||||
let id = r.match_info().query("item_id");
|
||||
|
||||
let itemdb = get_itemdb!(r);
|
||||
let item = itemdb
|
||||
.get_item(id)
|
||||
.ok_or_else(|| actix_web::error::ErrorBadRequest("The item does not exist"))?;
|
||||
let variants = item.get_variants().await;
|
||||
|
||||
let item = itemdb.get_item(id);
|
||||
|
||||
let variants = item.unwrap().get_variants().await;
|
||||
|
||||
HttpResponse::Ok().json(serde_json::json!({
|
||||
Ok(HttpResponse::Ok().json(serde_json::json!({
|
||||
"item": id,
|
||||
"variants": variants
|
||||
}))
|
||||
})))
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue