Deploying to gh-pages from @ dcfba60c86 🚀

This commit is contained in:
realaravinth
2021-06-11 18:18:14 +00:00
parent 6cde408f42
commit fbe2e366db
86 changed files with 212 additions and 260 deletions

View File

@@ -183,15 +183,6 @@
<span id="180">180</span>
<span id="181">181</span>
<span id="182">182</span>
<span id="183">183</span>
<span id="184">184</span>
<span id="185">185</span>
<span id="186">186</span>
<span id="187">187</span>
<span id="188">188</span>
<span id="189">189</span>
<span id="190">190</span>
<span id="191">191</span>
</pre><div class="example-wrap"><pre class="rust ">
<span class="comment">/*
* Copyright (C) 2021 Aravinth Manivannan &lt;realaravinth@batsense.net&gt;
@@ -223,8 +214,8 @@
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">routes</span> {
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">Auth</span> {
<span class="kw">pub</span> <span class="ident">login</span>: <span class="kw-2">&amp;</span><span class="lifetime">&#39;static</span> <span class="ident">str</span>,
<span class="kw">pub</span> <span class="ident">logout</span>: <span class="kw-2">&amp;</span><span class="lifetime">&#39;static</span> <span class="ident">str</span>,
<span class="kw">pub</span> <span class="ident">login</span>: <span class="kw-2">&amp;</span><span class="lifetime">&#39;static</span> <span class="ident">str</span>,
<span class="kw">pub</span> <span class="ident">register</span>: <span class="kw-2">&amp;</span><span class="lifetime">&#39;static</span> <span class="ident">str</span>,
}
@@ -234,8 +225,8 @@
<span class="kw">let</span> <span class="ident">logout</span> <span class="op">=</span> <span class="string">&quot;/logout&quot;</span>;
<span class="kw">let</span> <span class="ident">register</span> <span class="op">=</span> <span class="string">&quot;/api/v1/signup&quot;</span>;
<span class="ident">Auth</span> {
<span class="ident">login</span>,
<span class="ident">logout</span>,
<span class="ident">login</span>,
<span class="ident">register</span>,
}
}
@@ -243,16 +234,9 @@
}
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">services</span>(<span class="ident">cfg</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">web</span>::<span class="ident">ServiceConfig</span>) {
<span class="comment">// protect_get!(cfg, V1_API_ROUTES.auth.logout, signout);</span>
<span class="ident">cfg</span>.<span class="ident">service</span>(<span class="ident">signup</span>);
<span class="ident">cfg</span>.<span class="ident">service</span>(<span class="ident">signin</span>);
<span class="ident">cfg</span>.<span class="ident">service</span>(<span class="ident">signout</span>);
<span class="comment">// define_resource!(cfg, V1_API_ROUTES.auth.register, Methods::Post, signup);</span>
<span class="comment">// define_resource!(cfg, V1_API_ROUTES.auth.logout, Methods::ProtectGet, signout);</span>
<span class="comment">// define_resource!(cfg, V1_API_ROUTES.auth.login, Methods::Post, signin);</span>
<span class="comment">//post!(cfg, V1_API_ROUTES.auth.login, signin);</span>
}
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Clone</span>, <span class="ident">Debug</span>, <span class="ident">Deserialize</span>, <span class="ident">Serialize</span>)]</span>
@@ -280,10 +264,10 @@
<span class="ident">data</span>: <span class="ident">AppData</span>,
) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">ServiceResult</span><span class="op">&lt;</span><span class="kw">impl</span> <span class="ident">Responder</span><span class="op">&gt;</span> {
<span class="kw">if</span> <span class="op">!</span><span class="kw">crate</span>::<span class="ident">SETTINGS</span>.<span class="ident">server</span>.<span class="ident">allow_registration</span> {
<span class="prelude-val">Err</span>(<span class="ident">ServiceError</span>::<span class="ident">ClosedForRegistration</span>)<span class="question-mark">?</span>
<span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">ServiceError</span>::<span class="ident">ClosedForRegistration</span>);
}
<span class="kw">if</span> <span class="kw-2">&amp;</span><span class="ident">payload</span>.<span class="ident">password</span> <span class="op">!</span><span class="op">=</span> <span class="kw-2">&amp;</span><span class="ident">payload</span>.<span class="ident">confirm_password</span> {
<span class="kw">if</span> <span class="ident">payload</span>.<span class="ident">password</span> <span class="op">!</span><span class="op">=</span> <span class="ident">payload</span>.<span class="ident">confirm_password</span> {
<span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">ServiceError</span>::<span class="ident">PasswordsDontMatch</span>);
}
<span class="kw">let</span> <span class="ident">username</span> <span class="op">=</span> <span class="ident">data</span>.<span class="ident">creds</span>.<span class="ident">username</span>(<span class="kw-2">&amp;</span><span class="ident">payload</span>.<span class="ident">username</span>)<span class="question-mark">?</span>;
@@ -322,22 +306,20 @@
}
<span class="kw">if</span> <span class="ident">res</span>.<span class="ident">is_ok</span>() {
<span class="kw">break</span>;
} <span class="kw">else</span> {
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Err</span>(<span class="ident">sqlx</span>::<span class="ident">Error</span>::<span class="ident">Database</span>(<span class="ident">err</span>)) <span class="op">=</span> <span class="ident">res</span> {
<span class="kw">if</span> <span class="ident">err</span>.<span class="ident">code</span>() <span class="op">=</span><span class="op">=</span> <span class="prelude-val">Some</span>(<span class="ident">Cow</span>::<span class="ident">from</span>(<span class="string">&quot;23505&quot;</span>)) {
<span class="kw">let</span> <span class="ident">msg</span> <span class="op">=</span> <span class="ident">err</span>.<span class="ident">message</span>();
<span class="kw">if</span> <span class="ident">msg</span>.<span class="ident">contains</span>(<span class="string">&quot;mcaptcha_users_name_key&quot;</span>) {
<span class="prelude-val">Err</span>(<span class="ident">ServiceError</span>::<span class="ident">UsernameTaken</span>)<span class="question-mark">?</span>;
} <span class="kw">else</span> <span class="kw">if</span> <span class="ident">msg</span>.<span class="ident">contains</span>(<span class="string">&quot;mcaptcha_users_secret_key&quot;</span>) {
<span class="kw">continue</span>;
} <span class="kw">else</span> {
<span class="prelude-val">Err</span>(<span class="ident">ServiceError</span>::<span class="ident">InternalServerError</span>)<span class="question-mark">?</span>;
}
} <span class="kw">else</span> <span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Err</span>(<span class="ident">sqlx</span>::<span class="ident">Error</span>::<span class="ident">Database</span>(<span class="ident">err</span>)) <span class="op">=</span> <span class="ident">res</span> {
<span class="kw">if</span> <span class="ident">err</span>.<span class="ident">code</span>() <span class="op">=</span><span class="op">=</span> <span class="prelude-val">Some</span>(<span class="ident">Cow</span>::<span class="ident">from</span>(<span class="string">&quot;23505&quot;</span>)) {
<span class="kw">let</span> <span class="ident">msg</span> <span class="op">=</span> <span class="ident">err</span>.<span class="ident">message</span>();
<span class="kw">if</span> <span class="ident">msg</span>.<span class="ident">contains</span>(<span class="string">&quot;mcaptcha_users_name_key&quot;</span>) {
<span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">ServiceError</span>::<span class="ident">UsernameTaken</span>);
} <span class="kw">else</span> <span class="kw">if</span> <span class="ident">msg</span>.<span class="ident">contains</span>(<span class="string">&quot;mcaptcha_users_secret_key&quot;</span>) {
<span class="kw">continue</span>;
} <span class="kw">else</span> {
<span class="prelude-val">Err</span>(<span class="ident">sqlx</span>::<span class="ident">Error</span>::<span class="ident">Database</span>(<span class="ident">err</span>))<span class="question-mark">?</span>;
<span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">ServiceError</span>::<span class="ident">InternalServerError</span>);
}
};
}
} <span class="kw">else</span> {
<span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">sqlx</span>::<span class="ident">Error</span>::<span class="ident">Database</span>(<span class="ident">err</span>).<span class="ident">into</span>());
}
};
}
<span class="prelude-val">Ok</span>(<span class="ident">HttpResponse</span>::<span class="prelude-val">Ok</span>())
}
@@ -369,14 +351,14 @@
<span class="prelude-val">Err</span>(<span class="ident">ServiceError</span>::<span class="ident">WrongPassword</span>)
}
}
<span class="prelude-val">Err</span>(<span class="ident">RowNotFound</span>) <span class="op">=</span><span class="op">&gt;</span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">ServiceError</span>::<span class="ident">UsernameNotFound</span>),
<span class="prelude-val">Err</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">&gt;</span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">ServiceError</span>::<span class="ident">InternalServerError</span>)<span class="question-mark">?</span>,
<span class="prelude-val">Err</span>(<span class="ident">RowNotFound</span>) <span class="op">=</span><span class="op">&gt;</span> <span class="prelude-val">Err</span>(<span class="ident">ServiceError</span>::<span class="ident">UsernameNotFound</span>),
<span class="prelude-val">Err</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">&gt;</span> <span class="prelude-val">Err</span>(<span class="ident">ServiceError</span>::<span class="ident">InternalServerError</span>),
}
}
<span class="attribute">#[<span class="ident">my_codegen</span>::<span class="ident">get</span>(<span class="ident">path</span> <span class="op">=</span> <span class="string">&quot;crate::V1_API_ROUTES.auth.logout&quot;</span>, <span class="ident">wrap</span> <span class="op">=</span> <span class="string">&quot;crate::CheckLogin&quot;</span>)]</span>
<span class="kw">async</span> <span class="kw">fn</span> <span class="ident">signout</span>(<span class="ident">id</span>: <span class="ident">Identity</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="kw">impl</span> <span class="ident">Responder</span> {
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="kw">_</span>) <span class="op">=</span> <span class="ident">id</span>.<span class="ident">identity</span>() {
<span class="kw">if</span> <span class="ident">id</span>.<span class="ident">identity</span>().<span class="ident">is_some</span>() {
<span class="ident">id</span>.<span class="ident">forget</span>();
}
<span class="ident">HttpResponse</span>::<span class="ident">Found</span>()