post<T extends ToJson> method
Null safety
- T payload
Posts the authentication request to the server
Implementation
Future<AuthToken> post<T extends ToJson>(T payload) async {
const errMessage = 'Error while authenticating, please try again. '
'If this persists please contact App Support.';
try {
final response = await authClient.post(endpoint, data: payload.toJson());
return response.isSuccessful()
? AuthToken.fromJson(response.data)
: AuthToken.failed(
response.data.isNotEmpty ? response.data['message'] : errMessage);
} on DioError catch (error) {
return AuthToken.failed(error.response?.data?['message'] ?? errMessage);
}
}