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::WrongPasswordOrUsernameif unable to get user profile. - A
ServiceError::InternalServerErrorif unable to get user authentication data from the user id. - A
ServiceError::EmailNotVerifiedif 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