validateIntegrity method

  1. @override
VerificationContext validateIntegrity(
  1. Insertable<SongData> 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<SongData> instance, {
  bool isInserting = false,
}) {
  final context = VerificationContext();
  final data = instance.toColumns(true);
  if (data.containsKey('id')) {
    context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta));
  }
  if (data.containsKey('name')) {
    context.handle(
      _nameMeta,
      name.isAcceptableOrUnknown(data['name']!, _nameMeta),
    );
  } else if (isInserting) {
    context.missing(_nameMeta);
  }
  if (data.containsKey('locked')) {
    context.handle(
      _lockedMeta,
      locked.isAcceptableOrUnknown(data['locked']!, _lockedMeta),
    );
  } else if (isInserting) {
    context.missing(_lockedMeta);
  }
  if (data.containsKey('published')) {
    context.handle(
      _publishedMeta,
      published.isAcceptableOrUnknown(data['published']!, _publishedMeta),
    );
  } else if (isInserting) {
    context.missing(_publishedMeta);
  }
  if (data.containsKey('image_path')) {
    context.handle(
      _imagePathMeta,
      imagePath.isAcceptableOrUnknown(data['image_path']!, _imagePathMeta),
    );
  }
  if (data.containsKey('description')) {
    context.handle(
      _descriptionMeta,
      description.isAcceptableOrUnknown(
        data['description']!,
        _descriptionMeta,
      ),
    );
  }
  if (data.containsKey('note')) {
    context.handle(
      _noteMeta,
      note.isAcceptableOrUnknown(data['note']!, _noteMeta),
    );
  }
  if (data.containsKey('youtube_code')) {
    context.handle(
      _youtubeCodeMeta,
      youtubeCode.isAcceptableOrUnknown(
        data['youtube_code']!,
        _youtubeCodeMeta,
      ),
    );
  }
  if (data.containsKey('youtube_video_info')) {
    context.handle(
      _youtubeVideoInfoMeta,
      youtubeVideoInfo.isAcceptableOrUnknown(
        data['youtube_video_info']!,
        _youtubeVideoInfoMeta,
      ),
    );
  }
  if (data.containsKey('album_id')) {
    context.handle(
      _albumIdMeta,
      albumId.isAcceptableOrUnknown(data['album_id']!, _albumIdMeta),
    );
  } else if (isInserting) {
    context.missing(_albumIdMeta);
  }
  return context;
}