patchFoldersCopyDocuments method

Future<RestApiResponse> patchFoldersCopyDocuments(
  1. RestApiDOCUframeFolderType destinationFolderSourceType,
  2. String destinationFolderId,
  3. List<String> documentOids, {
  4. RestApiDOCUframeFolderType? sourceFolderSourceType,
  5. String? sourceFolderId,
  6. bool cut = true,
})

Kopiert oder verschiebt Dokumente zwischen Ordnern

Transferiert Dokumente von einem Quellordner zu einem Zielordner. Unterstützt sowohl Kopieren als auch Verschieben von Dokumenten.

destinationFolderSourceType - Typ des Zielordners destinationFolderId - ID des Zielordners documentOids - Liste der zu kopierenden/verschiebenden Dokument-OIDs sourceFolderSourceType - Typ des Quellordners (optional) sourceFolderId - ID des Quellordners (optional) cut - true = verschieben, false = kopieren (Standard: true)

Returns: RestApiResponse mit dem Transfer-Status

Beispiel:

RestApiResponse response = await api.v1.folders.patchFoldersCopyDocuments(
  RestApiFolderType.path,
  "/Archiv/2024",
  ["doc-123", "doc-456"],
  sourceFolderSourceType: RestApiFolderType.path,
  sourceFolderId: "/Temp",
  cut: true // verschieben
);

Implementation

Future<RestApiResponse> patchFoldersCopyDocuments(
  RestApiDOCUframeFolderType destinationFolderSourceType,
  String destinationFolderId,
  List<String> documentOids, {
  RestApiDOCUframeFolderType? sourceFolderSourceType,
  String? sourceFolderId,
  bool cut = true,
}) {
  final Map<String, dynamic> body = <String, dynamic>{
    'destinationFolderSourceType': destinationFolderSourceType.value,
    'destinationFolder': destinationFolderId,
  };
  if (sourceFolderSourceType != null) {
    body['sourceFolderSourceType'] = sourceFolderSourceType.value;
  }
  if (sourceFolderId != null) {
    body['sourceFolder'] = sourceFolderId;
  }
  body['documents'] = documentOids;
  body['cut'] = cut;

  return _execute(
    method: ApiHttpMethod.patch,
    path: '/folders/copyDocuments',
    body: jsonEncode(body),
    operation: 'patchFoldersCopyDocuments',
  );
}