broadcastMetadata method
Future<Metadata>
broadcastMetadata(
- Metadata metadata,
- Iterable<
String> broadcastRelays, - EventSigner signer
Implementation
Future<Metadata> broadcastMetadata(Metadata metadata,
Iterable<String> broadcastRelays, EventSigner signer) async {
Nip01Event? event = await getSingleMetadataEvent(signer);
if (event != null) {
Map<String, dynamic> map = json.decode(event.content);
map.addAll(metadata.toJson());
event = Nip01Event(pubKey: event.pubKey,
kind: event.kind,
tags: event.tags,
content: json.encode(map),
createdAt: Helpers.now);
} else {
event = metadata.toEvent();
}
await broadcastEvent(event, broadcastRelays, signer);
metadata.updatedAt = Helpers.now;
metadata.refreshedTimestamp = Helpers.now;
await cacheManager.saveMetadata(metadata);
return metadata;
}