patchFoldersRemoveDocuments method
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;
}
}