loginWithEmail method

Future<Map<String, dynamic>?> loginWithEmail({
  1. required String email,
  2. required String password,
})

Implementation

Future<Map<String, dynamic>?> loginWithEmail({
  required String email,
  required String password,
}) async {
  var response = await http.post(
    Uri.parse('${constants.API_HOST}/api/auth/sign-in'),
    headers: <String, String>{
      'Content-Type': 'application/json; charset=UTF-8',
    },
    body: jsonEncode(<String, String>{
      'email': email,
      'password': password,
    }),
  );
  if (response.statusCode == 200) {
    String token = response.body;
    Config.token = token;
    // await Pref.write('token', token);
    return {'token': token, 'isLocked': false};
  } else if (response.body.toString().toLowerCase().startsWith('sorry')) {
    throw "Invalid Email or Password";
  } else if (response.body.toString().contains("isLocked")) {
    Map<String, dynamic> jsonResponse = jsonDecode(response.body);
    return jsonResponse;
  } else {
    throw response.reasonPhrase.toString();
  }
}