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_versions dv ON dv.document_id = d.id
INNER JOIN document_version_signatures dvs ON dvs.document_version_id = dv.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 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 WHERE d.id = @document_id
AND p.primary_email_address = @user_email AND i.email_address = @user_email::CITEXT
AND dv.version_number = ( AND dv.version_number = (
SELECT MAX(dv2.version_number) SELECT MAX(dv2.version_number)
FROM document_versions dv2 FROM document_versions dv2
INNER JOIN document_version_signatures dvs2 ON dvs2.document_version_id = dv2.id 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 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 WHERE dv2.document_id = d.id
AND p2.primary_email_address = @user_email AND i2.email_address = @user_email::CITEXT
) )
) )
SELECT EXISTS ( SELECT EXISTS (

View File

@@ -100,9 +100,10 @@ func (f *DocumentFilter) SQLFragment() string {
FROM document_versions dv FROM document_versions dv
INNER JOIN document_version_signatures dvs ON dv.id = dvs.document_version_id 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 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 WHERE dv.document_id = documents.id
AND dv.status = 'PUBLISHED' 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') AND dvs.state IN ('REQUESTED', 'SIGNED')
) )
END END

View File

@@ -48,8 +48,9 @@ func (f *DocumentVersionFilter) SQLFragment() string {
SELECT 1 SELECT 1
FROM document_version_signatures dvs FROM document_version_signatures dvs
INNER JOIN iam_membership_profiles p ON dvs.signed_by_profile_id = p.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 dvs.document_version_id = document_versions.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') AND dvs.state IN ('REQUESTED', 'SIGNED')
) )
)` )`

View File

@@ -423,8 +423,9 @@ SELECT EXISTS (
SELECT 1 SELECT 1
FROM document_version_signatures dvs FROM document_version_signatures dvs
INNER JOIN iam_membership_profiles p ON dvs.signed_by_profile_id = p.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 dvs.document_version_id = @document_version_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.state = 'SIGNED'
AND dvs.tenant_id = @tenant_id AND dvs.tenant_id = @tenant_id
) AS signed ) AS signed