Page MenuHomePhorge

D8134.1768808039.diff
No OneTemporary

Size
2 KB
Referenced Files
None
Subscribers
None

D8134.1768808039.diff

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
@@ -22,7 +22,11 @@
database::{DatabaseClient, Error as DBError, KeyPayload},
id::generate_uuid,
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,
token::{AccessTokenData, AuthType},
};
@@ -817,16 +821,44 @@
async fn add_reserved_username(
&self,
- _request: tonic::Request<AddReservedUsernameRequest>,
+ request: tonic::Request<AddReservedUsernameRequest>,
) -> 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(
&self,
- _request: tonic::Request<RemoveReservedUsernameRequest>,
+ request: tonic::Request<RemoveReservedUsernameRequest>,
) -> 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)
}
}
diff --git a/services/identity/src/interceptor.rs b/services/identity/src/interceptor.rs
--- a/services/identity/src/interceptor.rs
+++ b/services/identity/src/interceptor.rs
@@ -3,7 +3,7 @@
use crate::config::CONFIG;
-pub fn check_auth(req: Request<()>) -> Result<Request<()>, Status> {
+pub fn check_auth<T>(req: Request<T>) -> Result<Request<T>, Status> {
let token: MetadataValue<_> =
CONFIG.keyserver_auth_token.parse().map_err(|e| {
error!("Invalid auth token on server: {}", e);

File Metadata

Mime Type
text/plain
Expires
Mon, Jan 19, 7:33 AM (12 h, 2 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5955188
Default Alt Text
D8134.1768808039.diff (2 KB)

Event Timeline