From b7deafb6a16fde41e537bad076029e2d96e5ea70 Mon Sep 17 00:00:00 2001 From: Ciabas Date: Mon, 16 Jun 2025 14:40:05 +0200 Subject: [PATCH] (fix#3745) authors case formatting for gov actions --- govtool/backend/sql/list-proposals.sql | 6 +++--- govtool/backend/src/VVA/API/Types.hs | 25 ++++++++++++++++++++----- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/govtool/backend/sql/list-proposals.sql b/govtool/backend/sql/list-proposals.sql index 6f20e706f..a215919f3 100644 --- a/govtool/backend/sql/list-proposals.sql +++ b/govtool/backend/sql/list-proposals.sql @@ -308,8 +308,8 @@ SELECT json_agg( json_build_object( 'name', off_chain_vote_author.name, - 'witness_algorithm', off_chain_vote_author.witness_algorithm, - 'public_key', off_chain_vote_author.public_key, + 'witnessAlgorithm', off_chain_vote_author.witness_algorithm, + 'publicKey', off_chain_vote_author.public_key, 'signature', off_chain_vote_author.signature ) ) FILTER (WHERE off_chain_vote_author.id IS NOT NULL), @@ -367,4 +367,4 @@ GROUP BY off_chain_vote_gov_action_data.title, off_chain_vote_gov_action_data.abstract, off_chain_vote_gov_action_data.motivation, - off_chain_vote_gov_action_data.rationale; \ No newline at end of file + off_chain_vote_gov_action_data.rationale; diff --git a/govtool/backend/src/VVA/API/Types.hs b/govtool/backend/src/VVA/API/Types.hs index 163ff7c68..f649cc855 100644 --- a/govtool/backend/src/VVA/API/Types.hs +++ b/govtool/backend/src/VVA/API/Types.hs @@ -422,18 +422,31 @@ instance ToSchema ProposalAuthors where & example ?~ toJSON [ object [ "name" .= ("Alice" :: Text) - , "witness_algorithm" .= ("algo" :: Text) - , "public_key" .= ("key" :: Text) + , "witnessAlgorithm" .= ("algo" :: Text) + , "publicKey" .= ("key" :: Text) , "signature" .= ("sig" :: Text) ] , object [ "name" .= ("Bob" :: Text) - , "witness_algorithm" .= ("algo2" :: Text) - , "public_key" .= ("key2" :: Text) + , "witnessAlgorithm" .= ("algo2" :: Text) + , "publicKey" .= ("key2" :: Text) , "signature" .= ("sig2" :: Text) ] ] +exampleProposalAuthors :: Text +exampleProposalAuthors = + "[\ + \ {\"name\": \"Alice\",\ + \ \"witnessAlgorithm\": \"Ed25519\",\ + \ \"publicKey\": \"abcdef123456\",\ + \ \"signature\": \"deadbeef\"},\ + \ {\"name\": \"Bob\",\ + \ \"witnessAlgorithm\": \"Ed25519\",\ + \ \"publicKey\": \"123456abcdef\",\ + \ \"signature\": \"beefdead\"}\ + \]" + deriveJSON (jsonOptions "proposalResponse") ''ProposalResponse exampleProposalResponse :: Text @@ -463,7 +476,9 @@ exampleProposalResponse = "{ \"id\": \"proposalId123\"," <> "\"cCNoVotes\": 0," <> "\"cCAbstainVotes\": 0," <> "\"prevGovActionIndex\": 0," - <> "\"prevGovActionTxHash\": \"47c14a128cd024f1b990c839d67720825921ad87ed875def42641ddd2169b39c\"}" + <> "\"prevGovActionTxHash\": \"47c14a128cd024f1b990c839d67720825921ad87ed875def42641ddd2169b39c\"," + <> "\"authors\": " <> exampleProposalAuthors + <> "}" instance ToSchema Value where declareNamedSchema _ = pure $ NamedSchema (Just "Value") $ mempty