From f5ba903f9d792a1aa7039d4a7434595aa589ebec Mon Sep 17 00:00:00 2001 From: stack72 Date: Thu, 2 May 2024 02:05:32 +0100 Subject: [PATCH] fix(web, sdf): Ensure that we reload the newly created schema variant --- app/web/src/components/AssetListPanel.vue | 3 +++ app/web/src/store/realtime/realtime_events.ts | 2 +- .../src/server/service/variant/create_variant.rs | 8 +++++--- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/web/src/components/AssetListPanel.vue b/app/web/src/components/AssetListPanel.vue index 19e6c1f152..884122665c 100644 --- a/app/web/src/components/AssetListPanel.vue +++ b/app/web/src/components/AssetListPanel.vue @@ -18,6 +18,8 @@ /> >(); const exportSuccessModalRef = ref>(); diff --git a/app/web/src/store/realtime/realtime_events.ts b/app/web/src/store/realtime/realtime_events.ts index 8d4297fe0a..9204277c72 100644 --- a/app/web/src/store/realtime/realtime_events.ts +++ b/app/web/src/store/realtime/realtime_events.ts @@ -244,7 +244,7 @@ export type WsEventPayloadMap = { changeSetId: ChangeSetId; }; SchemaVariantCreated: { - schemaVariantId: string; + schemaId: string; changeSetId: ChangeSetId; }; SchemaVariantCloned: { diff --git a/lib/sdf-server/src/server/service/variant/create_variant.rs b/lib/sdf-server/src/server/service/variant/create_variant.rs index 9ddc8663cd..4c3d2f6d41 100644 --- a/lib/sdf-server/src/server/service/variant/create_variant.rs +++ b/lib/sdf-server/src/server/service/variant/create_variant.rs @@ -3,7 +3,7 @@ use axum::{response::IntoResponse, Json}; use serde::{Deserialize, Serialize}; use dal::schema::variant::authoring::VariantAuthoringClient; -use dal::{ChangeSet, SchemaVariantId, Visibility, WsEvent}; +use dal::{ChangeSet, SchemaId, Visibility, WsEvent}; use crate::server::extract::{AccessBuilder, HandlerContext, PosthogClient}; use crate::server::tracking::track; @@ -25,7 +25,7 @@ pub struct CreateVariantRequest { #[derive(Deserialize, Serialize, Debug)] #[serde(rename_all = "camelCase")] pub struct CreateVariantResponse { - pub id: SchemaVariantId, + pub id: SchemaId, pub success: bool, } @@ -64,6 +64,8 @@ pub async fn create_variant( }), ); + let schema = created_schema_variant.schema(&ctx).await?; + WsEvent::schema_variant_created(&ctx, created_schema_variant.id()) .await? .publish_on_commit(&ctx) @@ -77,7 +79,7 @@ pub async fn create_variant( response = response.header("force_change_set_id", force_change_set_id.to_string()); } Ok(response.body(serde_json::to_string(&CreateVariantResponse { - id: created_schema_variant.id(), + id: schema.id(), success: true, })?)?) }