validateIntegrity method

  1. @override
VerificationContext validateIntegrity(
  1. Insertable<SyncPoint> instance, {
  2. bool isInserting = false,
})

Validates that the given entity can be inserted into this table, meaning that it respects all constraints (nullability, text length, etc.).

Implementation

@override
VerificationContext validateIntegrity(
  Insertable<SyncPoint> instance, {
  bool isInserting = false,
}) {
  final context = VerificationContext();
  final data = instance.toColumns(true);
  if (data.containsKey('scope_name')) {
    context.handle(
      _scopeNameMeta,
      scopeName.isAcceptableOrUnknown(data['scope_name']!, _scopeNameMeta),
    );
  } else if (isInserting) {
    context.missing(_scopeNameMeta);
  }
  if (data.containsKey('scope_keys')) {
    context.handle(
      _scopeKeysMeta,
      scopeKeys.isAcceptableOrUnknown(data['scope_keys']!, _scopeKeysMeta),
    );
  } else if (isInserting) {
    context.missing(_scopeKeysMeta);
  }
  if (data.containsKey('last_server_ts')) {
    context.handle(
      _lastServerTsMeta,
      lastServerTs.isAcceptableOrUnknown(
        data['last_server_ts']!,
        _lastServerTsMeta,
      ),
    );
  } else if (isInserting) {
    context.missing(_lastServerTsMeta);
  }
  return context;
}