Deploying to gh-pages from @ 6b8ee754dd836dae3da3e3b5ead926f4854da629 🚀

This commit is contained in:
realaravinth
2024-01-04 19:50:02 +00:00
parent 64216a97bb
commit fcbc0b4910
275 changed files with 2494 additions and 1137 deletions

View File

@@ -1345,6 +1345,73 @@
<a href="#1345" id="1345">1345</a>
<a href="#1346" id="1346">1346</a>
<a href="#1347" id="1347">1347</a>
<a href="#1348" id="1348">1348</a>
<a href="#1349" id="1349">1349</a>
<a href="#1350" id="1350">1350</a>
<a href="#1351" id="1351">1351</a>
<a href="#1352" id="1352">1352</a>
<a href="#1353" id="1353">1353</a>
<a href="#1354" id="1354">1354</a>
<a href="#1355" id="1355">1355</a>
<a href="#1356" id="1356">1356</a>
<a href="#1357" id="1357">1357</a>
<a href="#1358" id="1358">1358</a>
<a href="#1359" id="1359">1359</a>
<a href="#1360" id="1360">1360</a>
<a href="#1361" id="1361">1361</a>
<a href="#1362" id="1362">1362</a>
<a href="#1363" id="1363">1363</a>
<a href="#1364" id="1364">1364</a>
<a href="#1365" id="1365">1365</a>
<a href="#1366" id="1366">1366</a>
<a href="#1367" id="1367">1367</a>
<a href="#1368" id="1368">1368</a>
<a href="#1369" id="1369">1369</a>
<a href="#1370" id="1370">1370</a>
<a href="#1371" id="1371">1371</a>
<a href="#1372" id="1372">1372</a>
<a href="#1373" id="1373">1373</a>
<a href="#1374" id="1374">1374</a>
<a href="#1375" id="1375">1375</a>
<a href="#1376" id="1376">1376</a>
<a href="#1377" id="1377">1377</a>
<a href="#1378" id="1378">1378</a>
<a href="#1379" id="1379">1379</a>
<a href="#1380" id="1380">1380</a>
<a href="#1381" id="1381">1381</a>
<a href="#1382" id="1382">1382</a>
<a href="#1383" id="1383">1383</a>
<a href="#1384" id="1384">1384</a>
<a href="#1385" id="1385">1385</a>
<a href="#1386" id="1386">1386</a>
<a href="#1387" id="1387">1387</a>
<a href="#1388" id="1388">1388</a>
<a href="#1389" id="1389">1389</a>
<a href="#1390" id="1390">1390</a>
<a href="#1391" id="1391">1391</a>
<a href="#1392" id="1392">1392</a>
<a href="#1393" id="1393">1393</a>
<a href="#1394" id="1394">1394</a>
<a href="#1395" id="1395">1395</a>
<a href="#1396" id="1396">1396</a>
<a href="#1397" id="1397">1397</a>
<a href="#1398" id="1398">1398</a>
<a href="#1399" id="1399">1399</a>
<a href="#1400" id="1400">1400</a>
<a href="#1401" id="1401">1401</a>
<a href="#1402" id="1402">1402</a>
<a href="#1403" id="1403">1403</a>
<a href="#1404" id="1404">1404</a>
<a href="#1405" id="1405">1405</a>
<a href="#1406" id="1406">1406</a>
<a href="#1407" id="1407">1407</a>
<a href="#1408" id="1408">1408</a>
<a href="#1409" id="1409">1409</a>
<a href="#1410" id="1410">1410</a>
<a href="#1411" id="1411">1411</a>
<a href="#1412" id="1412">1412</a>
<a href="#1413" id="1413">1413</a>
<a href="#1414" id="1414">1414</a>
</pre></div><pre class="rust"><code><span class="comment">// Copyright (C) 2022 Aravinth Manivannan &lt;realaravinth@batsense.net&gt;
// SPDX-FileCopyrightText: 2023 Aravinth Manivannan &lt;realaravinth@batsense.net&gt;
//
@@ -2016,13 +2083,8 @@
username: <span class="kw-2">&amp;</span>str,
captcha_key: <span class="kw-2">&amp;</span>str,
) -&gt; DBResult&lt;TrafficPattern&gt; {
<span class="kw">struct </span>Traffic {
peak_sustainable_traffic: i32,
avg_traffic: i32,
broke_my_site_traffic: <span class="prelude-ty">Option</span>&lt;i32&gt;,
}
<span class="kw">let </span>res = <span class="macro">sqlx::query_as!</span>(
Traffic,
InnerTraffic,
<span class="string">&quot;SELECT
avg_traffic,
peak_sustainable_traffic,
@@ -2053,11 +2115,67 @@
.fetch_one(<span class="kw-2">&amp;</span><span class="self">self</span>.pool)
.<span class="kw">await
</span>.map_err(|e| map_row_not_found_err(e, DBError::TrafficPatternNotFound))<span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(TrafficPattern {
broke_my_site_traffic: res.broke_my_site_traffic.as_ref().map(|v| <span class="kw-2">*</span>v <span class="kw">as </span>u32),
avg_traffic: res.avg_traffic <span class="kw">as </span>u32,
peak_sustainable_traffic: res.peak_sustainable_traffic <span class="kw">as </span>u32,
})
<span class="prelude-val">Ok</span>(res.into())
}
<span class="doccomment">/// Get all easy captcha configurations on instance
</span><span class="kw">async fn </span>get_all_easy_captchas(
<span class="kw-2">&amp;</span><span class="self">self</span>,
limit: usize,
offset: usize,
) -&gt; DBResult&lt;Vec&lt;EasyCaptcha&gt;&gt; {
<span class="kw">struct </span>InnerEasyCaptcha {
key: String,
peak_sustainable_traffic: i32,
avg_traffic: i32,
broke_my_site_traffic: <span class="prelude-ty">Option</span>&lt;i32&gt;,
name: String,
username: String,
}
<span class="kw">let </span><span class="kw-2">mut </span>inner_res = <span class="macro">sqlx::query_as!</span>(
InnerEasyCaptcha,
<span class="string">&quot;SELECT
mcaptcha_sitekey_user_provided_avg_traffic.avg_traffic,
mcaptcha_sitekey_user_provided_avg_traffic.peak_sustainable_traffic,
mcaptcha_sitekey_user_provided_avg_traffic.broke_my_site_traffic,
mcaptcha_config.name,
mcaptcha_users.name as username,
mcaptcha_config.key
FROM
mcaptcha_sitekey_user_provided_avg_traffic
INNER JOIN
mcaptcha_config
ON
mcaptcha_config.config_id = mcaptcha_sitekey_user_provided_avg_traffic.config_id
INNER JOIN
mcaptcha_users
ON
mcaptcha_config.user_id = mcaptcha_users.ID
ORDER BY mcaptcha_config.config_id
OFFSET $1 LIMIT $2; &quot;</span>,
offset <span class="kw">as </span>i32,
limit <span class="kw">as </span>i32
)
.fetch_all(<span class="kw-2">&amp;</span><span class="self">self</span>.pool)
.<span class="kw">await
</span>.map_err(|e| map_row_not_found_err(e, DBError::TrafficPatternNotFound))<span class="question-mark">?</span>;
<span class="kw">let </span><span class="kw-2">mut </span>res = Vec::with_capacity(inner_res.len());
inner_res.drain(<span class="number">0</span>..).for_each(|v| {
res.push(EasyCaptcha {
key: v.key,
description: v.name,
username: v.username,
traffic_pattern: TrafficPattern {
broke_my_site_traffic: v
.broke_my_site_traffic
.as_ref()
.map(|v| <span class="kw-2">*</span>v <span class="kw">as </span>u32),
avg_traffic: v.avg_traffic <span class="kw">as </span>u32,
peak_sustainable_traffic: v.peak_sustainable_traffic <span class="kw">as </span>u32,
},
})
});
<span class="prelude-val">Ok</span>(res)
}
<span class="doccomment">/// Delete traffic configuration
@@ -2692,4 +2810,20 @@
}
}
}
<span class="kw">struct </span>InnerTraffic {
peak_sustainable_traffic: i32,
avg_traffic: i32,
broke_my_site_traffic: <span class="prelude-ty">Option</span>&lt;i32&gt;,
}
<span class="kw">impl </span>From&lt;InnerTraffic&gt; <span class="kw">for </span>TrafficPattern {
<span class="kw">fn </span>from(v: InnerTraffic) -&gt; <span class="self">Self </span>{
TrafficPattern {
broke_my_site_traffic: v.broke_my_site_traffic.as_ref().map(|v| <span class="kw-2">*</span>v <span class="kw">as </span>u32),
avg_traffic: v.avg_traffic <span class="kw">as </span>u32,
peak_sustainable_traffic: v.peak_sustainable_traffic <span class="kw">as </span>u32,
}
}
}
</code></pre></div></section></main></body></html>