Skip to content

Commit 400073a

Browse files
author
Bjornskjald
committed
Added MessageRemoveEvent
1 parent 1e9421b commit 400073a

File tree

3 files changed

+25
-8
lines changed

3 files changed

+25
-8
lines changed

src/ClientEvents.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ import {
1818
ChangeThreadThemeEvent,
1919
DeliveryReceiptEvent,
2020
ReadReceiptEvent,
21-
EventType
21+
EventType,
22+
MessageRemoveEvent
2223
} from './types/Events'
2324

2425
export default interface ClientEvents {
@@ -46,4 +47,6 @@ export default interface ClientEvents {
4647

4748
deliveryReceiptEvent: (deliveryReceiptEvent: DeliveryReceiptEvent) => void,
4849
readReceiptEvent: (readReceiptEvent: ReadReceiptEvent) => void
50+
51+
messageRemoveEvent: (messageRemoveEvent: MessageRemoveEvent) => void
4952
}

src/types/Events.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ export type EventType = (
1919
'changeThreadThemeEvent' |
2020

2121
'deliveryReceiptEvent' |
22-
'readReceiptEvent'
22+
'readReceiptEvent' |
23+
'messageRemoveEvent'
2324
)
2425

2526
export interface Event {
@@ -70,3 +71,5 @@ export interface DeliveryReceiptEvent extends Event {
7071
export interface ReadReceiptEvent extends Event {
7172
receiverId: string
7273
}
74+
75+
export interface MessageRemoveEvent extends MessageEvent {}

src/types/events/parseDeltaEvent.ts

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,28 @@ import {
44
ThreadNameEvent
55
} from './ThreadEvents'
66
import {
7-
Event,
8-
DeliveryReceiptEvent,
9-
ReadReceiptEvent,
10-
EventType
7+
Event,
8+
DeliveryReceiptEvent,
9+
ReadReceiptEvent,
10+
EventType,
11+
MessageRemoveEvent
1112
} from '../Events'
1213
import parseAdminMessage from './parseAdminMessage'
1314
import { getThreadId } from '../Message'
1415

1516
export default function parseDeltaEvent (event: any): { type: EventType, event: Event } {
1617
if (event.deltaAdminTextMessage) return parseAdminMessage(event.deltaAdminTextMessage)
1718

19+
if (event.deltaReplaceMessage) {
20+
const delta = event.deltaReplaceMessage
21+
if (delta.newMessage.messageMetadata.unsendType) {
22+
return {
23+
type: 'messageRemoveEvent',
24+
event: getEventMetadata(delta.newMessage) as MessageRemoveEvent
25+
}
26+
}
27+
}
28+
1829
if (event.deltaThreadName) {
1930
const delta = event.deltaThreadName
2031
return {
@@ -32,7 +43,7 @@ export default function parseDeltaEvent (event: any): { type: EventType, event:
3243
type: 'deliveryReceiptEvent',
3344
event: {
3445
threadId: getThreadId(delta),
35-
receiverId: delta.actorFbId || getThreadId(delta)
46+
receiverId: delta.actorFbId.toString() || getThreadId(delta)
3647
} as DeliveryReceiptEvent
3748
}
3849
}
@@ -43,7 +54,7 @@ export default function parseDeltaEvent (event: any): { type: EventType, event:
4354
type: 'readReceiptEvent',
4455
event: {
4556
threadId: getThreadId(delta),
46-
receiverId: delta.actorFbId || getThreadId(delta)
57+
receiverId: delta.actorFbId.toString() || getThreadId(delta)
4758
} as ReadReceiptEvent
4859
}
4960
}

0 commit comments

Comments
 (0)