validateIntegrity method

  1. @override
VerificationContext validateIntegrity(
  1. Insertable<CacheItem> 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<CacheItem> instance, {
  bool isInserting = false,
}) {
  final context = VerificationContext();
  final data = instance.toColumns(true);
  if (data.containsKey('key')) {
    context.handle(
      _keyMeta,
      key.isAcceptableOrUnknown(data['key']!, _keyMeta),
    );
  } else if (isInserting) {
    context.missing(_keyMeta);
  }
  if (data.containsKey('data')) {
    context.handle(
      _dataMeta,
      this.data.isAcceptableOrUnknown(data['data']!, _dataMeta),
    );
  } else if (isInserting) {
    context.missing(_dataMeta);
  }
  if (data.containsKey('created_at')) {
    context.handle(
      _createdAtMeta,
      createdAt.isAcceptableOrUnknown(data['created_at']!, _createdAtMeta),
    );
  } else if (isInserting) {
    context.missing(_createdAtMeta);
  }
  if (data.containsKey('expires_at')) {
    context.handle(
      _expiresAtMeta,
      expiresAt.isAcceptableOrUnknown(data['expires_at']!, _expiresAtMeta),
    );
  } else if (isInserting) {
    context.missing(_expiresAtMeta);
  }
  if (data.containsKey('priority')) {
    context.handle(
      _priorityMeta,
      priority.isAcceptableOrUnknown(data['priority']!, _priorityMeta),
    );
  }
  if (data.containsKey('size')) {
    context.handle(
      _sizeMeta,
      size.isAcceptableOrUnknown(data['size']!, _sizeMeta),
    );
  } else if (isInserting) {
    context.missing(_sizeMeta);
  }
  return context;
}