From a06ec2f98058885cd2ad85371584492c192c21bb Mon Sep 17 00:00:00 2001 From: Matthias Lodner Date: Sat, 24 Jan 2026 03:02:52 +0100 Subject: [PATCH] Added functionality to delete variant. --- common/src/models/variant.rs | 20 ++++++++++++++ .../app/components/variant/variantRow.vue | 5 ++++ frontend/app/store/labelEditorStore.ts | 20 ++++++++++++++ server/src/main.rs | 26 ++++++++++++++++--- 4 files changed, 68 insertions(+), 3 deletions(-) diff --git a/common/src/models/variant.rs b/common/src/models/variant.rs index 6ed5a19..ea971d2 100644 --- a/common/src/models/variant.rs +++ b/common/src/models/variant.rs @@ -123,3 +123,23 @@ pub async fn update_variant(variant_id: i64, variant: &Variant, pool: PgPool) -> } } } + +pub async fn delete_variant(variant_id: i64, pool: PgPool) -> Option<()> { + let result = sqlx::query( + format!("DELETE FROM {} WHERE id = {}", + "variant", + variant_id + ).as_str() + ).execute(&pool).await; + + match result { + Ok(_) => { + Some(()) + } + Err(err) => { + println!("Error deleting variant: {:#?}", err); + + None + } + } +} diff --git a/frontend/app/components/variant/variantRow.vue b/frontend/app/components/variant/variantRow.vue index b823311..515fed1 100644 --- a/frontend/app/components/variant/variantRow.vue +++ b/frontend/app/components/variant/variantRow.vue @@ -49,6 +49,10 @@ } } + async function deleteVariant() { + await store.deleteVariant(props.variant.id); + } +