login method
Implementation
@override
Future<AuthResult<UserModel>> login(LoginCredentials credentials) async {
try {
final body = <String, dynamic>{
'password': credentials.password,
};
if (credentials.email != null) body['email'] = credentials.email;
if (credentials.phoneNumber != null) body['phoneNumber'] = credentials.phoneNumber;
final response = await _client.post(
Uri.parse('$baseUrl/auth/login'),
headers: _headers,
body: jsonEncode(body),
);
return _handleResponse<UserModel>(response, UserModel.fromMap);
} catch (e) {
return AuthResult.failure(AuthException(e.toString(), code: 'network-error'));
}
}