mirror of
https://github.com/mCaptcha/mCaptcha.git
synced 2026-02-12 18:45:41 +00:00
Deploying to gh-pages from @ 47cca5c9a7 🚀
This commit is contained in:
@@ -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>};
|
||||
|
||||
Reference in New Issue
Block a user