copyImageSet method

Future<CopyImageSetResponse> copyImageSet({
  1. required CopyImageSetInformation copyImageSetInformation,
  2. required String datastoreId,
  3. required String sourceImageSetId,
  4. bool? force,
  5. bool? promoteToPrimary,
})

Copy an image set.

May throw AccessDeniedException. May throw ConflictException. May throw InternalServerException. May throw ResourceNotFoundException. May throw ServiceQuotaExceededException. May throw ThrottlingException. May throw ValidationException.

Parameter copyImageSetInformation : Copy image set information.

Parameter datastoreId : The data store identifier.

Parameter sourceImageSetId : The source image set identifier.

Parameter force : Providing this parameter will force completion of the CopyImageSet operation, even if there are inconsistent Patient, Study, and/or Series level metadata elements between the sourceImageSet and destinationImageSet.

Parameter promoteToPrimary : Providing this parameter will configure the CopyImageSet operation to promote the given image set to the primary DICOM hierarchy. If successful, a new primary image set ID will be returned as the destination image set.

Implementation

Future<CopyImageSetResponse> copyImageSet({
  required CopyImageSetInformation copyImageSetInformation,
  required String datastoreId,
  required String sourceImageSetId,
  bool? force,
  bool? promoteToPrimary,
}) async {
  final $query = <String, List<String>>{
    if (force != null) 'force': [force.toString()],
    if (promoteToPrimary != null)
      'promoteToPrimary': [promoteToPrimary.toString()],
  };
  final response = await _protocol.send(
    payload: copyImageSetInformation,
    method: 'POST',
    requestUri:
        '/datastore/${Uri.encodeComponent(datastoreId)}/imageSet/${Uri.encodeComponent(sourceImageSetId)}/copyImageSet',
    queryParams: $query,
    hostPrefix: 'runtime-',
    exceptionFnMap: _exceptionFns,
  );
  return CopyImageSetResponse.fromJson(response);
}