Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F32206579
D15181.1765119483.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
D15181.1765119483.diff
View Options
diff --git a/services/tunnelbroker/src/constants.rs b/services/tunnelbroker/src/constants.rs
--- a/services/tunnelbroker/src/constants.rs
+++ b/services/tunnelbroker/src/constants.rs
@@ -61,6 +61,17 @@
pub const DEVICE_TOKEN_INDEX_NAME: &str = "deviceToken-index";
}
+
+ //FIXME: This is a temporary solution to retrieve the Farcaster-related
+ // data without introducing dependency between services and will be
+ // fixed as part of ENG-11058.
+ pub mod users {
+ pub const TABLE_NAME: &str = "identity-users";
+ pub const PARTITION_KEY: &str = "userID";
+ pub const USERS_TABLE_FARCASTER_ID_ATTRIBUTE_NAME: &str = "farcasterID";
+ pub const USERS_TABLE_FARCASTER_DCS_TOKEN_ATTRIBUTE_NAME: &str =
+ "farcasterDCsToken";
+ }
}
// Log Error Types
diff --git a/services/tunnelbroker/src/database/mod.rs b/services/tunnelbroker/src/database/mod.rs
--- a/services/tunnelbroker/src/database/mod.rs
+++ b/services/tunnelbroker/src/database/mod.rs
@@ -13,7 +13,7 @@
use std::sync::Arc;
use tracing::{debug, error, warn};
-use crate::constants::dynamodb::{device_tokens, undelivered_messages};
+use crate::constants::dynamodb::{device_tokens, undelivered_messages, users};
use crate::constants::error_types;
pub mod message;
@@ -326,4 +326,32 @@
})?;
Ok(())
}
+
+ pub async fn get_farcaster_token(
+ &self,
+ user_id: &str,
+ ) -> Result<Option<String>, Error> {
+ let get_response = self
+ .client
+ .get_item()
+ .table_name(users::TABLE_NAME)
+ .key(users::PARTITION_KEY, AttributeValue::S(user_id.into()))
+ .send()
+ .await
+ .map_err(|e| {
+ error!(
+ errorType = error_types::DDB_ERROR,
+ "DynamoDB client failed to get device farcaster token {:?}", e
+ );
+ Error::AwsSdk(e.into())
+ })?;
+
+ let Some(mut item) = get_response.item else {
+ return Ok(None);
+ };
+
+ let device_token: String =
+ item.take_attr(users::USERS_TABLE_FARCASTER_DCS_TOKEN_ATTRIBUTE_NAME)?;
+ Ok(Some(device_token))
+ }
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sun, Dec 7, 2:58 PM (15 h, 10 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5844657
Default Alt Text
D15181.1765119483.diff (2 KB)
Attached To
Mode
D15181: [tunnelbroker] implement getting Farcaster token
Attached
Detach File
Event Timeline
Log In to Comment