Merge pull request #844 from AppFlowy-IO/fix-approve-request-flow

fix: access not granted after approval
This commit is contained in:
Khor Shu Heng 2024-09-26 18:58:15 +08:00 committed by GitHub
commit bbe459a323
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 12 additions and 10 deletions

View File

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT\n request_id,\n view_id,\n (\n workspace_id,\n af_workspace.database_storage_id,\n af_workspace.owner_uid,\n owner_profile.name,\n af_workspace.created_at,\n af_workspace.workspace_type,\n af_workspace.deleted_at,\n af_workspace.workspace_name,\n af_workspace.icon\n ) AS \"workspace!: AFWorkspaceRow\",\n (\n af_user.uuid,\n af_user.email,\n af_user.name,\n af_user.metadata ->> 'avatar'\n ) AS \"requester!: AFAccessRequesterColumn\",\n status AS \"status: AFAccessRequestStatusColumn\",\n af_access_request.created_at AS created_at\n FROM af_access_request\n JOIN af_user USING (uid)\n JOIN af_workspace USING (workspace_id)\n JOIN af_user AS owner_profile ON af_workspace.owner_uid = owner_profile.uid\n WHERE request_id = $1\n ",
"query": "\n SELECT\n request_id,\n view_id,\n (\n workspace_id,\n af_workspace.database_storage_id,\n af_workspace.owner_uid,\n owner_profile.name,\n af_workspace.created_at,\n af_workspace.workspace_type,\n af_workspace.deleted_at,\n af_workspace.workspace_name,\n af_workspace.icon\n ) AS \"workspace!: AFWorkspaceRow\",\n (\n af_user.uuid,\n af_user.name,\n af_user.email,\n af_user.metadata ->> 'avatar'\n ) AS \"requester!: AFAccessRequesterColumn\",\n status AS \"status: AFAccessRequestStatusColumn\",\n af_access_request.created_at AS created_at\n FROM af_access_request\n JOIN af_user USING (uid)\n JOIN af_workspace USING (workspace_id)\n JOIN af_user AS owner_profile ON af_workspace.owner_uid = owner_profile.uid\n WHERE request_id = $1\n ",
"describe": {
"columns": [
{
@ -48,5 +48,5 @@
false
]
},
"hash": "6317de690a65f0cb63e2f9d4889fc929f05df7ccfc0b7cb955787d0f88f91c45"
"hash": "222344980faea1b159256d6d5128f28e239a30fab8891497a28d6b079141f7bf"
}

View File

@ -70,8 +70,8 @@ pub async fn select_access_request_by_request_id<'a, E: Executor<'a, Database =
) AS "workspace!: AFWorkspaceRow",
(
af_user.uuid,
af_user.email,
af_user.name,
af_user.email,
af_user.metadata ->> 'avatar'
) AS "requester!: AFAccessRequesterColumn",
status AS "status: AFAccessRequestStatusColumn",

View File

@ -87,13 +87,15 @@ pub async fn approve_or_reject_access_request(
let mut txn = pg_pool.begin().await.context("approving request")?;
let role = AFRole::Member;
upsert_workspace_member_with_txn(
&mut txn,
&access_request.workspace.workspace_id,
&access_request.requester.email,
role,
)
.await?;
if is_approved {
upsert_workspace_member_with_txn(
&mut txn,
&access_request.workspace.workspace_id,
&access_request.requester.email,
role,
)
.await?;
}
let status = if is_approved {
AFAccessRequestStatusColumn::Approved
} else {