pub struct DbUserStore { /* private fields */ }Available on crate feature
crypto and crate feature mailer and crate feature serde and (crate features model-mysql or model-postgres or model-sqlite) and non-WebAssembly only.Expand description
Accounts in the rws_users table of a DbPool
(model-* features), created if absent:
CREATE TABLE rws_users (
id VARCHAR(64) PRIMARY KEY, -- 32 hex digits
email VARCHAR(191) NOT NULL UNIQUE,
password_hash TEXT NOT NULL,
confirmed INTEGER NOT NULL DEFAULT 0,
created_at BIGINT NOT NULL
)The store’s calls wait for the database on the calling thread (the flows run on the blocking pool).
Implementations§
Trait Implementations§
Source§impl Clone for DbUserStore
impl Clone for DbUserStore
Source§impl UserStore for DbUserStore
impl UserStore for DbUserStore
Source§fn find_by_email(&self, email: &str) -> Result<Option<AuthUser>, String>
fn find_by_email(&self, email: &str) -> Result<Option<AuthUser>, String>
The account with this email (already lower-cased), if any.
Source§fn find_by_id(&self, id: &str) -> Result<Option<AuthUser>, String>
fn find_by_id(&self, id: &str) -> Result<Option<AuthUser>, String>
The account with this id, if any.
Source§fn create(
&self,
email: &str,
password_hash: &str,
) -> Result<Option<AuthUser>, String>
fn create( &self, email: &str, password_hash: &str, ) -> Result<Option<AuthUser>, String>
Create an account (not confirmed).
Ok(None) when the email is taken.Auto Trait Implementations§
impl !RefUnwindSafe for DbUserStore
impl !UnwindSafe for DbUserStore
impl Forget for DbUserStore
impl Freeze for DbUserStore
impl Send for DbUserStore
impl Sync for DbUserStore
impl Unpin for DbUserStore
impl UnsafeUnpin for DbUserStore
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> ServiceExt for T
impl<T> ServiceExt for T
Source§fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
Available on crate feature
map-response-body only.Apply a transformation to the response body. Read more
Source§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
Available on crate feature
trace only.High level tracing that classifies responses using HTTP status codes. Read more
Source§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
Available on crate feature
trace only.High level tracing that classifies responses using gRPC headers. Read more