Skip to content

Commit ec47dac

Browse files
authored
Merge pull request #2996 from IntersectMBO/fix/unhandled-encoding-on-wrong-members-hash
fix: unhandled exception when member hash is not correct
2 parents c0d9f76 + 83247a2 commit ec47dac

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

govtool/backend/sql/list-proposals.sql

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,13 @@ EnrichedCurrentMembers AS (
8585
) AS enriched_members
8686
FROM
8787
ProcessedCurrentMembers pcm
88-
LEFT JOIN
89-
json_array_elements(pcm.current_members) AS member ON true
90-
LEFT JOIN
91-
CommitteeData cm ON cm.hash = encode(decode(member->>'hash', 'hex'), 'hex')
88+
LEFT JOIN json_array_elements(pcm.current_members) AS member ON true
89+
LEFT JOIN CommitteeData cm
90+
ON (CASE
91+
WHEN (member->>'hash') ~ '^[0-9a-fA-F]+$'
92+
THEN encode(decode(member->>'hash', 'hex'), 'hex')
93+
ELSE NULL
94+
END) = cm.hash
9295
GROUP BY
9396
pcm.id
9497
),
@@ -199,7 +202,13 @@ SELECT
199202
'tag', pd.tag,
200203
'members', em.enriched_members,
201204
'membersToBeRemoved', mtr.members_to_be_removed,
202-
'threshold', pd.threshold::float
205+
'threshold',
206+
CASE
207+
WHEN (pd.threshold->>'numerator') IS NOT NULL
208+
AND (pd.threshold->>'denominator') IS NOT NULL
209+
THEN (pd.threshold->>'numerator')::float / (pd.threshold->>'denominator')::float
210+
ELSE NULL
211+
END
203212
)
204213
FROM
205214
ParsedDescription pd

0 commit comments

Comments
 (0)