## Generated by Codox

# Youyesyet 0.2.1

# 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

### rest-routes

    FIXME: write docs

### 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`.