diff --git a/keyserver/src/endpoints.js b/keyserver/src/endpoints.js --- a/keyserver/src/endpoints.js +++ b/keyserver/src/endpoints.js @@ -83,8 +83,8 @@ initialReduxStateRequestValidator, } from './responders/redux-state-responders.js'; import { - updateRelationshipsResponder, - updateRelationshipInputValidator, + legacyUpdateRelationshipsResponder, + legacyUpdateRelationshipInputValidator, } from './responders/relationship-responders.js'; import { reportCreationResponder, @@ -430,8 +430,8 @@ policies: baseLegalPolicies, }, update_relationships: { - responder: updateRelationshipsResponder, - inputValidator: updateRelationshipInputValidator, + responder: legacyUpdateRelationshipsResponder, + inputValidator: legacyUpdateRelationshipInputValidator, policies: baseLegalPolicies, }, update_role: { diff --git a/keyserver/src/responders/relationship-responders.js b/keyserver/src/responders/relationship-responders.js --- a/keyserver/src/responders/relationship-responders.js +++ b/keyserver/src/responders/relationship-responders.js @@ -3,19 +3,19 @@ import t, { type TInterface, type TUnion } from 'tcomb'; import { - type TraditionalRelationshipRequest, + type LegacyTraditionalRelationshipRequest, type RelationshipErrors, traditionalRelationshipActionsList, - type RelationshipRequest, - farcasterRelationshipRequestValidator, + type LegacyRelationshipRequest, + legacyFarcasterRelationshipRequestValidator, } from 'lib/types/relationship-types.js'; import { tShape, tUserID } from 'lib/utils/validation-utils.js'; import type { Viewer } from '../session/viewer.js'; import { updateRelationships } from '../updaters/relationship-updaters.js'; -export const traditionalRelationshipRequestValidator: TInterface = - tShape({ +const legacyTraditionalRelationshipRequestValidator: TInterface = + tShape({ action: t.enums.of( traditionalRelationshipActionsList, 'relationship action', @@ -23,17 +23,17 @@ userIDs: t.list(tUserID), }); -export const updateRelationshipInputValidator: TUnion = +export const legacyUpdateRelationshipInputValidator: TUnion = t.union([ - traditionalRelationshipRequestValidator, - farcasterRelationshipRequestValidator, + legacyTraditionalRelationshipRequestValidator, + legacyFarcasterRelationshipRequestValidator, ]); -async function updateRelationshipsResponder( +async function legacyUpdateRelationshipsResponder( viewer: Viewer, - request: RelationshipRequest, + request: LegacyRelationshipRequest, ): Promise { return await updateRelationships(viewer, request); } -export { updateRelationshipsResponder }; +export { legacyUpdateRelationshipsResponder }; diff --git a/keyserver/src/updaters/relationship-updaters.js b/keyserver/src/updaters/relationship-updaters.js --- a/keyserver/src/updaters/relationship-updaters.js +++ b/keyserver/src/updaters/relationship-updaters.js @@ -10,7 +10,7 @@ relationshipActions, undirectedStatus, directedStatus, - type RelationshipRequest, + type LegacyRelationshipRequest, } from 'lib/types/relationship-types.js'; import { threadTypes } from 'lib/types/thread-types-enum.js'; import type { NewThreadResponse } from 'lib/types/thread-types.js'; @@ -31,7 +31,7 @@ async function updateRelationships( viewer: Viewer, - request: RelationshipRequest, + request: LegacyRelationshipRequest, ): Promise { if (!viewer.loggedIn) { throw new ServerError('not_logged_in'); @@ -391,7 +391,7 @@ async function createPersonalThreads( viewer: Viewer, - request: RelationshipRequest, + request: LegacyRelationshipRequest, userIDs: $ReadOnlyArray, ) { invariant( diff --git a/lib/actions/relationship-actions.js b/lib/actions/relationship-actions.js --- a/lib/actions/relationship-actions.js +++ b/lib/actions/relationship-actions.js @@ -3,7 +3,7 @@ import type { CallSingleKeyserverEndpoint } from '../keyserver-conn/call-single-keyserver-endpoint.js'; import type { RelationshipErrors, - RelationshipRequest, + LegacyRelationshipRequest, } from '../types/relationship-types.js'; import { ServerError } from '../utils/errors.js'; @@ -15,7 +15,7 @@ const updateRelationships = ( callSingleKeyserverEndpoint: CallSingleKeyserverEndpoint, - ): ((request: RelationshipRequest) => Promise) => + ): ((request: LegacyRelationshipRequest) => Promise) => async request => { const errors = await callSingleKeyserverEndpoint( 'update_relationships', diff --git a/lib/types/endpoints.js b/lib/types/endpoints.js --- a/lib/types/endpoints.js +++ b/lib/types/endpoints.js @@ -98,7 +98,7 @@ UPDATE_USER_SETTINGS: 'update_user_settings', UPDATE_DEVICE_TOKEN: 'update_device_token', UPDATE_ENTRY: 'update_entry', - UPDATE_RELATIONSHIPS: 'update_relationships', + LEGACY_UPDATE_RELATIONSHIPS: 'update_relationships', UPDATE_ROLE: 'update_role', UPDATE_THREAD: 'update_thread', UPDATE_USER_SUBSCRIPTION: 'update_user_subscription', diff --git a/lib/types/relationship-types.js b/lib/types/relationship-types.js --- a/lib/types/relationship-types.js +++ b/lib/types/relationship-types.js @@ -75,22 +75,22 @@ }); export type RelationshipButton = $Values; -export type TraditionalRelationshipRequest = { +export type LegacyTraditionalRelationshipRequest = { +action: TraditionalRelationshipAction, +userIDs: $ReadOnlyArray, }; -export type FarcasterRelationshipRequest = { +export type LegacyFarcasterRelationshipRequest = { +action: 'farcaster', +userIDsToFID: { +[userID: string]: string }, }; -export type RelationshipRequest = - | TraditionalRelationshipRequest - | FarcasterRelationshipRequest; +export type LegacyRelationshipRequest = + | LegacyTraditionalRelationshipRequest + | LegacyFarcasterRelationshipRequest; -export const farcasterRelationshipRequestValidator: TInterface = - tShape({ +export const legacyFarcasterRelationshipRequestValidator: TInterface = + tShape({ action: tString('farcaster'), userIDsToFID: t.dict(tUserID, t.String), }); diff --git a/lib/types/relationship-types.test.js b/lib/types/relationship-types.test.js --- a/lib/types/relationship-types.test.js +++ b/lib/types/relationship-types.test.js @@ -1,6 +1,6 @@ // @flow -import { farcasterRelationshipRequestValidator } from './relationship-types.js'; +import { legacyFarcasterRelationshipRequestValidator } from './relationship-types.js'; describe('updateFarcasterRelationshipInputValidator', () => { test('SHOULD validate input with 2 userIDsToFID entries', () => { @@ -11,7 +11,7 @@ '512': 'f512', }, }; - expect(farcasterRelationshipRequestValidator.is(input)).toBe(true); + expect(legacyFarcasterRelationshipRequestValidator.is(input)).toBe(true); }); test('Should not validate if action is not farcaster', () => { @@ -22,6 +22,6 @@ '512': 'f512', }, }; - expect(farcasterRelationshipRequestValidator.is(input)).toBe(false); + expect(legacyFarcasterRelationshipRequestValidator.is(input)).toBe(false); }); }); diff --git a/native/profile/relationship-list-item.react.js b/native/profile/relationship-list-item.react.js --- a/native/profile/relationship-list-item.react.js +++ b/native/profile/relationship-list-item.react.js @@ -17,7 +17,7 @@ type RelationshipErrors, userRelationshipStatus, relationshipActions, - type RelationshipRequest, + type LegacyRelationshipRequest, } from 'lib/types/relationship-types.js'; import type { AccountUserInfo, @@ -111,7 +111,7 @@ +dispatchActionPromise: DispatchActionPromise, // async functions that hit server APIs +updateRelationships: ( - request: RelationshipRequest, + request: LegacyRelationshipRequest, ) => Promise, // withOverlayContext +overlayContext: ?OverlayContextType,