insertClient method

  1. @override
Future<int> insertClient(
  1. String name,
  2. String nodeUrl,
  3. String token,
  4. String userId,
  5. String? deviceId,
  6. String? deviceName,
  7. String? prevBatch,
  8. String? olmAccount,
)
override

Implementation

@override
Future<int> insertClient(
    String name,
    String nodeUrl,
    String token,
    String userId,
    String? deviceId,
    String? deviceName,
    String? prevBatch,
    String? olmAccount) async {
  await transaction(() async {
    await _clientBox.put('node_url', nodeUrl);
    await _clientBox.put('token', token);
    await _clientBox.put('user_id', userId);
    if (deviceId == null) {
      await _clientBox.delete('device_id');
    } else {
      await _clientBox.put('device_id', deviceId);
    }
    if (deviceName == null) {
      await _clientBox.delete('device_name');
    } else {
      await _clientBox.put('device_name', deviceName);
    }
    if (prevBatch == null) {
      await _clientBox.delete('prev_batch');
    } else {
      await _clientBox.put('prev_batch', prevBatch);
    }
    if (olmAccount == null) {
      await _clientBox.delete('olm_account');
    } else {
      await _clientBox.put('olm_account', olmAccount);
    }
    await _clientBox.delete('sync_filter_id');
  });
  return 0;
}