diff --git a/services/identity/src/client_service.rs b/services/identity/src/client_service.rs --- a/services/identity/src/client_service.rs +++ b/services/identity/src/client_service.rs @@ -11,7 +11,12 @@ use tracing::{debug, error}; // Workspace crate imports -use crate::client_service::client_proto::{ +use crate::config::CONFIG; +use crate::database::{ + DBDeviceTypeInt, DatabaseClient, DeviceType, KeyPayload, +}; +use crate::error::Error as DBError; +use crate::grpc_services::protos::unauth::{ AddReservedUsernamesRequest, Empty, GenerateNonceResponse, OpaqueLoginFinishRequest, OpaqueLoginFinishResponse, OpaqueLoginStartRequest, OpaqueLoginStartResponse, RegistrationFinishRequest, @@ -21,11 +26,6 @@ VerifyUserAccessTokenRequest, VerifyUserAccessTokenResponse, WalletLoginRequest, WalletLoginResponse, }; -use crate::config::CONFIG; -use crate::database::{ - DBDeviceTypeInt, DatabaseClient, DeviceType, KeyPayload, -}; -use crate::error::Error as DBError; use crate::grpc_utils::DeviceKeyUploadActions; use crate::id::generate_uuid; use crate::nonce::generate_nonce_data; @@ -36,13 +36,10 @@ }; use crate::siwe::{is_valid_ethereum_address, parse_and_verify_siwe_message}; use crate::token::{AccessTokenData, AuthType}; -pub use client_proto::identity_client_service_server::{ - IdentityClientService, IdentityClientServiceServer, -}; -pub mod client_proto { - tonic::include_proto!("identity.client"); -} +pub use crate::grpc_services::protos::client::identity_client_service_server::{ + IdentityClientService, IdentityClientServiceServer, + }; #[derive(Clone)] pub enum WorkflowInProgress { diff --git a/services/identity/src/grpc_services/authenticated.rs b/services/identity/src/grpc_services/authenticated.rs --- a/services/identity/src/grpc_services/authenticated.rs +++ b/services/identity/src/grpc_services/authenticated.rs @@ -14,24 +14,18 @@ use comm_opaque2::grpc::protocol_error_to_grpc_status; use moka::future::Cache; use tonic::{Request, Response, Status}; +use tracing::{debug, error}; -// This must be named client, because generated code from the authenticated -// protobuf file references message structs from the client protobuf file -// with the client:: namespace -use crate::client_service::client_proto as client; - -pub mod auth_proto { - tonic::include_proto!("identity.authenticated"); -} -use auth_proto::{ +use super::protos::auth::{ find_user_id_request, identity_client_service_server::IdentityClientService, FindUserIdRequest, FindUserIdResponse, InboundKeyInfo, InboundKeysForUserRequest, InboundKeysForUserResponse, KeyserverKeysResponse, OutboundKeyInfo, OutboundKeysForUserRequest, OutboundKeysForUserResponse, - RefreshUserPreKeysRequest, UploadOneTimeKeysRequest, + RefreshUserPreKeysRequest, UpdateUserPasswordFinishRequest, + UpdateUserPasswordStartRequest, UpdateUserPasswordStartResponse, + UploadOneTimeKeysRequest, }; -use client::{Empty, IdentityKeyInfo}; -use tracing::{debug, error}; +use super::protos::client::{Empty, IdentityKeyInfo, PreKey}; #[derive(derive_more::Constructor)] pub struct AuthenticatedService { @@ -213,11 +207,11 @@ payload_signature: db_keys.key_payload_signature, social_proof: db_keys.social_proof, }), - content_prekey: Some(client::PreKey { + content_prekey: Some(PreKey { pre_key: db_keys.content_prekey.prekey, pre_key_signature: db_keys.content_prekey.prekey_signature, }), - notif_prekey: Some(client::PreKey { + notif_prekey: Some(PreKey { pre_key: db_keys.notif_prekey.prekey, pre_key_signature: db_keys.notif_prekey.prekey_signature, }), @@ -279,11 +273,9 @@ async fn update_user_password_start( &self, - request: tonic::Request, - ) -> Result< - tonic::Response, - tonic::Status, - > { + request: tonic::Request, + ) -> Result, tonic::Status> + { let (user_id, _) = get_user_and_device_id(&request)?; let message = request.into_inner(); @@ -302,7 +294,7 @@ .insert_with_uuid_key(WorkflowInProgress::Update(update_state)) .await; - let response = auth_proto::UpdateUserPasswordStartResponse { + let response = UpdateUserPasswordStartResponse { session_id, opaque_registration_response: server_message, }; @@ -311,7 +303,7 @@ async fn update_user_password_finish( &self, - request: tonic::Request, + request: tonic::Request, ) -> Result, tonic::Status> { let message = request.into_inner(); diff --git a/services/identity/src/grpc_services/mod.rs b/services/identity/src/grpc_services/mod.rs --- a/services/identity/src/grpc_services/mod.rs +++ b/services/identity/src/grpc_services/mod.rs @@ -1,2 +1,16 @@ pub mod authenticated; pub mod shared; + +pub mod protos { + pub mod unauth { + tonic::include_proto!("identity.client"); + } + pub mod auth { + tonic::include_proto!("identity.authenticated"); + } + + // This must be named client, because generated code from the authenticated + // protobuf file references message structs from the client protobuf file + // with the client:: namespace + pub use self::unauth as client; +} diff --git a/services/identity/src/grpc_utils.rs b/services/identity/src/grpc_utils.rs --- a/services/identity/src/grpc_utils.rs +++ b/services/identity/src/grpc_utils.rs @@ -4,11 +4,6 @@ use tracing::error; use crate::{ - client_service::client_proto::{ - DeviceKeyUpload, IdentityKeyInfo, OpaqueLoginStartRequest, PreKey, - RegistrationStartRequest, ReservedRegistrationStartRequest, - ReservedWalletLoginRequest, WalletLoginRequest, - }, constants::{ CONTENT_ONE_TIME_KEY, NOTIF_ONE_TIME_KEY, USERS_TABLE_DEVICES_MAP_CONTENT_PREKEY_ATTRIBUTE_NAME, @@ -20,7 +15,14 @@ USERS_TABLE_DEVICES_MAP_SOCIAL_PROOF_ATTRIBUTE_NAME, }, database::DeviceKeys, - grpc_services::authenticated::auth_proto::{InboundKeyInfo, OutboundKeyInfo}, + grpc_services::protos::{ + auth::{InboundKeyInfo, OutboundKeyInfo}, + unauth::{ + DeviceKeyUpload, IdentityKeyInfo, OpaqueLoginStartRequest, PreKey, + RegistrationStartRequest, ReservedRegistrationStartRequest, + ReservedWalletLoginRequest, WalletLoginRequest, + }, + }, token::AuthType, }; diff --git a/services/identity/src/main.rs b/services/identity/src/main.rs --- a/services/identity/src/main.rs +++ b/services/identity/src/main.rs @@ -30,8 +30,8 @@ use tracing_subscriber::EnvFilter; use client_service::{ClientService, IdentityClientServiceServer}; -use grpc_services::authenticated::auth_proto::identity_client_service_server::IdentityClientServiceServer as AuthServer; use grpc_services::authenticated::AuthenticatedService; +use grpc_services::protos::auth::identity_client_service_server::IdentityClientServiceServer as AuthServer; #[tokio::main] async fn main() -> Result<(), Box> {