sync method

Future<String?> sync(
  1. int? lastSyncedId, {
  2. Function? syncCallBack,
  3. String? privateKey,
  4. String? regex,
  5. bool isStream = false,
})

Executes sync verb on the remote server. Return commit entries greater than lastSyncedId.

Implementation

Future<String?> sync(int? lastSyncedId,
    {Function? syncCallBack,
    String? privateKey,
    String? regex,
    bool isStream = false}) async {
  var syncVerbBuilder = SyncVerbBuilder()
    ..commitId = lastSyncedId
    ..regex = regex
    ..isStream = isStream;

  var atCommand = syncVerbBuilder.buildCommand();
  // If isStream is true, invoke atLookupSync to initiate sync:stream
  // else, invoke atLookup to initiate regular sync
  if (isStream) {
    atLookupSync.syncCallback = syncCallBack;
    return await atLookupSync.executeCommand(atCommand, auth: true);
  } else {
    return await atLookUp.executeCommand(atCommand, auth: true);
  }
}