canUpdateMessage method
bool
canUpdateMessage(
- CollectionEventSource eventSource,
- RootMessage originalMessage,
- RootMessage updatedMessage
Implementation
bool canUpdateMessage(
CollectionEventSource eventSource,
RootMessage originalMessage,
RootMessage updatedMessage,
) {
bool canUpdate = false;
if (!canAddMessage(eventSource, updatedMessage)) {
return false;
}
if (eventSource == CollectionEventSource.pollChangeLogs ||
eventSource == CollectionEventSource.eventPollVoted ||
eventSource == CollectionEventSource.eventPollUpdated) {
if (originalMessage is UserMessage &&
originalMessage.poll != null &&
updatedMessage is UserMessage &&
updatedMessage.poll != null &&
originalMessage.poll!.updatedAt <= updatedMessage.poll!.updatedAt) {
canUpdate = true;
}
} else if (eventSource == CollectionEventSource.eventReactionUpdated) {
// Check updatedAt (?)
canUpdate = true;
} else if (eventSource == CollectionEventSource.eventThreadInfoUpdated) {
// Check updatedAt (?)
canUpdate = true;
} else if (originalMessage.updatedAt < updatedMessage.updatedAt) {
canUpdate = true;
} else if (updatedMessage is BaseMessage &&
(updatedMessage.sendingStatus == SendingStatus.failed ||
updatedMessage.sendingStatus == SendingStatus.pending)) {
canUpdate = true;
}
return canUpdate;
}