saveEventIfAbsent method

  1. @override
Future<bool> saveEventIfAbsent(
  1. Nip01Event event
)
override

Stores event only when its id is not already present.

Returns true when the event was inserted and false when an event with the same id already existed. Existing payloads must never be overwritten.

Implementation

@override
Future<bool> saveEventIfAbsent(Nip01Event event) async {
  final insertedKey = await _eventsStore
      .record(event.id)
      .add(_database, event.toJsonForStorage());
  final inserted = insertedKey != null;
  if (inserted) {
    await _refreshDerivedStateForEvent(event);
  }
  return inserted;
}