feat: use common table expression to improve user profile sql
This commit is contained in:
parent
b7c93362a1
commit
0fc6a3c4e7
|
|
@ -584,8 +584,26 @@ pub async fn select_user_profile<'a, E: Executor<'a, Database = Postgres>>(
|
||||||
let user_profile = sqlx::query_as!(
|
let user_profile = sqlx::query_as!(
|
||||||
AFUserProfileRow,
|
AFUserProfileRow,
|
||||||
r#"
|
r#"
|
||||||
SELECT *
|
WITH af_user_row AS (
|
||||||
FROM public.af_user_profile_view WHERE uuid = $1
|
SELECT * FROM af_user WHERE uuid = $1
|
||||||
|
)
|
||||||
|
SELECT
|
||||||
|
af_user_row.uid,
|
||||||
|
af_user_row.uuid,
|
||||||
|
af_user_row.email,
|
||||||
|
af_user_row.password,
|
||||||
|
af_user_row.name,
|
||||||
|
af_user_row.metadata,
|
||||||
|
af_user_row.encryption_sign,
|
||||||
|
af_user_row.deleted_at,
|
||||||
|
af_user_row.updated_at,
|
||||||
|
af_user_row.created_at,
|
||||||
|
(SELECT workspace_id
|
||||||
|
FROM af_workspace_member
|
||||||
|
WHERE uid = af_user_row.uid
|
||||||
|
ORDER BY updated_at DESC
|
||||||
|
LIMIT 1) as latest_workspace_id
|
||||||
|
FROM af_user_row
|
||||||
"#,
|
"#,
|
||||||
user_uuid
|
user_uuid
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue