Fixed err lib
This commit is contained in:
parent
55b1ad0029
commit
8f251aa80e
@ -32,9 +32,12 @@ pub async fn register_user<'a>(
|
|||||||
match x_u_res_db_or_res!(get_credential(transaction, credential_dto.credential.clone()).await) {
|
match x_u_res_db_or_res!(get_credential(transaction, credential_dto.credential.clone()).await) {
|
||||||
None => {}
|
None => {}
|
||||||
Some(_) => {
|
Some(_) => {
|
||||||
return Err(Error::new(trace!()).error_type(ErrorType::Service(
|
return Err(Error::new(trace!()).error_type(ErrorType::Service {
|
||||||
ServiceError::AlreadyExistsError(String::from("Credential")),
|
error:
|
||||||
)));
|
ServiceError::AlreadyExistsError{
|
||||||
|
message: String::from("Credential")
|
||||||
|
},
|
||||||
|
}));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -65,21 +68,21 @@ pub async fn authenticate_user<'a>(
|
|||||||
) -> Result<User, Error> {
|
) -> Result<User, Error> {
|
||||||
let persisted_user = match x_u_res_db_or_res!(get_user_with_id(conn, &user.id).await) {
|
let persisted_user = match x_u_res_db_or_res!(get_user_with_id(conn, &user.id).await) {
|
||||||
None => {
|
None => {
|
||||||
return Err(Error::new(trace!()).error_type(ErrorType::Service(ServiceError::NotFoundError(format!("User with id: {}", user.id)))));
|
return Err(Error::new(trace!()).error_type(ErrorType::Service { error: ServiceError::NotFoundError { message: format!("User with id: {}", user.id) } } ));
|
||||||
}
|
}
|
||||||
Some(persisted_user) => persisted_user,
|
Some(persisted_user) => persisted_user,
|
||||||
};
|
};
|
||||||
|
|
||||||
match x_u_res_db_or_res!(validate_user_token(conn, &user.id, user.auth_token.clone()).await) {
|
match x_u_res_db_or_res!(validate_user_token(conn, &user.id, user.auth_token.clone()).await) {
|
||||||
None => return Err(Error::new(trace!()).error_type(ErrorType::Service(ServiceError::NotFoundError(format!("Auth Token {}", user.auth_token))))),
|
None => return Err(Error::new(trace!()).error_type(ErrorType::Service { error: ServiceError::NotFoundError { message: format!("Auth Token {}", user.auth_token) } } )),
|
||||||
Some(persisted_token) => {
|
Some(persisted_token) => {
|
||||||
// Check if persisted_token expired
|
// Check if persisted_token expired
|
||||||
if Utc::now().timestamp_millis() - persisted_token.last_updated.timestamp_millis()
|
if Utc::now().timestamp_millis() - persisted_token.last_updated.timestamp_millis()
|
||||||
> AUTH_TOKEN_EXPIRATION_TIME_MILLIS
|
> AUTH_TOKEN_EXPIRATION_TIME_MILLIS
|
||||||
{
|
{
|
||||||
Err(Error::new(trace!()).error_type(ErrorType::Service(ServiceError::IncorrectCredentialError(String::from(
|
Err(Error::new(trace!()).error_type(ErrorType::Service { error: ServiceError::IncorrectCredentialError{ message: String::from(
|
||||||
"Auth Token Expired. Use refresh token to get a new one.",
|
"Auth Token Expired. Use refresh token to get a new one.",
|
||||||
)))))
|
)}}))
|
||||||
} else {
|
} else {
|
||||||
// Not expired
|
// Not expired
|
||||||
Ok(persisted_user)
|
Ok(persisted_user)
|
||||||
@ -95,7 +98,7 @@ pub async fn refresh_auth_token<'a>(
|
|||||||
) -> Result<Token, Error> {
|
) -> Result<Token, Error> {
|
||||||
let _persisted_user = match x_u_res_db_or_res!(get_user_with_id(conn, &user.id).await) {
|
let _persisted_user = match x_u_res_db_or_res!(get_user_with_id(conn, &user.id).await) {
|
||||||
None => {
|
None => {
|
||||||
return Err(Error::new(trace!()).error_type(ErrorType::Service(ServiceError::NotFoundError(format!("User with id: {}", user.id)))));
|
return Err(Error::new(trace!()).error_type(ErrorType::Service { error: ServiceError::NotFoundError { message: format!("User with id: {}", user.id)}}));
|
||||||
}
|
}
|
||||||
Some(persisted_user) => persisted_user,
|
Some(persisted_user) => persisted_user,
|
||||||
};
|
};
|
||||||
@ -106,7 +109,7 @@ pub async fn refresh_auth_token<'a>(
|
|||||||
let new_auth_token = tokens.remove(0);
|
let new_auth_token = tokens.remove(0);
|
||||||
Ok(x_u_res_db_or_res!(update_token(conn, user.refresh_token, new_auth_token).await))
|
Ok(x_u_res_db_or_res!(update_token(conn, user.refresh_token, new_auth_token).await))
|
||||||
} else {
|
} else {
|
||||||
Err(Error::new(trace!()).error_type(ErrorType::Service(ServiceError::UnexpectedError(String::from("No tokens were created.")))))
|
Err(Error::new(trace!()).error_type(ErrorType::Service { error: ServiceError::UnexpectedError { message: String::from("No tokens were created.")}}))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -121,9 +124,9 @@ pub async fn reset_password(
|
|||||||
// Change pass
|
// Change pass
|
||||||
Ok(u_res_or_res!(change_password(conn, persisted_user, &user.new_password).await))
|
Ok(u_res_or_res!(change_password(conn, persisted_user, &user.new_password).await))
|
||||||
} else {
|
} else {
|
||||||
Err(Error::new(trace!()).error_type(ErrorType::Service(ServiceError::IncorrectCredentialError(String::from(
|
Err(Error::new(trace!()).error_type(ErrorType::Service { error: ServiceError::IncorrectCredentialError { message: String::from(
|
||||||
"Password incorrect.",
|
"Password incorrect.",
|
||||||
)))))
|
)}}))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -137,7 +140,7 @@ pub async fn force_reset_password<'a>(
|
|||||||
let persisted_user = match x_u_res_db_or_res!(get_user_with_id(conn, user_id).await) {
|
let persisted_user = match x_u_res_db_or_res!(get_user_with_id(conn, user_id).await) {
|
||||||
None => {
|
None => {
|
||||||
error!("Serious error. User doesn't exist but credentials pointing to the user do.");
|
error!("Serious error. User doesn't exist but credentials pointing to the user do.");
|
||||||
return Err(Error::new(trace!()).error_type(ErrorType::Service(ServiceError::NotFoundError(format!("User with id: {user_id}")))));
|
return Err(Error::new(trace!()).error_type(ErrorType::Service { error: ServiceError::NotFoundError { message: format!("User with id: {user_id}")}}));
|
||||||
}
|
}
|
||||||
Some(persisted_user) => persisted_user,
|
Some(persisted_user) => persisted_user,
|
||||||
};
|
};
|
||||||
@ -149,7 +152,7 @@ pub async fn password_login(
|
|||||||
user: UserLoginPayload,
|
user: UserLoginPayload,
|
||||||
) -> Result<Token, Error> {
|
) -> Result<Token, Error> {
|
||||||
let persisted_user_credential = match x_u_res_db_or_res!(get_credential(conn, user.credential.clone()).await) {
|
let persisted_user_credential = match x_u_res_db_or_res!(get_credential(conn, user.credential.clone()).await) {
|
||||||
None => return Err(Error::new(trace!()).error_type(ErrorType::Service(ServiceError::NotFoundError(format!("Credential {}", user.credential))))),
|
None => return Err(Error::new(trace!()).error_type(ErrorType::Service { error: ServiceError::NotFoundError { message: format!("Credential {}", user.credential)}})),
|
||||||
Some(persisted_credential) => persisted_credential,
|
Some(persisted_credential) => persisted_credential,
|
||||||
};
|
};
|
||||||
let persisted_user_opt =
|
let persisted_user_opt =
|
||||||
@ -157,10 +160,10 @@ pub async fn password_login(
|
|||||||
if let Some(_) = persisted_user_opt {
|
if let Some(_) = persisted_user_opt {
|
||||||
Ok(u_res_or_res!(create_token_for_user(conn, persisted_user_credential.user_id).await))
|
Ok(u_res_or_res!(create_token_for_user(conn, persisted_user_credential.user_id).await))
|
||||||
} else {
|
} else {
|
||||||
Err(Error::new(trace!()).error_type(ErrorType::Service(ServiceError::NotFoundError(format!(
|
Err(Error::new(trace!()).error_type(ErrorType::Service { error: ServiceError::NotFoundError { message: format!(
|
||||||
"User with id: {}",
|
"User with id: {}",
|
||||||
persisted_user_credential.user_id
|
persisted_user_credential.user_id
|
||||||
)))))
|
)}}))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -185,18 +188,18 @@ async fn create_token_for_user<'a>(
|
|||||||
auth_token: match tokens.get(0) {
|
auth_token: match tokens.get(0) {
|
||||||
None => {
|
None => {
|
||||||
error!("Tokens were not created.");
|
error!("Tokens were not created.");
|
||||||
return Err(Error::new(trace!()).error_type(ErrorType::Service(ServiceError::UnexpectedError(String::from(
|
return Err(Error::new(trace!()).error_type(ErrorType::Service { error: ServiceError::UnexpectedError { message: String::from(
|
||||||
"Tokens were not created.",
|
"Tokens were not created.",
|
||||||
)))));
|
)}}));
|
||||||
}
|
}
|
||||||
Some(token) => token.clone(),
|
Some(token) => token.clone(),
|
||||||
},
|
},
|
||||||
refresh_token: match tokens.get(1) {
|
refresh_token: match tokens.get(1) {
|
||||||
None => {
|
None => {
|
||||||
error!("Tokens were not created.");
|
error!("Tokens were not created.");
|
||||||
return Err(Error::new(trace!()).error_type(ErrorType::Service(ServiceError::UnexpectedError(String::from(
|
return Err(Error::new(trace!()).error_type(ErrorType::Service { error: ServiceError::UnexpectedError { message: String::from(
|
||||||
"Tokens were not created.",
|
"Tokens were not created.",
|
||||||
)))));
|
)}}));
|
||||||
}
|
}
|
||||||
Some(token) => token.clone(),
|
Some(token) => token.clone(),
|
||||||
},
|
},
|
||||||
@ -216,7 +219,7 @@ async fn validate_user_password<'a>(
|
|||||||
let persisted_user = match x_u_res_db_or_res!(get_user_with_id(conn, user_id).await) {
|
let persisted_user = match x_u_res_db_or_res!(get_user_with_id(conn, user_id).await) {
|
||||||
None => {
|
None => {
|
||||||
error!("Serious error. User doesn't exist but credentials pointing to the user do.");
|
error!("Serious error. User doesn't exist but credentials pointing to the user do.");
|
||||||
return Err(Error::new(trace!()).error_type(ErrorType::Service(ServiceError::NotFoundError(format!("User with id: {user_id}")))));
|
return Err(Error::new(trace!()).error_type(ErrorType::Service { error: ServiceError::NotFoundError { message: format!("User with id: {user_id}")}}));
|
||||||
}
|
}
|
||||||
Some(persisted_user) => persisted_user,
|
Some(persisted_user) => persisted_user,
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user