Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F33328599
D11588.1768874014.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D11588.1768874014.diff
View Options
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
Details
Attached
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)
Attached To
Mode
D11588: [native_rust_library] implement delete_password_user method and move delete methods to a separate file
Attached
Detach File
Event Timeline
Log In to Comment