loginDealer method
Implementation
@override
Future<Response<DealerLoginResponse>> loginDealer({
required String authToken,
required String dealerCode,
required String password,
}) async {
final body = {'dealer_code': dealerCode, 'password': password};
return await _loginClient
.post<Map<String, dynamic>>(
ApiConstants.loginUser,
data: body,
options: Options(
headers: {
'Authentication': authToken,
'Content-Type': Headers.formUrlEncodedContentType,
},
),
)
.then((response) {
final parsedResponse = DealerLoginResponse.fromJson(
response.data ?? {},
);
return Response<DealerLoginResponse>(
data: parsedResponse,
headers: response.headers,
requestOptions: response.requestOptions,
statusCode: response.statusCode,
statusMessage: response.statusMessage,
extra: response.extra,
);
})
.catchError((error) {
String errorMessage = 'Login failed';
if (error is DioException) {
errorMessage = error.response?.data?['message'] ??
error.message ??
'Unable to login';
}
_showError(errorMessage);
throw error;
});
}