Changeset View
Changeset View
Standalone View
Standalone View
services/identity/src/service.rs
Show All 15 Lines | |||||
use tracing::{error, info, instrument}; | use tracing::{error, info, instrument}; | ||||
use crate::constants::MPSC_CHANNEL_BUFFER_CAPACITY; | use crate::constants::MPSC_CHANNEL_BUFFER_CAPACITY; | ||||
use crate::database::{DatabaseClient, Error as DBError}; | use crate::database::{DatabaseClient, Error as DBError}; | ||||
use crate::nonce::generate_nonce_data; | use crate::nonce::generate_nonce_data; | ||||
use crate::pake_grpc; | use crate::pake_grpc; | ||||
use crate::token::{AccessTokenData, AuthType}; | use crate::token::{AccessTokenData, AuthType}; | ||||
pub use proto::identity_service_server::IdentityServiceServer; | pub use proto::identity_keyserver_service_server::IdentityKeyserverServiceServer; | ||||
use proto::{ | use proto::{ | ||||
get_user_id_request::AuthType as ProtoAuthType, | get_user_id_request::AuthType as ProtoAuthType, | ||||
identity_service_server::IdentityService, | identity_keyserver_service_server::IdentityKeyserverService, | ||||
login_request::Data::PakeLoginRequest, | login_request::Data::PakeLoginRequest, | ||||
login_request::Data::WalletLoginRequest, | login_request::Data::WalletLoginRequest, | ||||
login_response::Data::PakeLoginResponse, | login_response::Data::PakeLoginResponse, | ||||
login_response::Data::WalletLoginResponse, | login_response::Data::WalletLoginResponse, | ||||
pake_login_request::Data::PakeCredentialFinalization, | pake_login_request::Data::PakeCredentialFinalization, | ||||
pake_login_request::Data::PakeCredentialRequestAndUserId, | pake_login_request::Data::PakeCredentialRequestAndUserId, | ||||
pake_login_response::Data::AccessToken, | pake_login_response::Data::AccessToken, | ||||
pake_login_response::Data::PakeCredentialResponse, | pake_login_response::Data::PakeCredentialResponse, | ||||
Show All 10 Lines | use proto::{ | ||||
PakeLoginResponse as PakeLoginResponseStruct, RegistrationRequest, | PakeLoginResponse as PakeLoginResponseStruct, RegistrationRequest, | ||||
RegistrationResponse, SessionInitializationInfo, UpdateUserRequest, | RegistrationResponse, SessionInitializationInfo, UpdateUserRequest, | ||||
UpdateUserResponse, VerifyUserTokenRequest, VerifyUserTokenResponse, | UpdateUserResponse, VerifyUserTokenRequest, VerifyUserTokenResponse, | ||||
WalletLoginRequest as WalletLoginRequestStruct, | WalletLoginRequest as WalletLoginRequestStruct, | ||||
WalletLoginResponse as WalletLoginResponseStruct, | WalletLoginResponse as WalletLoginResponseStruct, | ||||
}; | }; | ||||
mod proto { | mod proto { | ||||
tonic::include_proto!("identity"); | tonic::include_proto!("identity.keyserver"); | ||||
} | } | ||||
mod login; | mod login; | ||||
mod registration; | mod registration; | ||||
mod update; | mod update; | ||||
#[derive(Debug)] | #[derive(Debug)] | ||||
enum PakeWorkflow { | enum PakeWorkflow { | ||||
Registration, | Registration, | ||||
Login, | Login, | ||||
} | } | ||||
#[derive(derive_more::Constructor)] | #[derive(derive_more::Constructor)] | ||||
pub struct MyIdentityService { | pub struct MyIdentityService { | ||||
client: DatabaseClient, | client: DatabaseClient, | ||||
} | } | ||||
#[tonic::async_trait] | #[tonic::async_trait] | ||||
impl IdentityService for MyIdentityService { | impl IdentityKeyserverService for MyIdentityService { | ||||
type RegisterUserStream = Pin< | type RegisterUserStream = Pin< | ||||
Box< | Box< | ||||
dyn Stream<Item = Result<RegistrationResponse, Status>> + Send + 'static, | dyn Stream<Item = Result<RegistrationResponse, Status>> + Send + 'static, | ||||
>, | >, | ||||
>; | >; | ||||
#[instrument(skip(self))] | #[instrument(skip(self))] | ||||
async fn register_user( | async fn register_user( | ||||
▲ Show 20 Lines • Show All 536 Lines • Show Last 20 Lines |