deleteData method

Future<void> deleteData({
  1. required String collectionName,
  2. required String recordId,
})

Delete data (soft delete) with version increment

Implementation

Future<void> deleteData({
  required String collectionName,
  required String recordId,
}) async {
  _ensureInitialized();

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

    if (record != null) {
      record.isDeleted = true;
      record.updatedAt = DateTime.now();
      record.version += 1; // Increment version on delete
      record.isSynced = false;
      await _isar.dataRecords.put(record);
    }
  });
}