generateGrantToken method

Future<MdmEmpty> generateGrantToken(
  1. GrantTokenRequestDto grantTokenRequestDto
)

Implementation

Future<MdmEmpty> generateGrantToken(
  GrantTokenRequestDto grantTokenRequestDto,
) async {
  final String url = '$channel/oauth/v2/auth';

  // need to remove null values from the request
  final responseDto = grantTokenRequestDto.toJson();
  responseDto.removeWhere((key, value) => value == null);

  final response = await http.post(
    Uri.parse(url).replace(
      queryParameters: responseDto,
    ),
  );

  if (!response.statusCode.isSuccessful) {
    throw MdmEngineException(
      method: response.request?.method,
      url: url,
      statusCode: response.statusCode,
      error: response.body,
    );
  }

  if (response.body.isEmpty) {
    throw MdmEmpty();
  }

  return MdmEmpty();
}