diff --git a/lib/types/tunnelbroker/user-actions-peer-to-peer-message-types.js b/lib/types/tunnelbroker/user-actions-peer-to-peer-message-types.js index 3069a1ae6..36e23bc52 100644 --- a/lib/types/tunnelbroker/user-actions-peer-to-peer-message-types.js +++ b/lib/types/tunnelbroker/user-actions-peer-to-peer-message-types.js @@ -1,51 +1,62 @@ // @flow import t, { type TInterface, type TUnion } from 'tcomb'; import { tShape, tString } from '../../utils/validation-utils.js'; import { type DMOperation, dmOperationValidator } from '../dm-ops.js'; export const userActionsP2PMessageTypes = Object.freeze({ LOG_OUT_PRIMARY_DEVICE: 'LOG_OUT_PRIMARY_DEVICE', LOG_OUT_SECONDARY_DEVICE: 'LOG_OUT_SECONDARY_DEVICE', + ACCOUNT_DELETION: 'ACCOUNT_DELETION', DM_OPERATION: 'DM_OPERATION', }); export type PrimaryDeviceLogoutP2PMessage = { +type: 'LOG_OUT_PRIMARY_DEVICE', }; export const primaryDeviceLogoutP2PMessageValidator: TInterface = tShape({ type: tString(userActionsP2PMessageTypes.LOG_OUT_PRIMARY_DEVICE), }); export type SecondaryDeviceLogoutP2PMessage = { +type: 'LOG_OUT_SECONDARY_DEVICE', // there is `senderID` so we don't have to add deviceID here }; export const secondaryDeviceLogoutP2PMessageValidator: TInterface = tShape({ type: tString(userActionsP2PMessageTypes.LOG_OUT_SECONDARY_DEVICE), }); +export type AccountDeletionP2PMessage = { + +type: 'ACCOUNT_DELETION', +}; +export const accountDeletionP2PMessageValidator: TInterface = + tShape({ + type: tString(userActionsP2PMessageTypes.ACCOUNT_DELETION), + }); + export type DMOperationP2PMessage = { +type: 'DM_OPERATION', +op: DMOperation, }; export const dmOperationP2PMessageValidator: TInterface = tShape({ type: tString(userActionsP2PMessageTypes.DM_OPERATION), op: dmOperationValidator, }); export type UserActionP2PMessage = | PrimaryDeviceLogoutP2PMessage | SecondaryDeviceLogoutP2PMessage + | AccountDeletionP2PMessage | DMOperationP2PMessage; export const userActionP2PMessageValidator: TUnion = t.union([ primaryDeviceLogoutP2PMessageValidator, secondaryDeviceLogoutP2PMessageValidator, + accountDeletionP2PMessageValidator, dmOperationP2PMessageValidator, ]);