login function

Future<String?> login(
  1. String email,
  2. String pass,
  3. bool _remember,
  4. String stringUserNotFound,
  5. String stringUserDisabled,
)

Implementation

Future<String?> login(String email, String pass, bool _remember,
    String stringUserNotFound, // strings.get(177) User not found
    String stringUserDisabled  // strings.get(178) "User is disabled. Connect to Administrator for more information.",
    ) async {
  try {
    User? user = (await FirebaseAuth.instance.signInWithEmailAndPassword(
        email: email, password: pass)).user;

    if (user == null)
      return stringUserNotFound; /// User not found

    var querySnapshot = await FirebaseFirestore.instance.collection("listusers").doc(user.uid).get();
    if (!querySnapshot.exists) {
      logout();
      return stringUserNotFound; /// User not found
    }

    var t = querySnapshot.data()!["visible"];
    if (t != null)
      if (!t){
        dprint("User not visible. Don't enter...");
        logout();
        return stringUserDisabled; /// "User is disabled. Connect to Administrator for more information.",
      }

    if (_remember)
      localSettings.saveLogin(email, pass, "email");
    else
      localSettings.saveLogin("", "", "");
  }catch(ex){
    return "login " + ex.toString();
  }
  return null;
}