From d06dbadc05ebf7547f1e399959643aa182ae8cd3 Mon Sep 17 00:00:00 2001 From: Zack Fu Zi Xiang Date: Sat, 29 Jun 2024 13:50:56 +0800 Subject: [PATCH] fix: update publish collab --- libs/database/src/workspace.rs | 5 +++- tests/workspace/publish.rs | 45 ++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) diff --git a/libs/database/src/workspace.rs b/libs/database/src/workspace.rs index 8ce830cf..f654aa05 100644 --- a/libs/database/src/workspace.rs +++ b/libs/database/src/workspace.rs @@ -932,7 +932,10 @@ pub async fn insert_or_replace_publish_collab_metas<'a, E: Executor<'a, Database $6::bytea[] ) ON CONFLICT (workspace_id, view_id) DO UPDATE - SET metadata = EXCLUDED.metadata + SET metadata = EXCLUDED.metadata, + blob = EXCLUDED.blob, + published_by = EXCLUDED.published_by, + publish_name = EXCLUDED.publish_name "#, workspace_id, &view_ids, diff --git a/tests/workspace/publish.rs b/tests/workspace/publish.rs index bab581f0..bb15b636 100644 --- a/tests/workspace/publish.rs +++ b/tests/workspace/publish.rs @@ -142,6 +142,51 @@ async fn test_publish_doc() { assert_eq!(blob, "yrs_encoded_data_2"); } + // updates data + c.publish_collabs::( + &workspace_id, + vec![ + PublishCollabItem { + meta: PublishCollabMetadata { + view_id: view_id_1, + publish_name: publish_name_1.to_string(), + metadata: MyCustomMetadata { + title: "my_title_1".to_string(), + }, + }, + data: "yrs_encoded_data_3".as_bytes(), + }, + PublishCollabItem { + meta: PublishCollabMetadata { + view_id: view_id_2, + publish_name: publish_name_2.to_string(), + metadata: MyCustomMetadata { + title: "my_title_2".to_string(), + }, + }, + data: "yrs_encoded_data_4".as_bytes(), + }, + ], + ) + .await + .unwrap(); + + { + // should see updated data + let guest_client = localhost_client(); + let blob = guest_client + .get_published_collab_blob(&my_namespace, publish_name_1) + .await + .unwrap(); + assert_eq!(blob, "yrs_encoded_data_3"); + + let blob = guest_client + .get_published_collab_blob(&my_namespace, publish_name_2) + .await + .unwrap(); + assert_eq!(blob, "yrs_encoded_data_4"); + } + c.unpublish_collabs(&workspace_id, &[view_id_1]) .await .unwrap();