upsertMessage method

Future<bool> upsertMessage(
  1. MessagesCompanion entry
)

Insert a message, ignoring duplicates (same messageId). Returns true if the message was inserted (new), false if it was a duplicate.

Implementation

Future<bool> upsertMessage(MessagesCompanion entry) async {
  final existing = await (select(messages)
        ..where((t) => t.messageId.equals(entry.messageId.value)))
      .getSingleOrNull();

  if (existing != null) {
    // Message already exists — do not overwrite.
    // This is the core deduplication logic for epidemic routing.
    return false;
  }

  await into(messages).insert(entry);
  return true;
}