delete_corrupted_certificates function

dynamic delete_corrupted_certificates()

Implementation

delete_corrupted_certificates() async {
  int certificates_counter = 0;
  int certificates_corrupted_counter = 0;

  await FirebaseFirestore.instance
      .collection("certificates")
      .get()
      .then((collection) {
    collection.docs.forEach((certificate) async {
      certificates_counter++;

      var certificate_data = certificate.data();
      DocumentSnapshot user = await FirebaseFirestore.instance
          .collection("users")
          .doc(certificate_data["user_id"])
          .get();
      if (!user.exists) {
        certificates_corrupted_counter++;
        print("id: ${certificate.id} user_id: ${certificate_data["user_id"]}");
        certificate.reference.delete();
      }
    });

    Timer(Duration(milliseconds: 800), () {
      print("certificates_counter $certificates_counter");
      print("certificates_corrupted_counter $certificates_corrupted_counter");
    });
  });
}