validateIntegrity method

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

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<StoredRowState> instance, {
  bool isInserting = false,
}) {
  final context = VerificationContext();
  final data = instance.toColumns(true);
  if (data.containsKey('account_key')) {
    context.handle(
      _accountKeyMeta,
      accountKey.isAcceptableOrUnknown(data['account_key']!, _accountKeyMeta),
    );
  } else if (isInserting) {
    context.missing(_accountKeyMeta);
  }
  if (data.containsKey('table_id')) {
    context.handle(
      _tableIdMeta,
      tableId.isAcceptableOrUnknown(data['table_id']!, _tableIdMeta),
    );
  } else if (isInserting) {
    context.missing(_tableIdMeta);
  }
  if (data.containsKey('row_key')) {
    context.handle(
      _rowKeyMeta,
      rowKey.isAcceptableOrUnknown(data['row_key']!, _rowKeyMeta),
    );
  } else if (isInserting) {
    context.missing(_rowKeyMeta);
  }
  if (data.containsKey('phase')) {
    context.handle(
      _phaseMeta,
      phase.isAcceptableOrUnknown(data['phase']!, _phaseMeta),
    );
  } else if (isInserting) {
    context.missing(_phaseMeta);
  }
  if (data.containsKey('action_id')) {
    context.handle(
      _actionIdMeta,
      actionId.isAcceptableOrUnknown(data['action_id']!, _actionIdMeta),
    );
  }
  if (data.containsKey('attempt_count')) {
    context.handle(
      _attemptCountMeta,
      attemptCount.isAcceptableOrUnknown(
        data['attempt_count']!,
        _attemptCountMeta,
      ),
    );
  }
  if (data.containsKey('next_retry_at')) {
    context.handle(
      _nextRetryAtMeta,
      nextRetryAt.isAcceptableOrUnknown(
        data['next_retry_at']!,
        _nextRetryAtMeta,
      ),
    );
  }
  if (data.containsKey('error_code')) {
    context.handle(
      _errorCodeMeta,
      errorCode.isAcceptableOrUnknown(data['error_code']!, _errorCodeMeta),
    );
  }
  if (data.containsKey('error_message')) {
    context.handle(
      _errorMessageMeta,
      errorMessage.isAcceptableOrUnknown(
        data['error_message']!,
        _errorMessageMeta,
      ),
    );
  }
  if (data.containsKey('last_server_seq')) {
    context.handle(
      _lastServerSeqMeta,
      lastServerSeq.isAcceptableOrUnknown(
        data['last_server_seq']!,
        _lastServerSeqMeta,
      ),
    );
  }
  if (data.containsKey('pending_values_json')) {
    context.handle(
      _pendingValuesJsonMeta,
      pendingValuesJson.isAcceptableOrUnknown(
        data['pending_values_json']!,
        _pendingValuesJsonMeta,
      ),
    );
  }
  if (data.containsKey('tombstone')) {
    context.handle(
      _tombstoneMeta,
      tombstone.isAcceptableOrUnknown(data['tombstone']!, _tombstoneMeta),
    );
  }
  if (data.containsKey('updated_at')) {
    context.handle(
      _updatedAtMeta,
      updatedAt.isAcceptableOrUnknown(data['updated_at']!, _updatedAtMeta),
    );
  } else if (isInserting) {
    context.missing(_updatedAtMeta);
  }
  return context;
}