From 3106c3c4ec18599e9a00e8963188e1039f901fb0 Mon Sep 17 00:00:00 2001 From: Matthias Lodner Date: Sat, 24 Jan 2026 02:41:19 +0100 Subject: [PATCH] Remove null constrain from variant and return newly created article. --- .../20260124002358_rm_null_constrain.sql | 8 +++++ server/src/main.rs | 31 +++++++++++-------- 2 files changed, 26 insertions(+), 13 deletions(-) create mode 100644 server/migrations/20260124002358_rm_null_constrain.sql diff --git a/server/migrations/20260124002358_rm_null_constrain.sql b/server/migrations/20260124002358_rm_null_constrain.sql new file mode 100644 index 0000000..bb1a61d --- /dev/null +++ b/server/migrations/20260124002358_rm_null_constrain.sql @@ -0,0 +1,8 @@ +-- Add migration script here + +-- Remove null constrain for variant +ALTER TABLE IF EXISTS public.variant +ALTER COLUMN description DROP NOT NULL; + +ALTER TABLE IF EXISTS public.variant +ALTER COLUMN ingredients DROP NOT NULL; diff --git a/server/src/main.rs b/server/src/main.rs index 964b21d..0dfcf0d 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -111,21 +111,26 @@ async fn create_article( State(pool): State, Json(payload): Json
, ) -> (StatusCode, Json
) { - info!("Test"); + info!("Create article"); - let article = Article { - id: payload.id, - name: payload.name, - bio: payload.bio, - origin: payload.origin, - description: payload.description, - ingredients: payload.ingredients, - variants: payload.variants, - }; + match insert_article(&payload, pool).await { + Some(article) => { + (StatusCode::CREATED, Json(article)) + } + None => { + let article = Article { + id: 0, + name: "".to_string(), + bio: false, + origin: Origin::EU, + description: None, + ingredients: None, + variants: vec![], + }; - insert_article(&article, pool).await; - - (StatusCode::CREATED, Json(article)) + (StatusCode::INTERNAL_SERVER_ERROR, Json(article)) + } + } } async fn add_variant(