mirror of
https://github.com/mCaptcha/mCaptcha.git
synced 2026-02-12 10:35:39 +00:00
Deploying to gh-pages from @ 47cca5c9a7 🚀
This commit is contained in:
@@ -391,8 +391,8 @@
|
||||
<span class="kw">let</span> <span class="ident">res</span>;
|
||||
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">email</span>) <span class="op">=</span> <span class="kw-2">&</span><span class="ident">payload</span>.<span class="ident">email</span> {
|
||||
<span class="ident">res</span> <span class="op">=</span> <span class="macro">sqlx::query!</span>(
|
||||
<span class="string">"INSERT INTO mcaptcha_users
|
||||
(name , password, email, secret) VALUES ($1, $2, $3, $4)"</span>,
|
||||
<span class="string">"insert into mcaptcha_users
|
||||
(name , password, email, secret) values ($1, $2, $3, $4)"</span>,
|
||||
<span class="kw-2">&</span><span class="ident">username</span>,
|
||||
<span class="kw-2">&</span><span class="ident">hash</span>,
|
||||
<span class="kw-2">&</span><span class="ident">email</span>,
|
||||
@@ -419,7 +419,7 @@
|
||||
<span class="kw">if</span> <span class="ident">msg</span>.<span class="ident">contains</span>(<span class="string">"mcaptcha_users_name_key"</span>) {
|
||||
<span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">ServiceError::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">"mcaptcha_users_email_key"</span>) {
|
||||
<span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">ServiceError::EmailTaken</span>);
|
||||
<span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">ServiceError::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">"mcaptcha_users_secret_key"</span>) {
|
||||
<span class="kw">continue</span>;
|
||||
} <span class="kw">else</span> {
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">auth</span>;
|
||||
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">mcaptcha</span>;
|
||||
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">meta</span>;
|
||||
<span class="kw">mod</span> <span class="ident">notifications</span>;
|
||||
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">notifications</span>;
|
||||
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">pow</span>;
|
||||
<span class="kw">mod</span> <span class="ident">routes</span>;
|
||||
|
||||
|
||||
@@ -152,6 +152,20 @@
|
||||
<span id="149">149</span>
|
||||
<span id="150">150</span>
|
||||
<span id="151">151</span>
|
||||
<span id="152">152</span>
|
||||
<span id="153">153</span>
|
||||
<span id="154">154</span>
|
||||
<span id="155">155</span>
|
||||
<span id="156">156</span>
|
||||
<span id="157">157</span>
|
||||
<span id="158">158</span>
|
||||
<span id="159">159</span>
|
||||
<span id="160">160</span>
|
||||
<span id="161">161</span>
|
||||
<span id="162">162</span>
|
||||
<span id="163">163</span>
|
||||
<span id="164">164</span>
|
||||
<span id="165">165</span>
|
||||
</pre><div class="example-wrap"><pre class="rust ">
|
||||
<span class="comment">/*
|
||||
* Copyright (C) 2021 Aravinth Manivannan <realaravinth@batsense.net>
|
||||
@@ -218,25 +232,39 @@
|
||||
<span class="kw">let</span> <span class="ident">receiver</span> <span class="op">=</span> <span class="ident">id</span>.<span class="ident">identity</span>().<span class="ident">unwrap</span>();
|
||||
<span class="comment">// TODO handle error where payload.to doesnt exist</span>
|
||||
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">notifications</span> <span class="op">=</span> <span class="macro">sqlx::query_file_as!</span>(
|
||||
<span class="ident">Notification</span>,
|
||||
<span class="string">"src/api/v1/notifications/get_all_unread.sql"</span>,
|
||||
<span class="kw-2">&</span><span class="ident">receiver</span>
|
||||
)
|
||||
.<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">resp</span>: <span class="ident">Vec</span><span class="op"><</span><span class="ident">NotificationResp</span><span class="op">></span> <span class="op">=</span> <span class="ident">notifications</span>
|
||||
.<span class="ident">drain</span>(<span class="number">0</span>..)
|
||||
.<span class="ident">map</span>(<span class="op">|</span><span class="ident">x</span><span class="op">|</span> {
|
||||
<span class="kw">let</span> <span class="ident">y</span>: <span class="ident">NotificationResp</span> <span class="op">=</span> <span class="ident">x</span>.<span class="ident">into</span>();
|
||||
<span class="ident">y</span>
|
||||
})
|
||||
.<span class="ident">collect</span>();
|
||||
<span class="kw">let</span> <span class="ident">resp</span> <span class="op">=</span> <span class="ident">runner::get_notification</span>(<span class="kw-2">&</span><span class="ident">data</span>, <span class="kw-2">&</span><span class="ident">receiver</span>).<span class="kw">await</span><span class="question-mark">?</span>;
|
||||
|
||||
<span class="prelude-val">Ok</span>(<span class="ident">HttpResponse::Ok</span>().<span class="ident">json</span>(<span class="ident">resp</span>))
|
||||
}
|
||||
|
||||
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">runner</span> {
|
||||
<span class="kw">use</span> <span class="kw">super</span>::<span class="kw-2">*</span>;
|
||||
<span class="kw">pub</span> <span class="kw">async</span> <span class="kw">fn</span> <span class="ident">get_notification</span>(
|
||||
<span class="ident">data</span>: <span class="kw-2">&</span><span class="ident">AppData</span>,
|
||||
<span class="ident">receiver</span>: <span class="kw-2">&</span><span class="ident">str</span>,
|
||||
) <span class="op">-</span><span class="op">></span> <span class="ident">ServiceResult</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">NotificationResp</span><span class="op">></span><span class="op">></span> {
|
||||
<span class="comment">// TODO handle error where payload.to doesnt exist</span>
|
||||
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">notifications</span> <span class="op">=</span> <span class="macro">sqlx::query_file_as!</span>(
|
||||
<span class="ident">Notification</span>,
|
||||
<span class="string">"src/api/v1/notifications/get_all_unread.sql"</span>,
|
||||
<span class="kw-2">&</span><span class="ident">receiver</span>
|
||||
)
|
||||
.<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">resp</span> <span class="op">=</span> <span class="ident">notifications</span>
|
||||
.<span class="ident">drain</span>(<span class="number">0</span>..)
|
||||
.<span class="ident">map</span>(<span class="op">|</span><span class="ident">x</span><span class="op">|</span> {
|
||||
<span class="kw">let</span> <span class="ident">y</span>: <span class="ident">NotificationResp</span> <span class="op">=</span> <span class="ident">x</span>.<span class="ident">into</span>();
|
||||
<span class="ident">y</span>
|
||||
})
|
||||
.<span class="ident">collect</span>();
|
||||
|
||||
<span class="prelude-val">Ok</span>(<span class="ident">resp</span>)
|
||||
}
|
||||
}
|
||||
|
||||
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">test</span>)]</span>
|
||||
<span class="kw">mod</span> <span class="ident">tests</span> {
|
||||
<span class="kw">use</span> <span class="ident">actix_web::http</span>::{<span class="ident">header</span>, <span class="ident">StatusCode</span>};
|
||||
|
||||
@@ -64,9 +64,9 @@
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/</span>
|
||||
|
||||
<span class="kw">mod</span> <span class="ident">add</span>;
|
||||
<span class="kw">mod</span> <span class="ident">get</span>;
|
||||
<span class="kw">mod</span> <span class="ident">mark_read</span>;
|
||||
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">add</span>;
|
||||
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">get</span>;
|
||||
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">mark_read</span>;
|
||||
|
||||
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">routes</span> {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user