diff --git a/lib/shared/messages/update-relationship-message-spec.js b/lib/shared/messages/update-relationship-message-spec.js --- a/lib/shared/messages/update-relationship-message-spec.js +++ b/lib/shared/messages/update-relationship-message-spec.js @@ -152,6 +152,18 @@ time: rawMessageInfo.time, operation: rawMessageInfo.operation, }; + } else if (rawMessageInfo.operation === 'farcaster_mutual') { + return { + type: messageTypes.UPDATE_RELATIONSHIP, + id: rawMessageInfo.id, + threadID: rawMessageInfo.threadID, + creator, + creatorFID: rawMessageInfo.creatorFID, + target, + targetFID: rawMessageInfo.targetFID, + time: rawMessageInfo.time, + operation: rawMessageInfo.operation, + }; } else { return { type: messageTypes.UPDATE_RELATIONSHIP, diff --git a/lib/types/messages/update-relationship.js b/lib/types/messages/update-relationship.js --- a/lib/types/messages/update-relationship.js +++ b/lib/types/messages/update-relationship.js @@ -71,12 +71,28 @@ rawUpdateFarcasterRelationshipMessageInfoValidator, ]); -export type UpdateRelationshipMessageInfo = { +export type UpdateTraditionalRelationshipMessageInfo = { +type: 22, +id: string, +threadID: string, +creator: RelativeUserInfo, +target: RelativeUserInfo, +time: number, - +operation: 'request_sent' | 'request_accepted' | 'farcaster_mutual', + +operation: TraditionalRelationshipOperation, }; + +export type UpdateFarcasterRelationshipMessageInfo = { + +type: 22, + +id: string, + +threadID: string, + +creator: RelativeUserInfo, + +creatorFID: string, + +target: RelativeUserInfo, + +targetFID: string, + +time: number, + +operation: FarcasterRelationshipOperation, +}; + +export type UpdateRelationshipMessageInfo = + | UpdateTraditionalRelationshipMessageInfo + | UpdateFarcasterRelationshipMessageInfo;