applyKnoxActionsToDevice method

Future<MdmEmpty> applyKnoxActionsToDevice(
  1. String apiKey, {
  2. required String deviceId,
  3. required String actionName,
  4. required ApplyKnoxActionsToDeviceRequestDto applyKnoxActionsToDeviceRequestDto,
})

Implementation

Future<MdmEmpty> applyKnoxActionsToDevice(
  String apiKey, {
  required String deviceId,
  required String actionName,
  required ApplyKnoxActionsToDeviceRequestDto
      applyKnoxActionsToDeviceRequestDto,
}) async {
  final String url =
      '$channel/api/v1/mdm/devices/$deviceId/knox_actions/$actionName';

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

  final response = await http.post(
    Uri.parse(url),
    headers: {
      'Authorization': 'Zoho-oauthtoken $apiKey',
      'Content-Type': 'application/json;charset=UTF-8',
    },
    body: requestDto.isEmpty ? null : jsonEncode(requestDto),
  );

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

  return MdmEmpty();
}