mCaptcha/db_core/trait.MCDatabase.html

783 lines
150 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="mCaptchas database requirements. To implement support for $Database, kindly implement this trait."><title>MCDatabase in db_core - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-5bc39a1768837dd0.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="db_core" data-themes="" data-resource-suffix="" data-rustdoc-version="1.77.2 (25ef9e3d8 2024-04-09)" data-channel="1.77.2" data-search-js="search-dd67cee4cfa65049.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-4c98445ec4002617.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-48f368f3872407c8.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-04d5337699b92874.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../db_core/index.html">db_core</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">MCDatabase</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.add_captcha_levels">add_captcha_levels</a></li><li><a href="#tymethod.add_traffic_pattern">add_traffic_pattern</a></li><li><a href="#tymethod.analysis_save">analysis_save</a></li><li><a href="#tymethod.analytics_create_psuedo_id_if_not_exists">analytics_create_psuedo_id_if_not_exists</a></li><li><a href="#tymethod.analytics_delete_all_records_for_campaign">analytics_delete_all_records_for_campaign</a></li><li><a href="#tymethod.analytics_fetch">analytics_fetch</a></li><li><a href="#tymethod.analytics_get_all_psuedo_ids">analytics_get_all_psuedo_ids</a></li><li><a href="#tymethod.analytics_get_capmaign_id_from_psuedo_id">analytics_get_capmaign_id_from_psuedo_id</a></li><li><a href="#tymethod.analytics_get_psuedo_id_from_capmaign_id">analytics_get_psuedo_id_from_capmaign_id</a></li><li><a href="#tymethod.captcha_exists">captcha_exists</a></li><li><a href="#tymethod.create_captcha">create_captcha</a></li><li><a href="#tymethod.create_notification">create_notification</a></li><li><a href="#tymethod.delete_captcha">delete_captcha</a></li><li><a href="#tymethod.delete_captcha_levels">delete_captcha_levels</a></li><li><a href="#tymethod.delete_traffic_pattern">delete_traffic_pattern</a></li><li><a href="#tymethod.delete_user">delete_user</a></li><li><a href="#tymethod.email_exists">email_exists</a></li><li><a href="#tymethod.fetch_config_fetched">fetch_config_fetched</a></li><li><a href="#tymethod.fetch_confirm">fetch_confirm</a></li><li><a href="#tymethod.fetch_solve">fetch_solve</a></li><li><a href="#tymethod.get_all_easy_captchas">get_all_easy_captchas</a></li><li><a href="#tymethod.get_all_unread_notifications">get_all_unread_notifications</a></li><li><a href="#tymethod.get_all_user_captchas">get_all_user_captchas</a></li><li><a href="#tymethod.get_captcha_config">get_captcha_config</a></li><li><a href="#tymethod.get_captcha_cooldown">get_captcha_cooldown</a></li><li><a href="#tymethod.get_captcha_levels">get_captcha_levels</a></li><li><a href="#tymethod.get_email">get_email</a></li><li><a href="#tymethod.get_max_nonce_for_level">get_max_nonce_for_level</a></li><li><a href="#tymethod.get_password">get_password</a></li><li><a href="#tymethod.get_secret">get_secret</a></li><li><a href="#tymethod.get_secret_from_captcha">get_secret_from_captcha</a></li><li><a href="#tymethod.get_traffic_pattern">get_traffic_pattern</a></li><li><a href="#tymethod.mark_notification_read">mark_notification_read</a></li><li><a href="#tymethod.ping">ping</a></li><li><a href="#tymethod.record_confirm">record_confirm</a></li><li><a href="#tymethod.record_fetch">record_fetch</a></li><li><a href="#tymethod.record_solve">record_solve</a></li><li><a href="#tymethod.register">register</a></li><li><a href="#tymethod.stats_get_entry_at_location_for_time_limit_asc">stats_get_entry_at_location_for_time_limit_asc</a></li><li><a href="#tymethod.stats_get_num_logs_under_time">stats_get_num_logs_under_time</a></li><li><a href="#tymethod.update_captcha_key">update_captcha_key</a></li><li><a href="#tymethod.update_captcha_metadata">update_captcha_metadata</a></li><li><a href="#tymethod.update_email">update_email</a></li><li><a href="#tymethod.update_max_nonce_for_level">update_max_nonce_for_level</a></li><li><a href="#tymethod.update_password">update_password</a></li><li><a href="#tymethod.update_secret">update_secret</a></li><li><a href="#tymethod.update_username">update_username</a></li><li><a href="#tymethod.username_exists">username_exists</a></li></ul><h3><a href="#provided-methods">Provided Methods</a></h3><ul class="block"><li><a href="#method.analytics_captcha_is_published">analytics_captcha_is_published</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-Box%3Cdyn+MCDatabase%3E">Clone</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In crate db_core</a></h2></div></nav><div class="sidebar-resizer"></div>
<main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../db_core/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../help.html" title="help">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Trait <a href="index.html">db_core</a>::<wbr><a class="trait" href="#">MCDatabase</a><button id="copy-path" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../src/db_core/lib.rs.html#91-328">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub trait MCDatabase: <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="trait.CloneSPDatabase.html" title="trait db_core::CloneSPDatabase">CloneSPDatabase</a> {
<details class="toggle type-contents-toggle"><summary class="hideme"><span>Show 49 methods</span></summary> // Required methods
fn <a href="#tymethod.ping" class="fn">ping</a>&lt;'life0, 'async_trait&gt;(
&amp;'life0 self
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.bool.html">bool</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.register" class="fn">register</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
p: &amp;'life1 <a class="struct" href="struct.Register.html" title="struct db_core::Register">Register</a>&lt;'_&gt;
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.delete_user" class="fn">delete_user</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.username_exists" class="fn">username_exists</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.bool.html">bool</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_email" class="fn">get_email</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.77.2/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.email_exists" class="fn">email_exists</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
email: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.bool.html">bool</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.update_email" class="fn">update_email</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
p: &amp;'life1 <a class="struct" href="struct.UpdateEmail.html" title="struct db_core::UpdateEmail">UpdateEmail</a>&lt;'_&gt;
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_password" class="fn">get_password</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
l: &amp;'life1 <a class="enum" href="enum.Login.html" title="enum db_core::Login">Login</a>&lt;'_&gt;
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="struct.NameHash.html" title="struct db_core::NameHash">NameHash</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.update_password" class="fn">update_password</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
p: &amp;'life1 <a class="struct" href="struct.NameHash.html" title="struct db_core::NameHash">NameHash</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.update_username" class="fn">update_username</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
current: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
new: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_secret" class="fn">get_secret</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="struct.Secret.html" title="struct db_core::Secret">Secret</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_secret_from_captcha" class="fn">get_secret_from_captcha</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
key: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="struct.Secret.html" title="struct db_core::Secret">Secret</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.update_secret" class="fn">update_secret</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
secret: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.create_captcha" class="fn">create_captcha</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
p: &amp;'life2 <a class="struct" href="struct.CreateCaptcha.html" title="struct db_core::CreateCaptcha">CreateCaptcha</a>&lt;'_&gt;
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_captcha_config" class="fn">get_captcha_config</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
key: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="struct.Captcha.html" title="struct db_core::Captcha">Captcha</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_all_user_captchas" class="fn">get_all_user_captchas</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="struct.Captcha.html" title="struct db_core::Captcha">Captcha</a>&gt;&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.update_captcha_metadata" class="fn">update_captcha_metadata</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
p: &amp;'life2 <a class="struct" href="struct.CreateCaptcha.html" title="struct db_core::CreateCaptcha">CreateCaptcha</a>&lt;'_&gt;
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.update_captcha_key" class="fn">update_captcha_key</a>&lt;'life0, 'life1, 'life2, 'life3, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
old_key: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
new_key: &amp;'life3 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.add_captcha_levels" class="fn">add_captcha_levels</a>&lt;'life0, 'life1, 'life2, 'life3, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
captcha_key: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
levels: &amp;'life3 [<a class="struct" href="struct.Level.html" title="struct db_core::Level">Level</a>]
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.captcha_exists" class="fn">captcha_exists</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
username: <a class="enum" href="https://doc.rust-lang.org/1.77.2/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>&gt;,
captcha_key: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.bool.html">bool</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.delete_captcha_levels" class="fn">delete_captcha_levels</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
captcha_key: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.delete_captcha" class="fn">delete_captcha</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
captcha_key: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_captcha_levels" class="fn">get_captcha_levels</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
username: <a class="enum" href="https://doc.rust-lang.org/1.77.2/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>&gt;,
captcha_key: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="struct.Level.html" title="struct db_core::Level">Level</a>&gt;&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_captcha_cooldown" class="fn">get_captcha_cooldown</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
captcha_key: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.i32.html">i32</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.add_traffic_pattern" class="fn">add_traffic_pattern</a>&lt;'life0, 'life1, 'life2, 'life3, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
captcha_key: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
pattern: &amp;'life3 <a class="struct" href="struct.TrafficPattern.html" title="struct db_core::TrafficPattern">TrafficPattern</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_traffic_pattern" class="fn">get_traffic_pattern</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
captcha_key: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="struct.TrafficPattern.html" title="struct db_core::TrafficPattern">TrafficPattern</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_all_easy_captchas" class="fn">get_all_easy_captchas</a>&lt;'life0, 'async_trait&gt;(
&amp;'life0 self,
limit: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.usize.html">usize</a>,
offset: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.usize.html">usize</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="struct.EasyCaptcha.html" title="struct db_core::EasyCaptcha">EasyCaptcha</a>&gt;&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.delete_traffic_pattern" class="fn">delete_traffic_pattern</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
captcha_key: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.create_notification" class="fn">create_notification</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
p: &amp;'life1 <a class="struct" href="struct.AddNotification.html" title="struct db_core::AddNotification">AddNotification</a>&lt;'_&gt;
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_all_unread_notifications" class="fn">get_all_unread_notifications</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="struct.Notification.html" title="struct db_core::Notification">Notification</a>&gt;&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.mark_notification_read" class="fn">mark_notification_read</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
id: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.i32.html">i32</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.record_fetch" class="fn">record_fetch</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
key: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.record_solve" class="fn">record_solve</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
key: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.record_confirm" class="fn">record_confirm</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
key: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.fetch_config_fetched" class="fn">fetch_config_fetched</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
user: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
key: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.i64.html">i64</a>&gt;&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.fetch_solve" class="fn">fetch_solve</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
user: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
key: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.i64.html">i64</a>&gt;&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.fetch_confirm" class="fn">fetch_confirm</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
user: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
key: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.i64.html">i64</a>&gt;&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.analysis_save" class="fn">analysis_save</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
captcha_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
d: &amp;'life2 <a class="struct" href="struct.CreatePerformanceAnalytics.html" title="struct db_core::CreatePerformanceAnalytics">CreatePerformanceAnalytics</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.analytics_fetch" class="fn">analytics_fetch</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
captcha_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
limit: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.usize.html">usize</a>,
offset: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.usize.html">usize</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="struct.PerformanceAnalytics.html" title="struct db_core::PerformanceAnalytics">PerformanceAnalytics</a>&gt;&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.analytics_create_psuedo_id_if_not_exists" class="fn">analytics_create_psuedo_id_if_not_exists</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
captcha_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.analytics_get_psuedo_id_from_capmaign_id" class="fn">analytics_get_psuedo_id_from_capmaign_id</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
captcha_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.analytics_get_capmaign_id_from_psuedo_id" class="fn">analytics_get_capmaign_id_from_psuedo_id</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
psuedo_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.analytics_delete_all_records_for_campaign" class="fn">analytics_delete_all_records_for_campaign</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
campaign_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.analytics_get_all_psuedo_ids" class="fn">analytics_get_all_psuedo_ids</a>&lt;'life0, 'async_trait&gt;(
&amp;'life0 self,
page: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.usize.html">usize</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.update_max_nonce_for_level" class="fn">update_max_nonce_for_level</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
captcha_key: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
difficulty_factor: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.u32.html">u32</a>,
latest_nonce: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.u32.html">u32</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_max_nonce_for_level" class="fn">get_max_nonce_for_level</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
captcha_key: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
difficulty_factor: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.u32.html">u32</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.u32.html">u32</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.stats_get_num_logs_under_time" class="fn">stats_get_num_logs_under_time</a>&lt;'life0, 'async_trait&gt;(
&amp;'life0 self,
duration: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.u32.html">u32</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.usize.html">usize</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.stats_get_entry_at_location_for_time_limit_asc" class="fn">stats_get_entry_at_location_for_time_limit_asc</a>&lt;'life0, 'async_trait&gt;(
&amp;'life0 self,
duration: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.u32.html">u32</a>,
location: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.u32.html">u32</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.77.2/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.usize.html">usize</a>&gt;&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait</span>;
// Provided method
fn <a href="#method.analytics_captcha_is_published" class="fn">analytics_captcha_is_published</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
campaign_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.bool.html">bool</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span> { ... }
</details>}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>mCaptchas database requirements. To implement support for $Database, kindly implement this
trait.</p>
</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.ping" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#93">source</a><h4 class="code-header">fn <a href="#tymethod.ping" class="fn">ping</a>&lt;'life0, 'async_trait&gt;(
&amp;'life0 self
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.bool.html">bool</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,</div></h4></section></summary><div class="docblock"><p>ping DB</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.register" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#96">source</a><h4 class="code-header">fn <a href="#tymethod.register" class="fn">register</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
p: &amp;'life1 <a class="struct" href="struct.Register.html" title="struct db_core::Register">Register</a>&lt;'_&gt;
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>register a new user</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.delete_user" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#99">source</a><h4 class="code-header">fn <a href="#tymethod.delete_user" class="fn">delete_user</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>delete a user</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.username_exists" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#102">source</a><h4 class="code-header">fn <a href="#tymethod.username_exists" class="fn">username_exists</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.bool.html">bool</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>check if username exists</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_email" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#105">source</a><h4 class="code-header">fn <a href="#tymethod.get_email" class="fn">get_email</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.77.2/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>get user email</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.email_exists" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#108">source</a><h4 class="code-header">fn <a href="#tymethod.email_exists" class="fn">email_exists</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
email: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.bool.html">bool</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>check if email exists</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.update_email" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#111">source</a><h4 class="code-header">fn <a href="#tymethod.update_email" class="fn">update_email</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
p: &amp;'life1 <a class="struct" href="struct.UpdateEmail.html" title="struct db_core::UpdateEmail">UpdateEmail</a>&lt;'_&gt;
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>update a users email</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_password" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#114">source</a><h4 class="code-header">fn <a href="#tymethod.get_password" class="fn">get_password</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
l: &amp;'life1 <a class="enum" href="enum.Login.html" title="enum db_core::Login">Login</a>&lt;'_&gt;
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="struct.NameHash.html" title="struct db_core::NameHash">NameHash</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>get a users password</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.update_password" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#117">source</a><h4 class="code-header">fn <a href="#tymethod.update_password" class="fn">update_password</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
p: &amp;'life1 <a class="struct" href="struct.NameHash.html" title="struct db_core::NameHash">NameHash</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>update users password</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.update_username" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#120">source</a><h4 class="code-header">fn <a href="#tymethod.update_username" class="fn">update_username</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
current: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
new: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,</div></h4></section></summary><div class="docblock"><p>update username</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_secret" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#123">source</a><h4 class="code-header">fn <a href="#tymethod.get_secret" class="fn">get_secret</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="struct.Secret.html" title="struct db_core::Secret">Secret</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>get a users secret</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_secret_from_captcha" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#126">source</a><h4 class="code-header">fn <a href="#tymethod.get_secret_from_captcha" class="fn">get_secret_from_captcha</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
key: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="struct.Secret.html" title="struct db_core::Secret">Secret</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>get a users secret from a captcha key</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.update_secret" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#129">source</a><h4 class="code-header">fn <a href="#tymethod.update_secret" class="fn">update_secret</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
secret: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,</div></h4></section></summary><div class="docblock"><p>update a users secret</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.create_captcha" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#132">source</a><h4 class="code-header">fn <a href="#tymethod.create_captcha" class="fn">create_captcha</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
p: &amp;'life2 <a class="struct" href="struct.CreateCaptcha.html" title="struct db_core::CreateCaptcha">CreateCaptcha</a>&lt;'_&gt;
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,</div></h4></section></summary><div class="docblock"><p>create new captcha</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_captcha_config" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#135">source</a><h4 class="code-header">fn <a href="#tymethod.get_captcha_config" class="fn">get_captcha_config</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
key: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="struct.Captcha.html" title="struct db_core::Captcha">Captcha</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get captcha config</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_all_user_captchas" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#138">source</a><h4 class="code-header">fn <a href="#tymethod.get_all_user_captchas" class="fn">get_all_user_captchas</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="struct.Captcha.html" title="struct db_core::Captcha">Captcha</a>&gt;&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get all captchas belonging to user</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.update_captcha_metadata" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#141-145">source</a><h4 class="code-header">fn <a href="#tymethod.update_captcha_metadata" class="fn">update_captcha_metadata</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
p: &amp;'life2 <a class="struct" href="struct.CreateCaptcha.html" title="struct db_core::CreateCaptcha">CreateCaptcha</a>&lt;'_&gt;
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,</div></h4></section></summary><div class="docblock"><p>update captcha metadata; doesnt change captcha key</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.update_captcha_key" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#148-153">source</a><h4 class="code-header">fn <a href="#tymethod.update_captcha_key" class="fn">update_captcha_key</a>&lt;'life0, 'life1, 'life2, 'life3, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
old_key: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
new_key: &amp;'life3 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,</div></h4></section></summary><div class="docblock"><p>update captcha key; doesnt change metadata</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.add_captcha_levels" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#156-161">source</a><h4 class="code-header">fn <a href="#tymethod.add_captcha_levels" class="fn">add_captcha_levels</a>&lt;'life0, 'life1, 'life2, 'life3, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
captcha_key: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
levels: &amp;'life3 [<a class="struct" href="struct.Level.html" title="struct db_core::Level">Level</a>]
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Add levels to captcha</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.captcha_exists" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#164-168">source</a><h4 class="code-header">fn <a href="#tymethod.captcha_exists" class="fn">captcha_exists</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
username: <a class="enum" href="https://doc.rust-lang.org/1.77.2/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>&gt;,
captcha_key: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.bool.html">bool</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,</div></h4></section></summary><div class="docblock"><p>check if captcha exists</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.delete_captcha_levels" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#171-175">source</a><h4 class="code-header">fn <a href="#tymethod.delete_captcha_levels" class="fn">delete_captcha_levels</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
captcha_key: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Delete all levels of a captcha</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.delete_captcha" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#178">source</a><h4 class="code-header">fn <a href="#tymethod.delete_captcha" class="fn">delete_captcha</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
captcha_key: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Delete captcha</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_captcha_levels" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#181-185">source</a><h4 class="code-header">fn <a href="#tymethod.get_captcha_levels" class="fn">get_captcha_levels</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
username: <a class="enum" href="https://doc.rust-lang.org/1.77.2/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>&gt;,
captcha_key: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="struct.Level.html" title="struct db_core::Level">Level</a>&gt;&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get captcha levels</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_captcha_cooldown" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#188">source</a><h4 class="code-header">fn <a href="#tymethod.get_captcha_cooldown" class="fn">get_captcha_cooldown</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
captcha_key: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.i32.html">i32</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get captchas cooldown period</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.add_traffic_pattern" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#191-196">source</a><h4 class="code-header">fn <a href="#tymethod.add_traffic_pattern" class="fn">add_traffic_pattern</a>&lt;'life0, 'life1, 'life2, 'life3, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
captcha_key: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
pattern: &amp;'life3 <a class="struct" href="struct.TrafficPattern.html" title="struct db_core::TrafficPattern">TrafficPattern</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Add traffic configuration</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_traffic_pattern" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#199-203">source</a><h4 class="code-header">fn <a href="#tymethod.get_traffic_pattern" class="fn">get_traffic_pattern</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
captcha_key: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="struct.TrafficPattern.html" title="struct db_core::TrafficPattern">TrafficPattern</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get traffic configuration</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_all_easy_captchas" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#206-210">source</a><h4 class="code-header">fn <a href="#tymethod.get_all_easy_captchas" class="fn">get_all_easy_captchas</a>&lt;'life0, 'async_trait&gt;(
&amp;'life0 self,
limit: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.usize.html">usize</a>,
offset: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.usize.html">usize</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="struct.EasyCaptcha.html" title="struct db_core::EasyCaptcha">EasyCaptcha</a>&gt;&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get all easy captcha configurations on instance</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.delete_traffic_pattern" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#213-217">source</a><h4 class="code-header">fn <a href="#tymethod.delete_traffic_pattern" class="fn">delete_traffic_pattern</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
captcha_key: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Delete traffic configuration</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.create_notification" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#220">source</a><h4 class="code-header">fn <a href="#tymethod.create_notification" class="fn">create_notification</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
p: &amp;'life1 <a class="struct" href="struct.AddNotification.html" title="struct db_core::AddNotification">AddNotification</a>&lt;'_&gt;
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>create new notification</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_all_unread_notifications" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#223-226">source</a><h4 class="code-header">fn <a href="#tymethod.get_all_unread_notifications" class="fn">get_all_unread_notifications</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="struct.Notification.html" title="struct db_core::Notification">Notification</a>&gt;&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>get all unread notifications</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.mark_notification_read" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#229">source</a><h4 class="code-header">fn <a href="#tymethod.mark_notification_read" class="fn">mark_notification_read</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
username: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
id: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.i32.html">i32</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>mark a notification read</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.record_fetch" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#232">source</a><h4 class="code-header">fn <a href="#tymethod.record_fetch" class="fn">record_fetch</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
key: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>record PoWConfig fetches</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.record_solve" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#235">source</a><h4 class="code-header">fn <a href="#tymethod.record_solve" class="fn">record_solve</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
key: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>record PoWConfig solves</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.record_confirm" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#238">source</a><h4 class="code-header">fn <a href="#tymethod.record_confirm" class="fn">record_confirm</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
key: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>record PoWConfig confirms</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.fetch_config_fetched" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#241">source</a><h4 class="code-header">fn <a href="#tymethod.fetch_config_fetched" class="fn">fetch_config_fetched</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
user: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
key: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.i64.html">i64</a>&gt;&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,</div></h4></section></summary><div class="docblock"><p>fetch PoWConfig fetches</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.fetch_solve" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#244">source</a><h4 class="code-header">fn <a href="#tymethod.fetch_solve" class="fn">fetch_solve</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
user: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
key: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.i64.html">i64</a>&gt;&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,</div></h4></section></summary><div class="docblock"><p>fetch PoWConfig solves</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.fetch_confirm" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#247">source</a><h4 class="code-header">fn <a href="#tymethod.fetch_confirm" class="fn">fetch_confirm</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
user: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
key: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.i64.html">i64</a>&gt;&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,</div></h4></section></summary><div class="docblock"><p>fetch PoWConfig confirms</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.analysis_save" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#250-254">source</a><h4 class="code-header">fn <a href="#tymethod.analysis_save" class="fn">analysis_save</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
captcha_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
d: &amp;'life2 <a class="struct" href="struct.CreatePerformanceAnalytics.html" title="struct db_core::CreatePerformanceAnalytics">CreatePerformanceAnalytics</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,</div></h4></section></summary><div class="docblock"><p>record PoW timing</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.analytics_fetch" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#257-262">source</a><h4 class="code-header">fn <a href="#tymethod.analytics_fetch" class="fn">analytics_fetch</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
captcha_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
limit: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.usize.html">usize</a>,
offset: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.usize.html">usize</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="struct.PerformanceAnalytics.html" title="struct db_core::PerformanceAnalytics">PerformanceAnalytics</a>&gt;&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>fetch PoW analytics</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.analytics_create_psuedo_id_if_not_exists" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#265-268">source</a><h4 class="code-header">fn <a href="#tymethod.analytics_create_psuedo_id_if_not_exists" class="fn">analytics_create_psuedo_id_if_not_exists</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
captcha_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Create psuedo ID against campaign ID to publish analytics</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.analytics_get_psuedo_id_from_capmaign_id" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#271-274">source</a><h4 class="code-header">fn <a href="#tymethod.analytics_get_psuedo_id_from_capmaign_id" class="fn">analytics_get_psuedo_id_from_capmaign_id</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
captcha_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get psuedo ID from campaign ID</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.analytics_get_capmaign_id_from_psuedo_id" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#277-280">source</a><h4 class="code-header">fn <a href="#tymethod.analytics_get_capmaign_id_from_psuedo_id" class="fn">analytics_get_capmaign_id_from_psuedo_id</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
psuedo_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get campaign ID from psuedo ID</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.analytics_delete_all_records_for_campaign" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#283-286">source</a><h4 class="code-header">fn <a href="#tymethod.analytics_delete_all_records_for_campaign" class="fn">analytics_delete_all_records_for_campaign</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
campaign_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Delete all records for campaign</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.analytics_get_all_psuedo_ids" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#301">source</a><h4 class="code-header">fn <a href="#tymethod.analytics_get_all_psuedo_ids" class="fn">analytics_get_all_psuedo_ids</a>&lt;'life0, 'async_trait&gt;(
&amp;'life0 self,
page: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.usize.html">usize</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get all psuedo IDs</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.update_max_nonce_for_level" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#304-309">source</a><h4 class="code-header">fn <a href="#tymethod.update_max_nonce_for_level" class="fn">update_max_nonce_for_level</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
captcha_key: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
difficulty_factor: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.u32.html">u32</a>,
latest_nonce: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.u32.html">u32</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Track maximum nonce received against captcha levels</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_max_nonce_for_level" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#312-316">source</a><h4 class="code-header">fn <a href="#tymethod.get_max_nonce_for_level" class="fn">get_max_nonce_for_level</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
captcha_key: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>,
difficulty_factor: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.u32.html">u32</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.u32.html">u32</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get maximum nonce tracked so far for captcha levels</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.stats_get_num_logs_under_time" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#319">source</a><h4 class="code-header">fn <a href="#tymethod.stats_get_num_logs_under_time" class="fn">stats_get_num_logs_under_time</a>&lt;'life0, 'async_trait&gt;(
&amp;'life0 self,
duration: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.u32.html">u32</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.usize.html">usize</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get number of analytics entries that are under a certain duration</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.stats_get_entry_at_location_for_time_limit_asc" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#323-327">source</a><h4 class="code-header">fn <a href="#tymethod.stats_get_entry_at_location_for_time_limit_asc" class="fn">stats_get_entry_at_location_for_time_limit_asc</a>&lt;'life0, 'async_trait&gt;(
&amp;'life0 self,
duration: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.u32.html">u32</a>,
location: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.u32.html">u32</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.77.2/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.usize.html">usize</a>&gt;&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get the entry at a location in the list of analytics entires under a certain time limit
and sorted in ascending order</p>
</div></details></div><h2 id="provided-methods" class="section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.analytics_captcha_is_published" class="method"><a class="src rightside" href="../src/db_core/lib.rs.html#289-298">source</a><h4 class="code-header">fn <a href="#method.analytics_captcha_is_published" class="fn">analytics_captcha_is_published</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
campaign_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="errors/type.DBResult.html" title="type db_core::errors::DBResult">DBResult</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.bool.html">bool</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get publishing status of pow analytics for captcha ID/ campaign ID</p>
</div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Box%3Cdyn+MCDatabase%3E" class="impl"><a class="src rightside" href="../src/db_core/lib.rs.html#462-466">source</a><a href="#impl-Clone-for-Box%3Cdyn+MCDatabase%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="trait.MCDatabase.html" title="trait db_core::MCDatabase">MCDatabase</a>&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/db_core/lib.rs.html#463-465">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.2/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; Self</h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.77.2/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.77.2/src/core/clone.rs.html#169">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.2/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.reference.html">&amp;Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.77.2/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"></div><script src="../trait.impl/db_core/trait.MCDatabase.js" async></script></section></div></main></body></html>