invalidateToken method

Future<void> invalidateToken(
  1. InvalidateTokenRequest request
)

Invalidates a push token with the Optimus API.

Implementation

Future<void> invalidateToken(InvalidateTokenRequest request) async {
  final headers = <String, String>{
    'mac': _constructMacHeader(request.token),
    ..._getJsonHeaders(),
  };
  final body = convert.jsonEncode(request);
  final response = await _client.delete(
    Uri.https(_apiEndpoint, registerTokenUrl),
    headers: headers,
    body: body,
    encoding: const convert.Utf8Codec(),
  );
  final res = Response.fromJson(
    convert.jsonDecode(response.body) as Map<String, dynamic>,
  );
  if (_enableSDKLogs) {
    logger
      ..d('Optimus InvalidateToken : $body')
      ..d(
        '''Optimus InvalidateToken Response: ${response.statusCode == 200 ? 'Success' : 'Failed'} Response Body: ${response.body}''',
      );
  }
  if (response.statusCode != 200 || !res.success) {
    throw ClientException(
      res.message.isNotEmpty
          ? res.message
          : 'Something went wrong while calling Optimus invalidate token API',
      response.statusCode,
    );
  }
}