Closed davefrey closed 3 years ago
This is turning into a kind of umbrella ticket...I think it still has value since it gathers all the current LV Decidim demo-specific concerns for our api client into one place, and links the sync to ruby-client#14.
Good that you raised this, I think umbrella tickets are partly to blame for the big PRs we've been having. I tend to think of them as "epics", but in the end they just become expanding buckets. Let's try and handle this kind of linking and batching on the project board itself.
Deploying the LV-decidim demo is a milestone, but once the first deploy is done, it'll just be on-going decidim-module-liquidvoting work. We'll already have this target in mind when prioritizing the board
I'm going to close this, open a new issue for "CreateDelegationMutation returns a boolean; all the other mutations return a votingResult, let's make that consistent" and add it to the board
While developing this Decidim-Liquidvoting module, There are some things needing attention in the Liquidvoting api client:
has_user_voted?
anddelegate_email_for
queries are retrieving all votes and delegations, then filtering down to the values of interest; we need to move those to specific api queries (I've since found #21 (client) and liquidvotingio/api#163 (api) that mostly cover this)CreateVoteMutation
returns errors differently than the other mutations; there doesn't seem to be a reason, ideally we can normalise this(see theraise
statements for examples) (I see this is already called out on liquidvotingio/api#123)CreateDelegationMutation
returns a boolean; all the other mutations return avotingResult
, let's make that consistentThis client class is a snapshot of https://github.com/liquidvotingio/ruby-client/blob/master/liquid_voting_api.rb. I think ideally the work for this ticket should be done in that repo, be driven by specs, then we can just take a new snapshot of the client file.