patchObjects method
Bearbeitet mehrere Objekte einer Klasse gleichzeitig
Aktualisiert alle Objekte einer bestimmten Klasse, die den Suchkriterien entsprechen, mit den gleichen Daten. Massenbearbeitung von Objekten.
className - Name der Objektklasse für die Massenbearbeitung
query - Suchfilter zur Auswahl der zu bearbeitenden Objekte
body - JSON-String mit den Aktualisierungsdaten
storeMode - Speichermodus (0=DBOModifyMember, 10=DBOSet)
storeSecurityPolice - Sicherheitsrichtlinie für die Bearbeitung
serialization - Serialisierungsoptionen für die Antwort
actions - Zusätzliche Aktionen nach dem Speichern
rightsControlKey - Berechtigungsschlüssel für Zugriffskontrolle
Returns: RestApiResponse mit dem Status der Massenbearbeitung
Beispiel:
String updateData = jsonEncode({"status": "archiviert"});
RestApiResponse response = await api.v1.objects.patchObjects(
"Vorgang",
query: "created:<2023-01-01",
body: updateData
);
Implementation
Future<RestApiResponse> patchObjects(
String className, {
String query = '',
String body = '',
int storeMode = 0,
int storeSecurityPolice = 0,
String serialization = '',
String actions = '',
String rightsControlKey = '',
}) {
final Map<String, String> parameters = <String, String>{};
if (query.isNotEmpty) {
parameters['query'] = query;
}
if (actions.isNotEmpty) {
parameters['actions'] = actions;
}
if (serialization.isNotEmpty) {
parameters['serialization'] = serialization;
}
if (rightsControlKey.isNotEmpty) {
parameters['rightsControlKey'] = rightsControlKey;
}
if (storeSecurityPolice != 0) {
parameters['storeSecurityPolice'] = storeSecurityPolice.toString();
}
if (storeMode != 0) {
parameters['storeMode'] = storeMode.toString();
}
return _execute(
method: ApiHttpMethod.patch,
path: '/objects/$className',
queryParameters: parameters,
body: body,
operation: 'patchObjects',
);
}