youyesyet.routes.rest
Manually maintained routes which handle data transfer to/from the canvasser app.
create-intention-and-visit!
(create-intention-and-visit! request)
Doing visit creation logic server side; request params are expected to include an option_id
, an elector_id
and an address_id
, or an option
and a location
. If no address_id
is provided, we simply create an intention
record from the option_id
and the locality
; if an address_id
is provided, we need to check whether the last visit
by the current user
was to the same address, if so use that as the visit_id
, if not create a new visit
record.
create-request-and-visit!
(create-request-and-visit! request)
Doing visit creation logic server side; request params are expected to include an issue
, an elector_id
and an address_id
(and also a method_id
and method_detail
). Ye cannae reasonably create a request without having recorded the visit, so let’s not muck about.
current-visit-id
(current-visit-id request)
Return the id of the current visit by the current user, creating it if necessary.
get-local-data
(get-local-data request)
Get data local to the user of the canvasser app. Expects arguments latitude
and longitude
, or locality
. Returns a block of data for that locality
in-get-local-data
Local data is volatile, because hopefully canvassers are updating it as they work. So cache for only 90 seconds.
last-visit-by-current-user
(last-visit-by-current-user request)
Return the most recent visit by the currently logged in user
update-elector-signature!
(update-elector-signature! request)
Set the signature
in the params of this request
as the signature for the elector whose id
is in the params of this request
.