feat: add comments enabled and duplicate enabled to publish info

This commit is contained in:
khorshuheng 2025-01-20 14:30:14 +08:00
parent 10a4b3a03a
commit 44dee16e64
4 changed files with 48 additions and 8 deletions

View file

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT\n awn.namespace,\n apc.publish_name,\n apc.view_id,\n au.email AS publisher_email,\n apc.created_at AS publish_timestamp,\n apc.unpublished_at AS unpublished_timestamp\n FROM af_published_collab apc\n JOIN af_user au ON apc.published_by = au.uid\n JOIN af_workspace aw ON apc.workspace_id = aw.workspace_id\n JOIN af_workspace_namespace awn ON aw.workspace_id = awn.workspace_id AND awn.is_original = TRUE\n WHERE apc.view_id = ANY($1);\n ",
"query": "\n SELECT\n awn.namespace,\n apc.publish_name,\n apc.view_id,\n au.email AS publisher_email,\n apc.created_at AS publish_timestamp,\n apc.unpublished_at AS unpublished_timestamp,\n apc.comments_enabled,\n apc.duplicate_enabled\n FROM af_published_collab apc\n JOIN af_user au ON apc.published_by = au.uid\n JOIN af_workspace aw ON apc.workspace_id = aw.workspace_id\n JOIN af_workspace_namespace awn ON aw.workspace_id = awn.workspace_id AND awn.is_original = TRUE\n WHERE apc.view_id = ANY($1);\n ",
"describe": {
"columns": [
{
@ -32,6 +32,16 @@
"ordinal": 5,
"name": "unpublished_timestamp",
"type_info": "Timestamptz"
},
{
"ordinal": 6,
"name": "comments_enabled",
"type_info": "Bool"
},
{
"ordinal": 7,
"name": "duplicate_enabled",
"type_info": "Bool"
}
],
"parameters": {
@ -45,8 +55,10 @@
false,
false,
false,
true
true,
false,
false
]
},
"hash": "e1c7d372486de8d609a2389a7af8af627af939f63302fb2a8549685eab437312"
"hash": "7a86f93afe6e77d4481920b08ed38926446f6473107d68dfcd82ffecddcee890"
}

View file

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT\n awn.namespace,\n apc.publish_name,\n apc.view_id,\n au.email AS publisher_email,\n apc.created_at AS publish_timestamp,\n apc.unpublished_at AS unpublished_timestamp\n FROM af_published_collab apc\n JOIN af_user au ON apc.published_by = au.uid\n JOIN af_workspace aw ON apc.workspace_id = aw.workspace_id\n JOIN af_workspace_namespace awn ON aw.workspace_id = awn.workspace_id AND awn.is_original = TRUE\n WHERE apc.workspace_id = $1 AND apc.unpublished_at IS NULL;\n ",
"query": "\n SELECT\n awn.namespace,\n apc.publish_name,\n apc.view_id,\n au.email AS publisher_email,\n apc.created_at AS publish_timestamp,\n apc.unpublished_at AS unpublished_timestamp,\n apc.comments_enabled,\n apc.duplicate_enabled\n FROM af_published_collab apc\n JOIN af_user au ON apc.published_by = au.uid\n JOIN af_workspace aw ON apc.workspace_id = aw.workspace_id\n JOIN af_workspace_namespace awn ON aw.workspace_id = awn.workspace_id AND awn.is_original = TRUE\n WHERE apc.workspace_id = $1 AND apc.unpublished_at IS NULL;\n ",
"describe": {
"columns": [
{
@ -32,6 +32,16 @@
"ordinal": 5,
"name": "unpublished_timestamp",
"type_info": "Timestamptz"
},
{
"ordinal": 6,
"name": "comments_enabled",
"type_info": "Bool"
},
{
"ordinal": 7,
"name": "duplicate_enabled",
"type_info": "Bool"
}
],
"parameters": {
@ -45,8 +55,10 @@
false,
false,
false,
true
true,
false,
false
]
},
"hash": "8ca5095db6ae36bd60dd32861baa2d8cd87b7478f6aa226d441b5e409abf08ab"
"hash": "a18d0c9536dba734715903c8e8f0b7be30d3e7a477c4ddd03533b781df2fb2c7"
}

View file

@ -437,6 +437,18 @@ pub struct PublishInfo {
pub publish_timestamp: DateTime<Utc>,
#[serde(default)]
pub unpublished_timestamp: Option<DateTime<Utc>>,
#[serde(default = "default_comments_enabled")]
pub comments_enabled: bool,
#[serde(default = "default_duplicate_enabled")]
pub duplicate_enabled: bool,
}
fn default_comments_enabled() -> bool {
true
}
fn default_duplicate_enabled() -> bool {
true
}
#[derive(Debug, Serialize, Deserialize)]

View file

@ -581,7 +581,9 @@ pub async fn select_publish_info_for_view_ids(
apc.view_id,
au.email AS publisher_email,
apc.created_at AS publish_timestamp,
apc.unpublished_at AS unpublished_timestamp
apc.unpublished_at AS unpublished_timestamp,
apc.comments_enabled,
apc.duplicate_enabled
FROM af_published_collab apc
JOIN af_user au ON apc.published_by = au.uid
JOIN af_workspace aw ON apc.workspace_id = aw.workspace_id
@ -630,7 +632,9 @@ pub async fn select_all_published_collab_info(
apc.view_id,
au.email AS publisher_email,
apc.created_at AS publish_timestamp,
apc.unpublished_at AS unpublished_timestamp
apc.unpublished_at AS unpublished_timestamp,
apc.comments_enabled,
apc.duplicate_enabled
FROM af_published_collab apc
JOIN af_user au ON apc.published_by = au.uid
JOIN af_workspace aw ON apc.workspace_id = aw.workspace_id