Page MenuHomePhorge

D11588.1768874014.diff
No OneTemporary

Size
2 KB
Referenced Files
None
Subscribers
None

D11588.1768874014.diff

diff --git a/native/native_rust_library/src/identity/account_actions.rs b/native/native_rust_library/src/identity/account_actions.rs
--- a/native/native_rust_library/src/identity/account_actions.rs
+++ b/native/native_rust_library/src/identity/account_actions.rs
@@ -1,6 +1,7 @@
-use comm_opaque2::client::Registration;
+use comm_opaque2::client::{Login, Registration};
use grpc_clients::identity::get_auth_client;
use grpc_clients::identity::protos::auth::{
+ DeletePasswordUserFinishRequest, DeletePasswordUserStartRequest,
UpdateUserPasswordFinishRequest, UpdateUserPasswordStartRequest,
};
use grpc_clients::identity::protos::unauth::Empty;
@@ -48,6 +49,24 @@
});
}
+ pub fn delete_password_user(
+ user_id: String,
+ device_id: String,
+ access_token: String,
+ password: String,
+ promise_id: u32,
+ ) {
+ RUNTIME.spawn(async move {
+ let auth_info = AuthInfo {
+ access_token,
+ user_id,
+ device_id,
+ };
+ let result = delete_password_user_helper(auth_info, password).await;
+ handle_void_result_as_callback(result, promise_id);
+ });
+ }
+
pub fn log_out(
user_id: String,
device_id: String,
@@ -133,6 +152,50 @@
Ok(())
}
+async fn delete_password_user_helper(
+ auth_info: AuthInfo,
+ password: String,
+) -> Result<(), Error> {
+ let mut identity_client = get_auth_client(
+ IDENTITY_SOCKET_ADDR,
+ auth_info.user_id,
+ auth_info.device_id,
+ auth_info.access_token,
+ CODE_VERSION,
+ DEVICE_TYPE.as_str_name().to_lowercase(),
+ )
+ .await?;
+
+ let mut client_login = Login::new();
+ let opaque_login_request =
+ client_login.start(&password).map_err(crate::handle_error)?;
+
+ let delete_start_request = DeletePasswordUserStartRequest {
+ opaque_login_request,
+ };
+
+ let response = identity_client
+ .delete_password_user_start(delete_start_request)
+ .await?;
+
+ let delete_start_response = response.into_inner();
+
+ let opaque_login_upload = client_login
+ .finish(&delete_start_response.opaque_login_response)
+ .map_err(crate::handle_error)?;
+
+ let delete_finish_request = DeletePasswordUserFinishRequest {
+ session_id: delete_start_response.session_id,
+ opaque_login_upload,
+ };
+
+ identity_client
+ .delete_password_user_finish(delete_finish_request)
+ .await?;
+
+ Ok(())
+}
+
async fn log_out_helper(auth_info: AuthInfo) -> Result<(), Error> {
let mut identity_client = get_auth_client(
IDENTITY_SOCKET_ADDR,
diff --git a/native/native_rust_library/src/lib.rs b/native/native_rust_library/src/lib.rs
--- a/native/native_rust_library/src/lib.rs
+++ b/native/native_rust_library/src/lib.rs
@@ -121,6 +121,15 @@
promise_id: u32,
);
+ #[cxx_name = "identityDeletePasswordUser"]
+ fn delete_password_user(
+ user_id: String,
+ device_id: String,
+ access_token: String,
+ password: String,
+ promise_id: u32,
+ );
+
#[cxx_name = "identityLogOut"]
fn log_out(
user_id: String,

File Metadata

Mime Type
text/plain
Expires
Tue, Jan 20, 1:53 AM (2 h, 21 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5959022
Default Alt Text
D11588.1768874014.diff (2 KB)

Event Timeline