copyFile method

Future copyFile(
  1. String srcPath,
  2. String destPath, {
  3. String? srcStorageName,
  4. String? destStorageName,
  5. String? versionId,
})

Copy file

Implementation

Future copyFile(String srcPath, String destPath,
    {String? srcStorageName,
    String? destStorageName,
    String? versionId}) async {
  // ignore: prefer_final_locals
  Object? postBody;

  // create path and map variables
  final String requestPath = "/barcode/storage/file/copy/{srcPath}"
      .replaceAll("{format}", "json")
      .replaceAll("{srcPath}", srcPath);

  // query params
  final List<QueryParam> queryParams = [];
  final Map<String, String> headerParams = {};
  final Map<String, String> formParams = {};
  queryParams
      .addAll(convertParametersForCollectionFormat("", "destPath", destPath));
  if (srcStorageName != null) {
    queryParams.addAll(convertParametersForCollectionFormat(
        "", "srcStorageName", srcStorageName));
  }
  if (destStorageName != null) {
    queryParams.addAll(convertParametersForCollectionFormat(
        "", "destStorageName", destStorageName));
  }
  if (versionId != null) {
    queryParams.addAll(
        convertParametersForCollectionFormat("", "versionId", versionId));
  }

  final List<String> contentTypes = ["application/json"];

  final String contentType =
      contentTypes.isNotEmpty ? contentTypes[0] : "application/json";
  final List<String> authNames = ["JWT"];

  final response = await _apiClient.invokeAPI(requestPath, 'PUT', queryParams,
      postBody, headerParams, formParams, contentType, authNames);

  if (response.statusCode >= 400) {
    throw ApiException(response.statusCode, response.body);
  } else {
    return;
  }
}