Changeset View
Changeset View
Standalone View
Standalone View
lib/shared/messages/leave-thread-message-spec.js
// @flow | // @flow | ||||
import invariant from 'invariant'; | import invariant from 'invariant'; | ||||
import type { MessageSpec } from './message-spec.js'; | import type { MessageSpec, RobotextParams } from './message-spec.js'; | ||||
import { joinResult } from './utils.js'; | import { joinResult } from './utils.js'; | ||||
import { messageTypes } from '../../types/message-types.js'; | import { messageTypes } from '../../types/message-types.js'; | ||||
import type { | import type { | ||||
MessageInfo, | MessageInfo, | ||||
ClientDBMessageInfo, | ClientDBMessageInfo, | ||||
} from '../../types/message-types.js'; | } from '../../types/message-types.js'; | ||||
import type { | import type { | ||||
LeaveThreadMessageData, | LeaveThreadMessageData, | ||||
▲ Show 20 Lines • Show All 54 Lines • ▼ Show 20 Lines | > = Object.freeze({ | ||||
rawMessageInfoFromMessageData( | rawMessageInfoFromMessageData( | ||||
messageData: LeaveThreadMessageData, | messageData: LeaveThreadMessageData, | ||||
id: ?string, | id: ?string, | ||||
): RawLeaveThreadMessageInfo { | ): RawLeaveThreadMessageInfo { | ||||
invariant(id, 'RawLeaveThreadMessageInfo needs id'); | invariant(id, 'RawLeaveThreadMessageInfo needs id'); | ||||
return { ...messageData, id }; | return { ...messageData, id }; | ||||
}, | }, | ||||
robotext(messageInfo: LeaveThreadMessageInfo): EntityText { | robotext( | ||||
messageInfo: LeaveThreadMessageInfo, | |||||
params: RobotextParams, | |||||
): EntityText { | |||||
const creator = ET.user({ userInfo: messageInfo.creator }); | const creator = ET.user({ userInfo: messageInfo.creator }); | ||||
return ET`${creator} left ${ET.thread({ | return ET`${creator} left ${ET.thread({ | ||||
display: 'alwaysDisplayShortName', | display: 'alwaysDisplayShortName', | ||||
threadID: messageInfo.threadID, | threadID: messageInfo.threadID, | ||||
threadType: params.threadInfo?.type, | |||||
parentThreadID: params.threadInfo?.parentThreadID, | |||||
})}`; | })}`; | ||||
}, | }, | ||||
async notificationTexts( | async notificationTexts( | ||||
messageInfos: $ReadOnlyArray<MessageInfo>, | messageInfos: $ReadOnlyArray<MessageInfo>, | ||||
threadInfo: ThreadInfo, | threadInfo: ThreadInfo, | ||||
): Promise<NotifTexts> { | ): Promise<NotifTexts> { | ||||
const leaverBeavers = {}; | const leaverBeavers = {}; | ||||
Show All 29 Lines |