getSyncObjectsOfClass method

Future<RestApiSyncClassResponse> getSyncObjectsOfClass(
  1. String appName,
  2. String className, {
  3. List<RestApiSyncContainer> nextContainers = const [],
  4. int? maxRecords,
})

Ruft Synchronisations-Objekte einer bestimmten Klasse ab.

Lädt die aktuellen Daten und Metadaten der angegebenen xSync-Klasse. Bereits bekannte Containerstände können mitgegeben werden, um nur die nachfolgenden Datensätze abzurufen.

appName - Name der Anwendung className - Name der abzurufenden Synchronisations-Klasse nextContainers - Zuletzt bekannte Marker und Revisionen je Container maxRecords - Optionale maximale Anzahl zurückgegebener Datensätze

Returns: RestApiSyncClassResponse mit den synchronisierten Objektdaten

Throws: HttpRequestException bei HTTP-Fehlern Throws: SessionInvalidException bei ungültiger Session

Implementation

Future<RestApiSyncClassResponse> getSyncObjectsOfClass(
  String appName,
  String className, {
  List<RestApiSyncContainer> nextContainers = const [],
  int? maxRecords,
}) {
  final Map<String, dynamic> bodyMap = <String, dynamic>{};

  if (maxRecords != null) {
    bodyMap['maxRecords'] = maxRecords;
  }

  for (final RestApiSyncContainer container in nextContainers) {
    bodyMap[container.containerId] = <String, dynamic>{
      'lastMarker': container.nextMarker,
      'revision': container.revision,
    };
  }

  return _runtime.execute(
    ApiRequest<RestApiSyncClassResponse>(
      method: ApiHttpMethod.post,
      version: ApiVersion.v1,
      path: '/xSync/dynamic/$appName/$className',
      body: bodyMap.isNotEmpty ? jsonEncode(bodyMap) : null,
      authentication: AuthenticationPolicy.session,
      responsePolicy: _syncClassResponsePolicy,
      operationId: 'v1.xSync.getSyncObjectsOfClass',
    ),
  );
}