pub struct Service { /* private fields */ }
Implementations§
Source§impl Service
impl Service
pub fn new( configuration: Arc<Configuration>, json_web_token: Arc<JsonWebToken>, user_repository: Arc<DbUserRepository>, user_profile_repository: Arc<DbUserProfileRepository>, user_authentication_repository: Arc<DbUserAuthenticationRepository>, ) -> Self
Sourcepub async fn login(
&self,
username: &str,
password: &str,
) -> Result<(String, UserCompact), ServiceError>
pub async fn login( &self, username: &str, password: &str, ) -> Result<(String, UserCompact), ServiceError>
Authenticate user with username and password. It returns a JWT token and a compact user profile.
§Errors
It returns:
- A
ServiceError::WrongPasswordOrUsername
if unable to get user profile. - A
ServiceError::InternalServerError
if unable to get user authentication data from the user id. - A
ServiceError::EmailNotVerified
if the email should be, but is not verified. - An error if unable to verify the password.
- An error if unable to get the user data from the database.
Sourcepub async fn renew_token(
&self,
token: &str,
) -> Result<(String, UserCompact), ServiceError>
pub async fn renew_token( &self, token: &str, ) -> Result<(String, UserCompact), ServiceError>
Renew a supplied JWT.
§Errors
This function will return an error if:
- Unable to verify the supplied payload as a valid jwt.
- Unable to get user data from the database.
Auto Trait Implementations§
impl Freeze for Service
impl !RefUnwindSafe for Service
impl Send for Service
impl Sync for Service
impl Unpin for Service
impl !UnwindSafe for Service
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
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 more