validateIntegrity method

  1. @override
VerificationContext validateIntegrity(
  1. Insertable<VersionRow> 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<VersionRow> instance, {
  bool isInserting = false,
}) {
  final context = VerificationContext();
  final data = instance.toColumns(true);
  if (data.containsKey('user_id')) {
    context.handle(
      _userIdMeta,
      userId.isAcceptableOrUnknown(data['user_id']!, _userIdMeta),
    );
  } else if (isInserting) {
    context.missing(_userIdMeta);
  }
  if (data.containsKey('favorite_chats_list_version')) {
    context.handle(
      _favoriteChatsListVersionMeta,
      favoriteChatsListVersion.isAcceptableOrUnknown(
        data['favorite_chats_list_version']!,
        _favoriteChatsListVersionMeta,
      ),
    );
  }
  if (data.containsKey('favorite_chats_synchronized')) {
    context.handle(
      _favoriteChatsSynchronizedMeta,
      favoriteChatsSynchronized.isAcceptableOrUnknown(
        data['favorite_chats_synchronized']!,
        _favoriteChatsSynchronizedMeta,
      ),
    );
  }
  if (data.containsKey('chat_contacts_list_version')) {
    context.handle(
      _chatContactsListVersionMeta,
      chatContactsListVersion.isAcceptableOrUnknown(
        data['chat_contacts_list_version']!,
        _chatContactsListVersionMeta,
      ),
    );
  }
  if (data.containsKey('favorite_contacts_synchronized')) {
    context.handle(
      _favoriteContactsSynchronizedMeta,
      favoriteContactsSynchronized.isAcceptableOrUnknown(
        data['favorite_contacts_synchronized']!,
        _favoriteContactsSynchronizedMeta,
      ),
    );
  }
  if (data.containsKey('contacts_synchronized')) {
    context.handle(
      _contactsSynchronizedMeta,
      contactsSynchronized.isAcceptableOrUnknown(
        data['contacts_synchronized']!,
        _contactsSynchronizedMeta,
      ),
    );
  }
  if (data.containsKey('blocklist_synchronized')) {
    context.handle(
      _blocklistSynchronizedMeta,
      blocklistSynchronized.isAcceptableOrUnknown(
        data['blocklist_synchronized']!,
        _blocklistSynchronizedMeta,
      ),
    );
  }
  if (data.containsKey('sessions_list_version')) {
    context.handle(
      _sessionsListVersionMeta,
      sessionsListVersion.isAcceptableOrUnknown(
        data['sessions_list_version']!,
        _sessionsListVersionMeta,
      ),
    );
  }
  if (data.containsKey('blocklist_version')) {
    context.handle(
      _blocklistVersionMeta,
      blocklistVersion.isAcceptableOrUnknown(
        data['blocklist_version']!,
        _blocklistVersionMeta,
      ),
    );
  }
  if (data.containsKey('blocklist_count')) {
    context.handle(
      _blocklistCountMeta,
      blocklistCount.isAcceptableOrUnknown(
        data['blocklist_count']!,
        _blocklistCountMeta,
      ),
    );
  }
  return context;
}