fix: update publish collab

This commit is contained in:
Zack Fu Zi Xiang 2024-06-29 13:50:56 +08:00
parent 9aef3613b6
commit d06dbadc05
No known key found for this signature in database
2 changed files with 49 additions and 1 deletions

View File

@ -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,

View File

@ -142,6 +142,51 @@ async fn test_publish_doc() {
assert_eq!(blob, "yrs_encoded_data_2");
}
// updates data
c.publish_collabs::<MyCustomMetadata, &[u8]>(
&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();