ensureUpToDateContactListOrEmpty method

Future<ContactList> ensureUpToDateContactListOrEmpty(
  1. EventSigner signer
)

Implementation

Future<ContactList> ensureUpToDateContactListOrEmpty(EventSigner signer) async {
  ContactList? contactList =
  cacheManager.loadContactList(signer.getPublicKey());
  int sometimeAgo = DateTime
      .now()
      .subtract(REFRESH_CONTACT_LIST_DURATION)
      .millisecondsSinceEpoch ~/
      1000;
  bool refresh = contactList == null ||
      contactList.loadedTimestamp == null ||
      contactList.loadedTimestamp! < sometimeAgo;
  if (refresh) {
    contactList =
    await loadContactList(signer.getPublicKey(), forceRefresh: true);
  }
  contactList ??= ContactList(pubKey: signer.getPublicKey(), contacts: []);
  return contactList;
}