patchFoldersRemoveDocuments method

Future<RestApiResponse> patchFoldersRemoveDocuments(
  1. RestApiDOCUframeFolderType folderType,
  2. String folderId,
  3. List<String> documentOids, {
  4. String className = "",
  5. bool moveToTrashBin = true,
  6. dynamic deep = false,
})

Entfernt Dokumente aus einem Ordner

Entfernt die Verknüpfung von Dokumenten zu einem Ordner. Optional können die Dokumente in den Papierkorb verschoben werden.

folderType - Der Typ des Quellordners folderId - Die ID des Quellordners documentOids - Liste der zu entfernenden Dokument-OIDs className - Klassenname für spezielle Ordnertypen (Favoriten, Historie) moveToTrashBin - Dokumente in Papierkorb verschieben (Standard: true) deep - Tiefe Entfernung aus Unterordnern (Standard: false)

Returns: RestApiResponse mit dem Entfernungsstatus

Beispiel:

RestApiResponse response = await manager.patchFoldersRemoveDocuments(
  RestApiFolderType.oid,
  "folder-oid-12345",
  ["doc-123", "doc-456"],
  moveToTrashBin: false
);

Implementation

Future<RestApiResponse> patchFoldersRemoveDocuments(
  RestApiDOCUframeFolderType folderType,
  String folderId,
  List<String> documentOids, {
  String className = "",
  bool moveToTrashBin = true,
  deep = false,
}) async {
  try {
    Map<String, dynamic> bodyMap = {};
    String body;

    String folderTypeEncoded = Uri.encodeComponent(folderType.value);
    String folderIdEncoded = Uri.encodeComponent(folderId);
    String function = "v1/folders/remove";
    String uriPath =
        "${_config.alias.isEmpty ? "" : "/${_config.alias}"}/$function/$folderTypeEncoded/$folderIdEncoded";
    Map<String, String> params = {};

    // class: In case one would like to remove something from favorite or history it is necessary to provide the class of objects you would like to remove
    if (className.isNotEmpty) params['class'] = className;
    Uri requestUri = _getUri(uriPath, params: params);

    bodyMap['documents'] = documentOids;
    bodyMap['moveToTrashBin'] = moveToTrashBin;
    bodyMap['deep'] = deep;
    body = json.encode(bodyMap);

    final response = RestApiResponse(
      await _http(HttpMethod.patch, requestUri, function, body: body),
    );
    return response;
  } catch (_) {
    rethrow;
  }
}