invalidateTokens method

Future<void> invalidateTokens()

Implementation

Future<void> invalidateTokens() async {
  verbose("Invalidate Expired FCM Tokens started");
  List<String> removeHashes = [];
  List<String> removeDevices = [];
  List<FCMDeviceInfo> rd = await readUserDevices(
    $uid!,
  ).then((i) => i.toList());

  for (FCMDeviceInfo i in rd.toList()) {
    String hash = hashFCM(i.token);

    if (DateTime.timestamp().millisecondsSinceEpoch -
            i.createdAt.millisecondsSinceEpoch >
        _expirationTome) {
      rd.removeWhere((j) => j.hash == hash);
      verbose(
        "Invalidating FCM token for device: ${i.platform} with hash: $hash Expired!",
      );
      continue;
    }
  }

  await writeUserDevices($uid!, rd);
}