check_if_exist_certificate function
dynamic
check_if_exist_certificate({
- required String course_id,
- required BuildContext context,
- required bool show_has_certificate,
Implementation
check_if_exist_certificate({
required String course_id,
required BuildContext context,
required bool show_has_certificate,
}) async {
User user = FirebaseAuth.instance.currentUser!;
Map user_info = await get_user_info(user.uid);
List? certificates = user_info["certificates"];
bool has_certificates = false;
bool has_certificate = false;
if (certificates != null) {
if (certificates.isNotEmpty) {
has_certificates = true;
}
}
if (has_certificates) {
for (var certificate in certificates!) {
FirebaseFirestore.instance
.collection('certificates')
.doc(certificate)
.get()
.then((DocumentSnapshot snapshot_certificate) {
String snapshot_course_id = snapshot_certificate.get("course_id");
if (snapshot_course_id == course_id) {
has_certificate = true;
}
save_certificate(
user: user,
user_info: user_info,
course_id: course_id,
has_certificate: has_certificate,
context: context,
show_has_certificate: show_has_certificate,
);
});
}
} else {
save_certificate(
user: user,
user_info: user_info,
course_id: course_id,
has_certificate: has_certificate,
context: context,
show_has_certificate: show_has_certificate,
);
}
}