Changeset View
Changeset View
Standalone View
Standalone View
services/identity/src/client_service.rs
Show All 16 Lines | client_service::client_proto::{ | ||||
UpdateUserPasswordStartRequest, UpdateUserPasswordStartResponse, | UpdateUserPasswordStartRequest, UpdateUserPasswordStartResponse, | ||||
UploadOneTimeKeysRequest, VerifyUserAccessTokenRequest, | UploadOneTimeKeysRequest, VerifyUserAccessTokenRequest, | ||||
VerifyUserAccessTokenResponse, WalletLoginRequest, WalletLoginResponse, | VerifyUserAccessTokenResponse, WalletLoginRequest, WalletLoginResponse, | ||||
}, | }, | ||||
config::CONFIG, | config::CONFIG, | ||||
database::{DatabaseClient, Error as DBError, KeyPayload}, | database::{DatabaseClient, Error as DBError, KeyPayload}, | ||||
id::generate_uuid, | id::generate_uuid, | ||||
nonce::generate_nonce_data, | nonce::generate_nonce_data, | ||||
reserved_users::validate_signed_account_ownership_message, | reserved_users::{ | ||||
validate_add_reserved_username_message, | |||||
validate_remove_reserved_username_message, | |||||
validate_signed_account_ownership_message, | |||||
}, | |||||
siwe::parse_and_verify_siwe_message, | siwe::parse_and_verify_siwe_message, | ||||
token::{AccessTokenData, AuthType}, | token::{AccessTokenData, AuthType}, | ||||
}; | }; | ||||
use aws_sdk_dynamodb::Error as DynamoDBError; | use aws_sdk_dynamodb::Error as DynamoDBError; | ||||
pub use client_proto::identity_client_service_server::{ | pub use client_proto::identity_client_service_server::{ | ||||
IdentityClientService, IdentityClientServiceServer, | IdentityClientService, IdentityClientServiceServer, | ||||
}; | }; | ||||
use comm_opaque2::grpc::protocol_error_to_grpc_status; | use comm_opaque2::grpc::protocol_error_to_grpc_status; | ||||
▲ Show 20 Lines • Show All 778 Lines • ▼ Show 20 Lines | let token_valid = self | ||||
.map_err(handle_db_error)?; | .map_err(handle_db_error)?; | ||||
let response = Response::new(VerifyUserAccessTokenResponse { token_valid }); | let response = Response::new(VerifyUserAccessTokenResponse { token_valid }); | ||||
Ok(response) | Ok(response) | ||||
} | } | ||||
async fn add_reserved_username( | async fn add_reserved_username( | ||||
&self, | &self, | ||||
_request: tonic::Request<AddReservedUsernameRequest>, | request: tonic::Request<AddReservedUsernameRequest>, | ||||
) -> Result<tonic::Response<Empty>, tonic::Status> { | ) -> Result<tonic::Response<Empty>, tonic::Status> { | ||||
unimplemented!() | let message = request.into_inner(); | ||||
let username = validate_add_reserved_username_message( | |||||
&message.message, | |||||
&message.signature, | |||||
)?; | |||||
self | |||||
.client | |||||
.add_username_to_reserved_usernames_table(username) | |||||
.await | |||||
.map_err(handle_db_error)?; | |||||
let response = Response::new(Empty {}); | |||||
Ok(response) | |||||
} | } | ||||
async fn remove_reserved_username( | async fn remove_reserved_username( | ||||
&self, | &self, | ||||
_request: tonic::Request<RemoveReservedUsernameRequest>, | request: tonic::Request<RemoveReservedUsernameRequest>, | ||||
) -> Result<tonic::Response<Empty>, tonic::Status> { | ) -> Result<tonic::Response<Empty>, tonic::Status> { | ||||
unimplemented!() | let message = request.into_inner(); | ||||
let username = validate_remove_reserved_username_message( | |||||
&message.message, | |||||
&message.signature, | |||||
)?; | |||||
self | |||||
.client | |||||
.delete_username_from_reserved_usernames_table(username) | |||||
.await | |||||
.map_err(handle_db_error)?; | |||||
let response = Response::new(Empty {}); | |||||
Ok(response) | |||||
} | } | ||||
} | } | ||||
pub fn handle_db_error(db_error: DBError) -> tonic::Status { | pub fn handle_db_error(db_error: DBError) -> tonic::Status { | ||||
match db_error { | match db_error { | ||||
DBError::AwsSdk(DynamoDBError::InternalServerError(_)) | DBError::AwsSdk(DynamoDBError::InternalServerError(_)) | ||||
| DBError::AwsSdk(DynamoDBError::ProvisionedThroughputExceededException( | | DBError::AwsSdk(DynamoDBError::ProvisionedThroughputExceededException( | ||||
_, | _, | ||||
Show All 10 Lines |