mirror of
https://github.com/mCaptcha/mCaptcha.git
synced 2026-02-12 18:45:41 +00:00
Deploying to gh-pages from @ 95bc1feef7 🚀
This commit is contained in:
@@ -70,6 +70,10 @@
|
||||
<span id="67">67</span>
|
||||
<span id="68">68</span>
|
||||
<span id="69">69</span>
|
||||
<span id="70">70</span>
|
||||
<span id="71">71</span>
|
||||
<span id="72">72</span>
|
||||
<span id="73">73</span>
|
||||
</pre><div class="example-wrap"><pre class="rust ">
|
||||
<span class="comment">/*
|
||||
* Copyright (C) 2021 Aravinth Manivannan <realaravinth@batsense.net>
|
||||
@@ -88,32 +92,36 @@
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/</span>
|
||||
|
||||
<span class="kw">use</span> <span class="ident">actix_web</span>::{<span class="ident">HttpResponse</span>, <span class="ident">Responder</span>};
|
||||
<span class="kw">use</span> <span class="ident">lazy_static</span>::<span class="ident">lazy_static</span>;
|
||||
<span class="kw">use</span> <span class="ident">actix_identity</span>::<span class="ident">Identity</span>;
|
||||
<span class="kw">use</span> <span class="ident">actix_web</span>::{<span class="ident">web</span>, <span class="ident">HttpResponse</span>, <span class="ident">Responder</span>};
|
||||
<span class="kw">use</span> <span class="ident">sailfish</span>::<span class="ident">TemplateOnce</span>;
|
||||
|
||||
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">sitekey</span>;
|
||||
|
||||
<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">errors</span>::<span class="ident">PageResult</span>;
|
||||
<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">Data</span>;
|
||||
<span class="kw">use</span> <span class="ident">sitekey</span>::<span class="ident">list</span>::{<span class="ident">get_list_sitekeys</span>, <span class="ident">SiteKeys</span>};
|
||||
|
||||
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">TemplateOnce</span>, <span class="ident">Clone</span>)]</span>
|
||||
<span class="attribute">#[<span class="ident">template</span>(<span class="ident">path</span> <span class="op">=</span> <span class="string">"panel/index.html"</span>)]</span>
|
||||
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">IndexPage</span>;
|
||||
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">IndexPage</span> {
|
||||
<span class="ident">sitekeys</span>: <span class="ident">SiteKeys</span>,
|
||||
}
|
||||
|
||||
<span class="kw">const</span> <span class="ident">PAGE</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"Dashboard"</span>;
|
||||
|
||||
<span class="kw">impl</span> <span class="ident">Default</span> <span class="kw">for</span> <span class="ident">IndexPage</span> {
|
||||
<span class="kw">fn</span> <span class="ident">default</span>() <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
|
||||
<span class="ident">IndexPage</span>
|
||||
<span class="kw">impl</span> <span class="ident">IndexPage</span> {
|
||||
<span class="kw">fn</span> <span class="ident">new</span>(<span class="ident">sitekeys</span>: <span class="ident">SiteKeys</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
|
||||
<span class="ident">IndexPage</span> { <span class="ident">sitekeys</span> }
|
||||
}
|
||||
}
|
||||
|
||||
<span class="macro">lazy_static</span><span class="macro">!</span> {
|
||||
<span class="kw">static</span> <span class="kw-2">ref</span> <span class="ident">INDEX</span>: <span class="ident">String</span> <span class="op">=</span> <span class="ident">IndexPage</span>::<span class="ident">default</span>().<span class="ident">render_once</span>().<span class="ident">unwrap</span>();
|
||||
}
|
||||
<span class="kw">const</span> <span class="ident">PAGE</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"Dashboard"</span>;
|
||||
|
||||
<span class="kw">async</span> <span class="kw">fn</span> <span class="ident">panel</span>() <span class="op">-</span><span class="op">></span> <span class="kw">impl</span> <span class="ident">Responder</span> {
|
||||
<span class="ident">HttpResponse</span>::<span class="prelude-val">Ok</span>()
|
||||
<span class="kw">async</span> <span class="kw">fn</span> <span class="ident">panel</span>(<span class="ident">data</span>: <span class="ident">web</span>::<span class="ident">Data</span><span class="op"><</span><span class="ident">Data</span><span class="op">></span>, <span class="ident">id</span>: <span class="ident">Identity</span>) <span class="op">-</span><span class="op">></span> <span class="ident">PageResult</span><span class="op"><</span><span class="kw">impl</span> <span class="ident">Responder</span><span class="op">></span> {
|
||||
<span class="kw">let</span> <span class="ident">sitekeys</span> <span class="op">=</span> <span class="ident">get_list_sitekeys</span>(<span class="kw-2">&</span><span class="ident">data</span>, <span class="kw-2">&</span><span class="ident">id</span>).<span class="kw">await</span><span class="question-mark">?</span>;
|
||||
<span class="kw">let</span> <span class="ident">body</span> <span class="op">=</span> <span class="ident">IndexPage</span>::<span class="ident">new</span>(<span class="ident">sitekeys</span>).<span class="ident">render_once</span>().<span class="ident">unwrap</span>();
|
||||
<span class="prelude-val">Ok</span>(<span class="ident">HttpResponse</span>::<span class="prelude-val">Ok</span>()
|
||||
.<span class="ident">content_type</span>(<span class="string">"text/html; charset=utf-8"</span>)
|
||||
.<span class="ident">body</span>(<span class="kw-2">&</span><span class="kw-2">*</span><span class="ident">INDEX</span>)
|
||||
.<span class="ident">body</span>(<span class="ident">body</span>))
|
||||
}
|
||||
|
||||
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">services</span>(<span class="ident">cfg</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">actix_web</span>::<span class="ident">web</span>::<span class="ident">ServiceConfig</span>) {
|
||||
|
||||
@@ -111,6 +111,12 @@
|
||||
<span id="108">108</span>
|
||||
<span id="109">109</span>
|
||||
<span id="110">110</span>
|
||||
<span id="111">111</span>
|
||||
<span id="112">112</span>
|
||||
<span id="113">113</span>
|
||||
<span id="114">114</span>
|
||||
<span id="115">115</span>
|
||||
<span id="116">116</span>
|
||||
</pre><div class="example-wrap"><pre class="rust ">
|
||||
<span class="comment">/*
|
||||
* Copyright (C) 2021 Aravinth Manivannan <realaravinth@batsense.net>
|
||||
@@ -151,7 +157,17 @@
|
||||
}
|
||||
}
|
||||
|
||||
<span class="doccomment">/// render a list of all sitekeys that a user has</span>
|
||||
<span class="kw">pub</span> <span class="kw">async</span> <span class="kw">fn</span> <span class="ident">list_sitekeys</span>(<span class="ident">data</span>: <span class="ident">web</span>::<span class="ident">Data</span><span class="op"><</span><span class="ident">Data</span><span class="op">></span>, <span class="ident">id</span>: <span class="ident">Identity</span>) <span class="op">-</span><span class="op">></span> <span class="ident">PageResult</span><span class="op"><</span><span class="kw">impl</span> <span class="ident">Responder</span><span class="op">></span> {
|
||||
<span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="ident">get_list_sitekeys</span>(<span class="kw-2">&</span><span class="ident">data</span>, <span class="kw-2">&</span><span class="ident">id</span>).<span class="kw">await</span><span class="question-mark">?</span>;
|
||||
<span class="kw">let</span> <span class="ident">body</span> <span class="op">=</span> <span class="ident">IndexPage</span>::<span class="ident">new</span>(<span class="ident">res</span>).<span class="ident">render_once</span>().<span class="ident">unwrap</span>();
|
||||
<span class="prelude-val">Ok</span>(<span class="ident">HttpResponse</span>::<span class="prelude-val">Ok</span>()
|
||||
.<span class="ident">content_type</span>(<span class="string">"text/html; charset=utf-8"</span>)
|
||||
.<span class="ident">body</span>(<span class="ident">body</span>))
|
||||
}
|
||||
|
||||
<span class="doccomment">/// utility function to get a list of all sitekeys that a user owns</span>
|
||||
<span class="kw">pub</span> <span class="kw">async</span> <span class="kw">fn</span> <span class="ident">get_list_sitekeys</span>(<span class="ident">data</span>: <span class="kw-2">&</span><span class="ident">Data</span>, <span class="ident">id</span>: <span class="kw-2">&</span><span class="ident">Identity</span>) <span class="op">-</span><span class="op">></span> <span class="ident">PageResult</span><span class="op"><</span><span class="ident">SiteKeys</span><span class="op">></span> {
|
||||
<span class="kw">let</span> <span class="ident">username</span> <span class="op">=</span> <span class="ident">id</span>.<span class="ident">identity</span>().<span class="ident">unwrap</span>();
|
||||
<span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="ident">sqlx</span>::<span class="macro">query_as</span><span class="macro">!</span>(
|
||||
<span class="ident">MCaptchaDetails</span>,
|
||||
@@ -161,14 +177,10 @@
|
||||
)
|
||||
.<span class="ident">fetch_all</span>(<span class="kw-2">&</span><span class="ident">data</span>.<span class="ident">db</span>)
|
||||
.<span class="kw">await</span><span class="question-mark">?</span>;
|
||||
|
||||
<span class="kw">let</span> <span class="ident">body</span> <span class="op">=</span> <span class="ident">IndexPage</span>::<span class="ident">new</span>(<span class="ident">res</span>).<span class="ident">render_once</span>().<span class="ident">unwrap</span>();
|
||||
<span class="prelude-val">Ok</span>(<span class="ident">HttpResponse</span>::<span class="prelude-val">Ok</span>()
|
||||
.<span class="ident">content_type</span>(<span class="string">"text/html; charset=utf-8"</span>)
|
||||
.<span class="ident">body</span>(<span class="ident">body</span>))
|
||||
<span class="prelude-val">Ok</span>(<span class="ident">res</span>)
|
||||
}
|
||||
|
||||
<span class="kw">type</span> <span class="ident">SiteKeys</span> <span class="op">=</span> <span class="ident">Vec</span><span class="op"><</span><span class="ident">MCaptchaDetails</span><span class="op">></span>;
|
||||
<span class="kw">pub</span> <span class="kw">type</span> <span class="ident">SiteKeys</span> <span class="op">=</span> <span class="ident">Vec</span><span class="op"><</span><span class="ident">MCaptchaDetails</span><span class="op">></span>;
|
||||
|
||||
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">test</span>)]</span>
|
||||
<span class="kw">mod</span> <span class="ident">test</span> {
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
*/</span>
|
||||
|
||||
<span class="kw">mod</span> <span class="ident">add</span>;
|
||||
<span class="kw">mod</span> <span class="ident">list</span>;
|
||||
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">list</span>;
|
||||
<span class="kw">mod</span> <span class="ident">view</span>;
|
||||
|
||||
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">routes</span> {
|
||||
|
||||
Reference in New Issue
Block a user