createOrUpdate method

Future<void> createOrUpdate(
  1. String recordId,
  2. Map<String, dynamic> data
)

Implementation

Future<void> createOrUpdate(
    String recordId, Map<String, dynamic> data) async {
  final record = await store.getRecord(recordId);

  final clock = record?.clock ?? VectorClock();
  clock.increment(deviceId);

  final op = Operation(
    opId: _generateOpId(),
    recordId: recordId,
    payload: data,
    clock: clock,
  );

  await store.saveOperation(op);
  await store.applyOperation(op);
}