about summary refs log tree commit diff stats
path: root/crates/rocie-server/src/api/set.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/rocie-server/src/api/set.rs')
-rw-r--r--crates/rocie-server/src/api/set.rs99
1 files changed, 0 insertions, 99 deletions
diff --git a/crates/rocie-server/src/api/set.rs b/crates/rocie-server/src/api/set.rs
deleted file mode 100644
index 0a6af1b..0000000
--- a/crates/rocie-server/src/api/set.rs
+++ /dev/null
@@ -1,99 +0,0 @@
-use actix_web::{HttpResponse, Responder, Result, post, web};
-use serde::Deserialize;
-use utoipa::ToSchema;
-
-use crate::{
-    app::App,
-    storage::sql::{
-        insert::Operations,
-        product::{Barcode, Product, ProductId},
-    },
-};
-
-#[derive(Deserialize, ToSchema)]
-struct ProductStub {
-    name: String,
-    description: Option<String>,
-    parent: Option<ProductId>,
-}
-
-pub(crate) fn register_paths(cfg: &mut web::ServiceConfig) {
-    cfg.service(register_product).service(associate_barcode);
-}
-
-/// Register a product
-#[utoipa::path(
-    responses(
-        (
-            status = 200,
-            description = "Product successfully registered in database",
-            body = ProductId,
-        ),
-        (
-            status = INTERNAL_SERVER_ERROR,
-            description = "Server encountered error",
-            body = String,
-        )
-    ),
-    request_body = ProductStub,
-)]
-#[post("/product/new")]
-pub(crate) async fn register_product(
-    app: web::Data<App>,
-    product_stub: web::Json<ProductStub>,
-) -> Result<impl Responder> {
-    let mut ops = Operations::new("register product");
-
-    let product = Product::register(
-        product_stub.name.clone(),
-        product_stub.description.clone(),
-        product_stub.parent,
-        &mut ops,
-    );
-
-    ops.apply(&app).await?;
-
-    Ok(HttpResponse::Ok().json(product.id))
-}
-
-/// Associate a barcode with a product
-#[utoipa::path(
-    responses(
-        (
-            status = OK,
-            description = "Barcode successfully associated with product",
-        ),
-        (
-            status = NOT_FOUND,
-            description = "Product id not found in database",
-        ),
-        (
-            status = INTERNAL_SERVER_ERROR,
-            description = "Server encountered error",
-            body = String,
-        )
-    ),
-    params (
-        ("id" = ProductId, description = "The id of the product to associated the barcode with"),
-    ),
-    request_body = Barcode,
-)]
-#[post("/product/{id}/associate")]
-pub(crate) async fn associate_barcode(
-    app: web::Data<App>,
-    id: web::Path<ProductId>,
-    barcode: web::Json<Barcode>,
-) -> Result<impl Responder> {
-    let mut ops = Operations::new("associated barcode with product");
-
-    match Product::from_id(&app, id.into_inner()).await? {
-        Some(product) => {
-            product.associate_barcode(barcode.into_inner(), &mut ops);
-
-            ops.apply(&app).await?;
-
-            Ok(HttpResponse::Ok().finish())
-        }
-        None => Ok(HttpResponse::NotFound().finish()),
-    }
-}