Fix do not use peoples.primary_email_address anymore

Signed-off-by: Émile Ré <emile@getprobo.com>
This commit is contained in:
Émile Ré
2026-02-09 10:42:46 +04:00
parent 29371662e2
commit 24bcabe620
4 changed files with 10 additions and 5 deletions

View File

@@ -714,15 +714,17 @@ WITH last_signable_version AS (
INNER JOIN document_versions dv ON dv.document_id = d.id
INNER JOIN document_version_signatures dvs ON dvs.document_version_id = dv.id
INNER JOIN iam_membership_profiles p ON dvs.signed_by_profile_id = p.id
INNER JOIN identities i ON p.identity_id = i.id
WHERE d.id = @document_id
AND p.primary_email_address = @user_email
AND i.email_address = @user_email::CITEXT
AND dv.version_number = (
SELECT MAX(dv2.version_number)
FROM document_versions dv2
INNER JOIN document_version_signatures dvs2 ON dvs2.document_version_id = dv2.id
INNER JOIN iam_membership_profiles p2 ON dvs2.signed_by_profile_id = p2.id
INNER JOIN identities i2 ON p2.identity_id = i2.id
WHERE dv2.document_id = d.id
AND p2.primary_email_address = @user_email
AND i2.email_address = @user_email::CITEXT
)
)
SELECT EXISTS (

View File

@@ -100,9 +100,10 @@ func (f *DocumentFilter) SQLFragment() string {
FROM document_versions dv
INNER JOIN document_version_signatures dvs ON dv.id = dvs.document_version_id
INNER JOIN iam_membership_profiles p ON dvs.signed_by_profile_id = p.id
INNER JOIN identities i ON p.identity_id = i.id
WHERE dv.document_id = documents.id
AND dv.status = 'PUBLISHED'
AND p.primary_email_address = @user_email::text
AND i.email_address = @user_email::CITEXT
AND dvs.state IN ('REQUESTED', 'SIGNED')
)
END

View File

@@ -48,8 +48,9 @@ func (f *DocumentVersionFilter) SQLFragment() string {
SELECT 1
FROM document_version_signatures dvs
INNER JOIN iam_membership_profiles p ON dvs.signed_by_profile_id = p.id
INNER JOIN identities i ON p.identity_id = i.id
WHERE dvs.document_version_id = document_versions.id
AND p.primary_email_address = @user_email::text
AND i.email_address = @user_email::CITEXT
AND dvs.state IN ('REQUESTED', 'SIGNED')
)
)`

View File

@@ -423,8 +423,9 @@ SELECT EXISTS (
SELECT 1
FROM document_version_signatures dvs
INNER JOIN iam_membership_profiles p ON dvs.signed_by_profile_id = p.id
INNER JOIN identities i ON p.identity_id = i.id
WHERE dvs.document_version_id = @document_version_id
AND p.primary_email_address = @user_email
AND i.email_address = @user_email::CITEXT
AND dvs.state = 'SIGNED'
AND dvs.tenant_id = @tenant_id
) AS signed