youyesyet/documentation/youyesyet.routes.rest.html

18 lines
10 KiB
HTML

<!DOCTYPE html PUBLIC ""
"">
<html><head><meta charset="UTF-8" /><title>youyesyet.routes.rest documentation</title><link rel="stylesheet" type="text/css" href="css/default.css" /><link rel="stylesheet" type="text/css" href="css/highlight.css" /><script type="text/javascript" src="js/highlight.min.js"></script><script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/page_effects.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div id="header"><h2>Generated by <a href="https://github.com/weavejester/codox">Codox</a></h2><h1><a href="index.html"><span class="project-title"><span class="project-name">Youyesyet</span> <span class="project-version">0.2.1</span></span></a></h1></div><div class="sidebar primary"><h3 class="no-link"><span class="inner">Project</span></h3><ul class="index-link"><li class="depth-1 "><a href="index.html"><div class="inner">Index</div></a></li></ul><h3 class="no-link"><span class="inner">Topics</span></h3><ul><li class="depth-1 "><a href="authorisation.html"><div class="inner"><span>Security and authorisation</span></div></a></li><li class="depth-1 "><a href="competitors.html"><div class="inner"><span>Competitor Analysis</span></div></a></li><li class="depth-1 "><a href="database.html"><div class="inner"><span>Database Specification</span></div></a></li><li class="depth-1 "><a href="scaling.html"><div class="inner"><span>YouYesYet: Scaling</span></div></a></li><li class="depth-1 "><a href="userspec.html"><div class="inner"><span>YouYesYet: User-oriented specification</span></div></a></li></ul><h3 class="no-link"><span class="inner">Namespaces</span></h3><ul><li class="depth-1"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>youyesyet</span></div></div></li><li class="depth-2 branch"><a href="youyesyet.config.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>config</span></div></a></li><li class="depth-2"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>db</span></div></div></li><li class="depth-3"><a href="youyesyet.db.core.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>core</span></div></a></li><li class="depth-2 branch"><a href="youyesyet.handler.html"><div class="inner"><span class="tree" style="top: -52px;"><span class="top" style="height: 61px;"></span><span class="bottom"></span></span><span>handler</span></div></a></li><li class="depth-2 branch"><a href="youyesyet.layout.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>layout</span></div></a></li><li class="depth-2 branch"><a href="youyesyet.locality.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>locality</span></div></a></li><li class="depth-2 branch"><a href="youyesyet.middleware.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>middleware</span></div></a></li><li class="depth-2 branch"><a href="youyesyet.oauth.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>oauth</span></div></a></li><li class="depth-2 branch"><a href="youyesyet.outqueue.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>outqueue</span></div></a></li><li class="depth-2"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>routes</span></div></div></li><li class="depth-3 branch"><a href="youyesyet.routes.auto.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>auto</span></div></a></li><li class="depth-3 branch"><a href="youyesyet.routes.auto-json.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>auto-json</span></div></a></li><li class="depth-3 branch"><a href="youyesyet.routes.home.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>home</span></div></a></li><li class="depth-3 branch"><a href="youyesyet.routes.issue-experts.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>issue-experts</span></div></a></li><li class="depth-3 branch"><a href="youyesyet.routes.logged-in.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>logged-in</span></div></a></li><li class="depth-3 branch"><a href="youyesyet.routes.manual.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>manual</span></div></a></li><li class="depth-3 branch"><a href="youyesyet.routes.oauth.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>oauth</span></div></a></li><li class="depth-3 branch current"><a href="youyesyet.routes.rest.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>rest</span></div></a></li><li class="depth-3 branch"><a href="youyesyet.routes.roles.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>roles</span></div></a></li><li class="depth-3"><a href="youyesyet.routes.services.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>services</span></div></a></li><li class="depth-2 branch"><a href="youyesyet.utils.html"><div class="inner"><span class="tree" style="top: -331px;"><span class="top" style="height: 340px;"></span><span class="bottom"></span></span><span>utils</span></div></a></li><li class="depth-2"><a href="youyesyet.validation.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>validation</span></div></a></li></ul></div><div class="sidebar secondary"><h3><a href="#top"><span class="inner">Public Vars</span></a></h3><ul><li class="depth-1"><a href="youyesyet.routes.rest.html#var-create-intention-and-visit.21"><div class="inner"><span>create-intention-and-visit!</span></div></a></li><li class="depth-1"><a href="youyesyet.routes.rest.html#var-create-request-and-visit.21"><div class="inner"><span>create-request-and-visit!</span></div></a></li><li class="depth-1"><a href="youyesyet.routes.rest.html#var-current-visit-id"><div class="inner"><span>current-visit-id</span></div></a></li><li class="depth-1"><a href="youyesyet.routes.rest.html#var-get-local-data"><div class="inner"><span>get-local-data</span></div></a></li><li class="depth-1"><a href="youyesyet.routes.rest.html#var-in-get-local-data"><div class="inner"><span>in-get-local-data</span></div></a></li><li class="depth-1"><a href="youyesyet.routes.rest.html#var-last-visit-by-current-user"><div class="inner"><span>last-visit-by-current-user</span></div></a></li><li class="depth-1"><a href="youyesyet.routes.rest.html#var-rest-routes"><div class="inner"><span>rest-routes</span></div></a></li><li class="depth-1"><a href="youyesyet.routes.rest.html#var-update-elector-signature.21"><div class="inner"><span>update-elector-signature!</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">youyesyet.routes.rest</h1><div class="doc"><pre class="plaintext">Manually maintained routes which handle data transfer to/from the canvasser app.
</pre></div><div class="public anchor" id="var-create-intention-and-visit.21"><h3>create-intention-and-visit!</h3><div class="usage"><code>(create-intention-and-visit! request)</code></div><div class="doc"><pre class="plaintext">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.</pre></div></div><div class="public anchor" id="var-create-request-and-visit.21"><h3>create-request-and-visit!</h3><div class="usage"><code>(create-request-and-visit! request)</code></div><div class="doc"><pre class="plaintext">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.</pre></div></div><div class="public anchor" id="var-current-visit-id"><h3>current-visit-id</h3><div class="usage"><code>(current-visit-id request)</code></div><div class="doc"><pre class="plaintext">Return the id of the current visit by the current user, creating it if necessary.
</pre></div></div><div class="public anchor" id="var-get-local-data"><h3>get-local-data</h3><div class="usage"><code>(get-local-data request)</code></div><div class="doc"><pre class="plaintext">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</pre></div></div><div class="public anchor" id="var-in-get-local-data"><h3>in-get-local-data</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Local data is volatile, because hopefully canvassers are updating it as they
work. So cache for only 90 seconds.</pre></div></div><div class="public anchor" id="var-last-visit-by-current-user"><h3>last-visit-by-current-user</h3><div class="usage"><code>(last-visit-by-current-user request)</code></div><div class="doc"><pre class="plaintext">Return the most recent visit by the currently logged in user
</pre></div></div><div class="public anchor" id="var-rest-routes"><h3>rest-routes</h3><div class="usage"></div><div class="doc"><pre class="plaintext">FIXME: write docs</pre></div></div><div class="public anchor" id="var-update-elector-signature.21"><h3>update-elector-signature!</h3><div class="usage"><code>(update-elector-signature! request)</code></div><div class="doc"><pre class="plaintext">Set the `signature` in the params of this `request` as the signature for
the elector whose `id` is in the params of this `request`.</pre></div></div></div></body></html>