mirror of
https://github.com/AppFlowy-IO/AppFlowy-Cloud.git
synced 2025-04-19 03:24:42 -04:00
fix: update publish namespace
This commit is contained in:
parent
8d8c895703
commit
d69a2dce1b
21 changed files with 217 additions and 147 deletions
|
@ -1,22 +0,0 @@
|
|||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "\n SELECT publish_namespace\n FROM af_workspace\n WHERE workspace_id = $1\n ",
|
||||
"describe": {
|
||||
"columns": [
|
||||
{
|
||||
"ordinal": 0,
|
||||
"name": "publish_namespace",
|
||||
"type_info": "Text"
|
||||
}
|
||||
],
|
||||
"parameters": {
|
||||
"Left": [
|
||||
"Uuid"
|
||||
]
|
||||
},
|
||||
"nullable": [
|
||||
false
|
||||
]
|
||||
},
|
||||
"hash": "0d4b11e74a5a9835c82a2ea8f87499d6cdd570979d0c3e001fa40e140a64fedf"
|
||||
}
|
34
.sqlx/query-12c52797d87c0ec56ffe6d8baf24501a276fdac4453399190dc221de89b611f8.json
generated
Normal file
34
.sqlx/query-12c52797d87c0ec56ffe6d8baf24501a276fdac4453399190dc221de89b611f8.json
generated
Normal file
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "\n SELECT workspace_id, namespace, is_original\n FROM af_workspace_namespace\n WHERE workspace_id = $1\n ",
|
||||
"describe": {
|
||||
"columns": [
|
||||
{
|
||||
"ordinal": 0,
|
||||
"name": "workspace_id",
|
||||
"type_info": "Uuid"
|
||||
},
|
||||
{
|
||||
"ordinal": 1,
|
||||
"name": "namespace",
|
||||
"type_info": "Text"
|
||||
},
|
||||
{
|
||||
"ordinal": 2,
|
||||
"name": "is_original",
|
||||
"type_info": "Bool"
|
||||
}
|
||||
],
|
||||
"parameters": {
|
||||
"Left": [
|
||||
"Uuid"
|
||||
]
|
||||
},
|
||||
"nullable": [
|
||||
false,
|
||||
false,
|
||||
false
|
||||
]
|
||||
},
|
||||
"hash": "12c52797d87c0ec56ffe6d8baf24501a276fdac4453399190dc221de89b611f8"
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "\n SELECT\n af.uuid\n FROM af_published_collab apc\n JOIN af_user af ON af.uid = apc.published_by\n WHERE view_id = $1\n ",
|
||||
"query": "\n SELECT af.uuid\n FROM af_published_collab apc\n JOIN af_user af ON af.uid = apc.published_by\n WHERE view_id = $1\n ",
|
||||
"describe": {
|
||||
"columns": [
|
||||
{
|
||||
|
@ -18,5 +18,5 @@
|
|||
false
|
||||
]
|
||||
},
|
||||
"hash": "e9e22adc5a6f6daf354dc122cadab41b7cc13e0d956b3204d22f26a47ad594e3"
|
||||
"hash": "1ae2809504bb6ea7dabcb5b5acfed09b0dd2e382e9fec3430680192df63876b8"
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "\n SELECT default_published_view_id\n FROM af_workspace\n WHERE publish_namespace = $1\n ",
|
||||
"query": "\n SELECT default_published_view_id\n FROM af_workspace\n WHERE workspace_id = (SELECT workspace_id FROM af_workspace_namespace WHERE namespace = $1)\n ",
|
||||
"describe": {
|
||||
"columns": [
|
||||
{
|
||||
|
@ -18,5 +18,5 @@
|
|||
true
|
||||
]
|
||||
},
|
||||
"hash": "ff0397184dd291eed259ca8518a5c1541d0971f95e51b859dd0ce02702eacd66"
|
||||
"hash": "2167ca10f5c560d8d4121d57d425c84482fa1dd52ee6f2cc7934e7d356b0dee6"
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "\n SELECT metadata\n FROM af_published_collab\n WHERE workspace_id = (SELECT workspace_id FROM af_workspace WHERE publish_namespace = $1)\n AND publish_name = $2\n ",
|
||||
"query": "\n SELECT metadata\n FROM af_published_collab\n WHERE workspace_id = (SELECT workspace_id FROM af_workspace_namespace WHERE namespace = $1)\n AND publish_name = $2\n ",
|
||||
"describe": {
|
||||
"columns": [
|
||||
{
|
||||
|
@ -19,5 +19,5 @@
|
|||
false
|
||||
]
|
||||
},
|
||||
"hash": "4d0c77eaabb72b06b3f0809ee3722d932b47bf18222628a22089b6fbd3891ec4"
|
||||
"hash": "30091f1518275d01227ece8988ea4d99aae2891322994ab462908c520b782411"
|
||||
}
|
|
@ -1,46 +0,0 @@
|
|||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "\n SELECT\n aw.publish_namespace AS namespace,\n apc.publish_name,\n apc.view_id,\n au.email AS publisher_email,\n apc.created_at AS publish_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 WHERE apc.workspace_id = $1;\n ",
|
||||
"describe": {
|
||||
"columns": [
|
||||
{
|
||||
"ordinal": 0,
|
||||
"name": "namespace",
|
||||
"type_info": "Text"
|
||||
},
|
||||
{
|
||||
"ordinal": 1,
|
||||
"name": "publish_name",
|
||||
"type_info": "Text"
|
||||
},
|
||||
{
|
||||
"ordinal": 2,
|
||||
"name": "view_id",
|
||||
"type_info": "Uuid"
|
||||
},
|
||||
{
|
||||
"ordinal": 3,
|
||||
"name": "publisher_email",
|
||||
"type_info": "Text"
|
||||
},
|
||||
{
|
||||
"ordinal": 4,
|
||||
"name": "publish_timestamp",
|
||||
"type_info": "Timestamptz"
|
||||
}
|
||||
],
|
||||
"parameters": {
|
||||
"Left": [
|
||||
"Uuid"
|
||||
]
|
||||
},
|
||||
"nullable": [
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false
|
||||
]
|
||||
},
|
||||
"hash": "3ab817803745c1dc20eef819d944b8cdf56df3cd31b3ed8bc15e51eacace8e04"
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "\n SELECT\n aw.publish_namespace AS namespace,\n apc.publish_name,\n apc.view_id,\n au.email AS publisher_email,\n apc.created_at AS publish_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 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 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": [
|
||||
{
|
||||
|
@ -42,5 +42,5 @@
|
|||
false
|
||||
]
|
||||
},
|
||||
"hash": "e2ab2c5d0328f2a0900dfbd9080c0d867526bca0afee9aa4af294fbbebf3db0a"
|
||||
"hash": "55dec46e9fb30d6236013a207d2016c3aaa966cac58e1a24148ea1a954e4a544"
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "\n SELECT workspace_id, view_id\n FROM af_published_collab\n WHERE workspace_id = (SELECT workspace_id FROM af_workspace WHERE publish_namespace = $1)\n AND publish_name = $2\n ",
|
||||
"query": "\n SELECT workspace_id, view_id\n FROM af_published_collab\n WHERE workspace_id = (SELECT workspace_id FROM af_workspace_namespace WHERE namespace = $1)\n AND publish_name = $2\n ",
|
||||
"describe": {
|
||||
"columns": [
|
||||
{
|
||||
|
@ -25,5 +25,5 @@
|
|||
false
|
||||
]
|
||||
},
|
||||
"hash": "d205df7e6a71335bc457f560fa5a941c738cd1f8e7c3369b0b24bb34fbb1c6eb"
|
||||
"hash": "59b2a7854bb8f0d7ee34b9dfa4e3db5cac8e25fdebe186ba2cbd65012eb91f5f"
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "\n SELECT EXISTS(\n SELECT 1\n FROM af_workspace\n WHERE publish_namespace = $1\n )\n ",
|
||||
"query": "\n SELECT EXISTS(\n SELECT 1\n FROM af_workspace_namespace\n WHERE namespace = $1\n )\n ",
|
||||
"describe": {
|
||||
"columns": [
|
||||
{
|
||||
|
@ -18,5 +18,5 @@
|
|||
null
|
||||
]
|
||||
},
|
||||
"hash": "e4567475b82642745a7a96ec273efe7b549beedbf7e17b5b18d459334c29aa82"
|
||||
"hash": "620167841bb2acdd1c9c6aadf8245e3a483d87dc006d4e361e994ce2c5d768cd"
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "\n SELECT blob\n FROM af_published_collab\n WHERE workspace_id = (SELECT workspace_id FROM af_workspace WHERE publish_namespace = $1)\n AND publish_name = $2\n ",
|
||||
"query": "\n SELECT blob\n FROM af_published_collab\n WHERE workspace_id = (SELECT workspace_id FROM af_workspace_namespace WHERE namespace = $1)\n AND publish_name = $2\n ",
|
||||
"describe": {
|
||||
"columns": [
|
||||
{
|
||||
|
@ -19,5 +19,5 @@
|
|||
false
|
||||
]
|
||||
},
|
||||
"hash": "8f5b50a17db6599da536d50de5c77b22d3be3160638285563e32d4dc2b787916"
|
||||
"hash": "8957cc00ca63bcc4d29c394a7a16f94965ee0d6bee3a4ef482d1f905f9e66b66"
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "\n SELECT EXISTS(\n SELECT 1\n FROM af_workspace\n WHERE workspace_id = $1\n AND publish_namespace = $2\n )\n ",
|
||||
"describe": {
|
||||
"columns": [
|
||||
{
|
||||
"ordinal": 0,
|
||||
"name": "exists",
|
||||
"type_info": "Bool"
|
||||
}
|
||||
],
|
||||
"parameters": {
|
||||
"Left": [
|
||||
"Uuid",
|
||||
"Text"
|
||||
]
|
||||
},
|
||||
"nullable": [
|
||||
null
|
||||
]
|
||||
},
|
||||
"hash": "8d21739be9b0cb62878aaad1bc901b6a8677dbe9100918673b0482a86650dfff"
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "\n SELECT\n aw.publish_namespace AS namespace,\n apc.publish_name,\n apc.view_id,\n au.email AS publisher_email,\n apc.created_at AS publish_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 WHERE apc.view_id = $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 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;\n ",
|
||||
"describe": {
|
||||
"columns": [
|
||||
{
|
||||
|
@ -42,5 +42,5 @@
|
|||
false
|
||||
]
|
||||
},
|
||||
"hash": "b2724ac4427c488c23e645c1aaf3c1e9b23e8042abb3ad4e255533dda39f6309"
|
||||
"hash": "b450decddb39bd057d850efce1a8680e00a16c0d8887e94f008a2764a7a4a6f6"
|
||||
}
|
35
.sqlx/query-bf9bff5c65ba051329ed2b694eff62808f971a8262b6e1649d91526ab3a3870d.json
generated
Normal file
35
.sqlx/query-bf9bff5c65ba051329ed2b694eff62808f971a8262b6e1649d91526ab3a3870d.json
generated
Normal file
|
@ -0,0 +1,35 @@
|
|||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "\n SELECT workspace_id, namespace, is_original\n FROM af_workspace_namespace\n WHERE workspace_id = $1\n AND namespace = $2\n ",
|
||||
"describe": {
|
||||
"columns": [
|
||||
{
|
||||
"ordinal": 0,
|
||||
"name": "workspace_id",
|
||||
"type_info": "Uuid"
|
||||
},
|
||||
{
|
||||
"ordinal": 1,
|
||||
"name": "namespace",
|
||||
"type_info": "Text"
|
||||
},
|
||||
{
|
||||
"ordinal": 2,
|
||||
"name": "is_original",
|
||||
"type_info": "Bool"
|
||||
}
|
||||
],
|
||||
"parameters": {
|
||||
"Left": [
|
||||
"Uuid",
|
||||
"Text"
|
||||
]
|
||||
},
|
||||
"nullable": [
|
||||
false,
|
||||
false,
|
||||
false
|
||||
]
|
||||
},
|
||||
"hash": "bf9bff5c65ba051329ed2b694eff62808f971a8262b6e1649d91526ab3a3870d"
|
||||
}
|
16
.sqlx/query-c43d414f6fcaed34e059f55abaaa0bd1343cacf4d04e98481a4787a4b965ce94.json
generated
Normal file
16
.sqlx/query-c43d414f6fcaed34e059f55abaaa0bd1343cacf4d04e98481a4787a4b965ce94.json
generated
Normal file
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "\n UPDATE af_workspace_namespace\n SET namespace = $1\n WHERE workspace_id = $2\n AND namespace = $3\n AND is_original = FALSE\n ",
|
||||
"describe": {
|
||||
"columns": [],
|
||||
"parameters": {
|
||||
"Left": [
|
||||
"Text",
|
||||
"Uuid",
|
||||
"Text"
|
||||
]
|
||||
},
|
||||
"nullable": []
|
||||
},
|
||||
"hash": "c43d414f6fcaed34e059f55abaaa0bd1343cacf4d04e98481a4787a4b965ce94"
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "\n UPDATE af_workspace\n SET publish_namespace = $1\n WHERE workspace_id = $2\n ",
|
||||
"describe": {
|
||||
"columns": [],
|
||||
"parameters": {
|
||||
"Left": [
|
||||
"Text",
|
||||
"Uuid"
|
||||
]
|
||||
},
|
||||
"nullable": []
|
||||
},
|
||||
"hash": "e6d81a899998593cec0395f9c29c3bcdbff61ff15762381d2ceed3f7375b7ea9"
|
||||
}
|
15
.sqlx/query-ea239353f73904400915ec89640ac71985a8d5b39037f567a3e2ac1c5eea8f64.json
generated
Normal file
15
.sqlx/query-ea239353f73904400915ec89640ac71985a8d5b39037f567a3e2ac1c5eea8f64.json
generated
Normal file
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "\n INSERT INTO af_workspace_namespace\n VALUES ($1, $2, FALSE)\n ",
|
||||
"describe": {
|
||||
"columns": [],
|
||||
"parameters": {
|
||||
"Left": [
|
||||
"Text",
|
||||
"Uuid"
|
||||
]
|
||||
},
|
||||
"nullable": []
|
||||
},
|
||||
"hash": "ea239353f73904400915ec89640ac71985a8d5b39037f567a3e2ac1c5eea8f64"
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "\n SELECT workspace_id\n FROM af_workspace\n WHERE publish_namespace = $1\n ",
|
||||
"query": "\n SELECT workspace_id\n FROM af_workspace_namespace\n WHERE namespace = $1\n ",
|
||||
"describe": {
|
||||
"columns": [
|
||||
{
|
||||
|
@ -18,5 +18,5 @@
|
|||
false
|
||||
]
|
||||
},
|
||||
"hash": "785c4c1e9b393a1f04a88136211df0c5daa7ad0c52f3e7e071156595262ca44f"
|
||||
"hash": "eb142b33bd6d0d9f3ceb597be9251eac710a463d1052ba10c41b207dbf63efe1"
|
||||
}
|
22
.sqlx/query-f3e9184f6ebb4df77159031701474847dcfa914ceae602c6554ed93162783ee8.json
generated
Normal file
22
.sqlx/query-f3e9184f6ebb4df77159031701474847dcfa914ceae602c6554ed93162783ee8.json
generated
Normal file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "\n SELECT namespace\n FROM af_workspace_namespace\n WHERE workspace_id = (SELECT workspace_id FROM af_workspace_namespace WHERE namespace = $1)\n AND is_original = FALSE\n ORDER BY created_at ASC\n LIMIT 1\n ",
|
||||
"describe": {
|
||||
"columns": [
|
||||
{
|
||||
"ordinal": 0,
|
||||
"name": "namespace",
|
||||
"type_info": "Text"
|
||||
}
|
||||
],
|
||||
"parameters": {
|
||||
"Left": [
|
||||
"Text"
|
||||
]
|
||||
},
|
||||
"nullable": [
|
||||
false
|
||||
]
|
||||
},
|
||||
"hash": "f3e9184f6ebb4df77159031701474847dcfa914ceae602c6554ed93162783ee8"
|
||||
}
|
|
@ -54,11 +54,35 @@ pub async fn select_workspace_publish_namespace_exists<'a, E: Executor<'a, Datab
|
|||
}
|
||||
|
||||
#[inline]
|
||||
pub async fn update_non_orginal_workspace_publish_namespace<
|
||||
'a,
|
||||
E: Executor<'a, Database = Postgres>,
|
||||
>(
|
||||
executor: E,
|
||||
pub async fn insert_non_orginal_workspace_publish_namespace(
|
||||
pg_pool: &PgPool,
|
||||
workspace_id: &Uuid,
|
||||
new_namespace: &str,
|
||||
) -> Result<(), AppError> {
|
||||
let res = sqlx::query!(
|
||||
r#"
|
||||
INSERT INTO af_workspace_namespace
|
||||
VALUES ($1, $2, FALSE)
|
||||
"#,
|
||||
new_namespace,
|
||||
workspace_id,
|
||||
)
|
||||
.execute(pg_pool)
|
||||
.await?;
|
||||
|
||||
if res.rows_affected() != 1 {
|
||||
tracing::error!(
|
||||
"Failed to insert workspace publish namespace, workspace_id: {}, new_namespace: {}, rows_affected: {}",
|
||||
workspace_id, new_namespace, res.rows_affected()
|
||||
);
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub async fn update_non_orginal_workspace_publish_namespace(
|
||||
pg_pool: &PgPool,
|
||||
workspace_id: &Uuid,
|
||||
old_namespace: &str,
|
||||
new_namespace: &str,
|
||||
|
@ -75,7 +99,7 @@ pub async fn update_non_orginal_workspace_publish_namespace<
|
|||
workspace_id,
|
||||
old_namespace,
|
||||
)
|
||||
.execute(executor)
|
||||
.execute(pg_pool)
|
||||
.await?;
|
||||
|
||||
if res.rows_affected() != 1 {
|
||||
|
@ -147,8 +171,8 @@ pub async fn update_workspace_default_publish_view_set_null<
|
|||
}
|
||||
|
||||
#[inline]
|
||||
pub async fn select_workspace_publish_namespaces<'a, E: Executor<'a, Database = Postgres>>(
|
||||
executor: E,
|
||||
pub async fn select_workspace_publish_namespaces(
|
||||
pg_pool: &PgPool,
|
||||
workspace_id: &Uuid,
|
||||
) -> Result<Vec<WorkspaceNamespace>, AppError> {
|
||||
let res = sqlx::query_as!(
|
||||
|
@ -160,7 +184,30 @@ pub async fn select_workspace_publish_namespaces<'a, E: Executor<'a, Database =
|
|||
"#,
|
||||
workspace_id,
|
||||
)
|
||||
.fetch_all(executor)
|
||||
.fetch_all(pg_pool)
|
||||
.await?;
|
||||
|
||||
Ok(res)
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub async fn select_workspace_publish_namespace(
|
||||
pg_pool: &PgPool,
|
||||
workspace_id: &Uuid,
|
||||
namespace: &str,
|
||||
) -> Result<WorkspaceNamespace, AppError> {
|
||||
let res = sqlx::query_as!(
|
||||
WorkspaceNamespace,
|
||||
r#"
|
||||
SELECT workspace_id, namespace, is_original
|
||||
FROM af_workspace_namespace
|
||||
WHERE workspace_id = $1
|
||||
AND namespace = $2
|
||||
"#,
|
||||
workspace_id,
|
||||
namespace,
|
||||
)
|
||||
.fetch_one(pg_pool)
|
||||
.await?;
|
||||
|
||||
Ok(res)
|
||||
|
|
|
@ -7,11 +7,11 @@ ALTER TABLE af_workspace DROP CONSTRAINT af_workspace_publish_namespace_key;
|
|||
|
||||
-- Table to store user defined namespace for workspace
|
||||
CREATE TABLE IF NOT EXISTS af_workspace_namespace (
|
||||
namespace TEXT NOT NULL PRIMARY KEY,
|
||||
workspace_id UUID NOT NULL,
|
||||
default_view_id UUID,
|
||||
created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
namespace TEXT NOT NULL PRIMARY KEY,
|
||||
workspace_id UUID NOT NULL,
|
||||
is_original BOOLEAN NOT NULL,
|
||||
created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
FOREIGN KEY (workspace_id) REFERENCES af_workspace (workspace_id) ON DELETE CASCADE
|
||||
);
|
||||
|
|
|
@ -2,8 +2,9 @@ use appflowy_collaborate::collab::storage::CollabAccessControlStorage;
|
|||
use database::{
|
||||
collab::GetCollabOrigin,
|
||||
publish::{
|
||||
select_all_published_collab_info, select_default_published_view_id,
|
||||
select_default_published_view_id_for_namespace, select_workspace_publish_namespaces,
|
||||
insert_non_orginal_workspace_publish_namespace, select_all_published_collab_info,
|
||||
select_default_published_view_id, select_default_published_view_id_for_namespace,
|
||||
select_workspace_publish_namespace, select_workspace_publish_namespaces,
|
||||
update_published_collabs, update_workspace_default_publish_view,
|
||||
update_workspace_default_publish_view_set_null,
|
||||
},
|
||||
|
@ -97,13 +98,19 @@ pub async fn set_workspace_namespace(
|
|||
"publish namespace is already taken".to_string(),
|
||||
));
|
||||
};
|
||||
update_non_orginal_workspace_publish_namespace(
|
||||
pg_pool,
|
||||
workspace_id,
|
||||
old_namespace,
|
||||
new_namespace,
|
||||
)
|
||||
.await?;
|
||||
let ws_namespace =
|
||||
select_workspace_publish_namespace(pg_pool, workspace_id, old_namespace).await?;
|
||||
if ws_namespace.is_original {
|
||||
insert_non_orginal_workspace_publish_namespace(pg_pool, workspace_id, new_namespace).await?;
|
||||
} else {
|
||||
update_non_orginal_workspace_publish_namespace(
|
||||
pg_pool,
|
||||
workspace_id,
|
||||
old_namespace,
|
||||
new_namespace,
|
||||
)
|
||||
.await?;
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue