initializeUserStream method

void initializeUserStream()

Implementation

void initializeUserStream() {
  if (FirebaseAuth.instance.currentUser == null) {
    Get.snackbar(
      'Error initializing failed',
      'Tried to initialize user without being signed in',
      snackPosition: SnackPosition.BOTTOM,
      borderRadius: 4,
      margin: const EdgeInsets.all(0),
    );
    return;
  }

  FirebaseFirestore.instance
      .collection('users')
      .doc(FirebaseAuth.instance.currentUser!.uid)
      .snapshots()
      .listen((
        DocumentSnapshot<Map<String, dynamic>>
        databaseField,
      ) {
        if (kDebugMode) {
          print(
            '\n------------ Database changes detected! ------------\n',
          );
        }
        mapDatabaseInformation(
          databaseField: databaseField,
        );
      });

  FirebaseAuth.instance.userChanges().listen((
    User? accountInformation,
  ) {
    if (kDebugMode) {
      print(
        '\n------------ Auth changes detected! ------------\n',
      );
    }
    mapAccountInformation(
      accountInformation: accountInformation!,
    );
  });
}