push method

  1. @override
Future<void> push({
  1. required String collection,
  2. required String recordId,
  3. required Map<String, dynamic> data,
  4. required DateTime timestamp,
})
override

Push data to backend

Implementation

@override
Future<void> push({
  required String collection,
  required String recordId,
  required Map<String, dynamic> data,
  required DateTime timestamp,
}) async {
  final jsonData = jsonEncode(data);
  await database.execute('''
    INSERT INTO $collection (record_id, data, updated_at, version)
    VALUES (?, ?, ?, 1)
    ON CONFLICT(record_id) DO UPDATE SET
      data = excluded.data,
      updated_at = excluded.updated_at,
      version = version + 1
  ''', [recordId, jsonData, timestamp.toIso8601String()]);
}