markAsSynced method

Future<void> markAsSynced({
  1. required String collectionName,
  2. required String recordId,
  3. required int version,
  4. required DateTime syncTime,
})

Mark a record as synced with version and timestamp

Implementation

Future<void> markAsSynced({
  required String collectionName,
  required String recordId,
  required int version,
  required DateTime syncTime,
}) async {
  _ensureInitialized();

  await _isar.writeTxn(() async {
    final record = await _isar.dataRecords
        .filter()
        .collectionNameEqualTo(collectionName)
        .recordIdEqualTo(recordId)
        .findFirst();

    if (record != null) {
      record.isSynced = true;
      record.version = version;
      record.lastSyncedAt = syncTime;
      await _isar.dataRecords.put(record);
    }
  });
}