Page MenuHomePhorge

D15262.1765068851.diff
No OneTemporary

Size
7 KB
Referenced Files
None
Subscribers
None

D15262.1765068851.diff

diff --git a/keyserver/addons/rust-node-addon/src/identity_client/get_farcaster_users.rs b/keyserver/addons/rust-node-addon/src/identity_client/get_farcaster_users.rs
--- a/keyserver/addons/rust-node-addon/src/identity_client/get_farcaster_users.rs
+++ b/keyserver/addons/rust-node-addon/src/identity_client/get_farcaster_users.rs
@@ -25,6 +25,7 @@
user_id: farcaster_user.user_id,
username: farcaster_user.username,
farcaster_id: farcaster_user.farcaster_id,
+ supports_farcaster_dcs: farcaster_user.has_farcaster_dcs_token,
})
.collect();
@@ -40,4 +41,6 @@
pub username: String,
#[napi(js_name = "farcasterID")]
pub farcaster_id: String,
+ #[napi(js_name = "supportsFarcasterDCs")]
+ pub supports_farcaster_dcs: bool,
}
diff --git a/lib/reducers/aux-user-reducer.test.js b/lib/reducers/aux-user-reducer.test.js
--- a/lib/reducers/aux-user-reducer.test.js
+++ b/lib/reducers/aux-user-reducer.test.js
@@ -33,6 +33,7 @@
userID: 'userID_2',
username: 'username_2',
farcasterID: 'farcasterID_2',
+ supportsFarcasterDCs: false,
},
],
},
diff --git a/lib/types/aux-user-types.js b/lib/types/aux-user-types.js
--- a/lib/types/aux-user-types.js
+++ b/lib/types/aux-user-types.js
@@ -21,11 +21,6 @@
+accountMissingStatus?: AccountMissingFromIdentityStatus,
};
-export type LocalFarcasterUser = {
- ...FarcasterUser,
- +supportsFarcasterDCs?: boolean,
-};
-
export type AuxUserInfos = { +[userID: string]: AuxUserInfo };
export type AuxUserStore = {
@@ -33,11 +28,11 @@
};
export type SetAuxUserFIDsPayload = {
- +farcasterUsers: $ReadOnlyArray<LocalFarcasterUser>,
+ +farcasterUsers: $ReadOnlyArray<FarcasterUser>,
};
export type AddAuxUserFIDsPayload = {
- +farcasterUsers: $ReadOnlyArray<LocalFarcasterUser>,
+ +farcasterUsers: $ReadOnlyArray<FarcasterUser>,
};
export type RemovePeerUsersPayload = {
diff --git a/lib/types/identity-service-types.js b/lib/types/identity-service-types.js
--- a/lib/types/identity-service-types.js
+++ b/lib/types/identity-service-types.js
@@ -100,6 +100,7 @@
+userID: string,
+username: string,
+farcasterID: string,
+ +supportsFarcasterDCs: boolean,
};
export const farcasterUserValidator: TInterface<FarcasterUser> =
@@ -107,6 +108,7 @@
userID: tUserID,
username: t.String,
farcasterID: t.String,
+ supportsFarcasterDCs: t.Boolean,
});
export const farcasterUsersValidator: TList<Array<FarcasterUser>> = t.list(
diff --git a/native/native_rust_library/src/identity/farcaster.rs b/native/native_rust_library/src/identity/farcaster.rs
--- a/native/native_rust_library/src/identity/farcaster.rs
+++ b/native/native_rust_library/src/identity/farcaster.rs
@@ -22,6 +22,8 @@
username: String,
#[serde(rename = "farcasterID")]
farcaster_id: String,
+ #[serde(rename = "supportsFarcasterDCs")]
+ supports_farcaster_dcs: bool,
}
pub mod ffi {
@@ -117,6 +119,7 @@
user_id: farcaster_user.user_id,
username: farcaster_user.username,
farcaster_id: farcaster_user.farcaster_id,
+ supports_farcaster_dcs: farcaster_user.has_farcaster_dcs_token,
})
.collect();
diff --git a/services/identity/src/database/farcaster.rs b/services/identity/src/database/farcaster.rs
--- a/services/identity/src/database/farcaster.rs
+++ b/services/identity/src/database/farcaster.rs
@@ -341,11 +341,14 @@
};
let farcaster_id =
attrs.take_attr(USERS_TABLE_FARCASTER_ID_ATTRIBUTE_NAME)?;
+ let farcaster_dcs_token: Option<String> =
+ attrs.take_attr(USERS_TABLE_FARCASTER_DCS_TOKEN_ATTRIBUTE_NAME)?;
Ok(Self(FarcasterUser {
user_id,
username,
farcaster_id,
+ has_farcaster_dcs_token: farcaster_dcs_token.is_some(),
}))
}
}
diff --git a/services/terraform/modules/shared/dynamodb.tf b/services/terraform/modules/shared/dynamodb.tf
--- a/services/terraform/modules/shared/dynamodb.tf
+++ b/services/terraform/modules/shared/dynamodb.tf
@@ -206,7 +206,7 @@
name = "farcasterID-index"
hash_key = "farcasterID"
projection_type = "INCLUDE"
- non_key_attributes = ["walletAddress", "username"]
+ non_key_attributes = ["walletAddress", "username", "farcasterDCsToken"]
}
global_secondary_index {
diff --git a/shared/protos/identity_unauth.proto b/shared/protos/identity_unauth.proto
--- a/shared/protos/identity_unauth.proto
+++ b/shared/protos/identity_unauth.proto
@@ -349,4 +349,5 @@
string user_id = 1;
string farcaster_id = 2;
string username = 3;
+ bool has_farcaster_dcs_token = 4;
}
diff --git a/web/grpc/identity-service-client-wrapper.js b/web/grpc/identity-service-client-wrapper.js
--- a/web/grpc/identity-service-client-wrapper.js
+++ b/web/grpc/identity-service-client-wrapper.js
@@ -630,6 +630,7 @@
userID: user.getUserId(),
username: user.getUsername(),
farcasterID: user.getFarcasterId(),
+ supportsFarcasterDCs: user.getHasFarcasterDcsToken(),
});
}
diff --git a/web/protobufs/identity-unauth-structs.cjs b/web/protobufs/identity-unauth-structs.cjs
--- a/web/protobufs/identity-unauth-structs.cjs
+++ b/web/protobufs/identity-unauth-structs.cjs
@@ -6057,7 +6057,8 @@
var f, obj = {
userId: jspb.Message.getFieldWithDefault(msg, 1, ""),
farcasterId: jspb.Message.getFieldWithDefault(msg, 2, ""),
- username: jspb.Message.getFieldWithDefault(msg, 3, "")
+ username: jspb.Message.getFieldWithDefault(msg, 3, ""),
+ hasFarcasterDcsToken: jspb.Message.getBooleanFieldWithDefault(msg, 4, false)
};
if (includeInstance) {
@@ -6106,6 +6107,10 @@
var value = /** @type {string} */ (reader.readString());
msg.setUsername(value);
break;
+ case 4:
+ var value = /** @type {boolean} */ (reader.readBool());
+ msg.setHasFarcasterDcsToken(value);
+ break;
default:
reader.skipField();
break;
@@ -6156,6 +6161,13 @@
f
);
}
+ f = message.getHasFarcasterDcsToken();
+ if (f) {
+ writer.writeBool(
+ 4,
+ f
+ );
+ }
};
@@ -6213,6 +6225,24 @@
};
+/**
+ * optional bool has_farcaster_dcs_token = 4;
+ * @return {boolean}
+ */
+proto.identity.unauth.FarcasterUser.prototype.getHasFarcasterDcsToken = function() {
+ return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.identity.unauth.FarcasterUser} returns this
+ */
+proto.identity.unauth.FarcasterUser.prototype.setHasFarcasterDcsToken = function(value) {
+ return jspb.Message.setProto3BooleanField(this, 4, value);
+};
+
+
/**
* @enum {number}
*/
diff --git a/web/protobufs/identity-unauth-structs.cjs.flow b/web/protobufs/identity-unauth-structs.cjs.flow
--- a/web/protobufs/identity-unauth-structs.cjs.flow
+++ b/web/protobufs/identity-unauth-structs.cjs.flow
@@ -674,6 +674,9 @@
getUsername(): string;
setUsername(value: string): FarcasterUser;
+ getHasFarcasterDcsToken(): boolean;
+ setHasFarcasterDcsToken(value: boolean): FarcasterUser;
+
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): FarcasterUserObject;
static toObject(includeInstance: boolean, msg: FarcasterUser): FarcasterUserObject;
@@ -686,6 +689,7 @@
userId: string,
farcasterId: string,
username: string,
+ hasFarcasterDcsToken: boolean,
}
export type DeviceType = 0 | 1 | 2 | 3 | 4 | 5;

File Metadata

Mime Type
text/plain
Expires
Sun, Dec 7, 12:54 AM (10 h, 59 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5840037
Default Alt Text
D15262.1765068851.diff (7 KB)

Event Timeline