validateIntegrity method

  1. @override
VerificationContext validateIntegrity(
  1. Insertable<CountryData> 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<CountryData> instance, {
  bool isInserting = false,
}) {
  final context = VerificationContext();
  final data = instance.toColumns(true);
  if (data.containsKey('id')) {
    context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta));
  } else if (isInserting) {
    context.missing(_idMeta);
  }
  if (data.containsKey('code')) {
    context.handle(
      _codeMeta,
      code.isAcceptableOrUnknown(data['code']!, _codeMeta),
    );
  } else if (isInserting) {
    context.missing(_codeMeta);
  }
  if (data.containsKey('name')) {
    context.handle(
      _nameMeta,
      name.isAcceptableOrUnknown(data['name']!, _nameMeta),
    );
  } else if (isInserting) {
    context.missing(_nameMeta);
  }
  if (data.containsKey('name_in_english')) {
    context.handle(
      _nameInEnglishMeta,
      nameInEnglish.isAcceptableOrUnknown(
        data['name_in_english']!,
        _nameInEnglishMeta,
      ),
    );
  } else if (isInserting) {
    context.missing(_nameInEnglishMeta);
  }
  if (data.containsKey('country_code')) {
    context.handle(
      _countryCodeMeta,
      countryCode.isAcceptableOrUnknown(
        data['country_code']!,
        _countryCodeMeta,
      ),
    );
  } else if (isInserting) {
    context.missing(_countryCodeMeta);
  }
  if (data.containsKey('iso_code2')) {
    context.handle(
      _isoCode2Meta,
      isoCode2.isAcceptableOrUnknown(data['iso_code2']!, _isoCode2Meta),
    );
  } else if (isInserting) {
    context.missing(_isoCode2Meta);
  }
  if (data.containsKey('iso_code3')) {
    context.handle(
      _isoCode3Meta,
      isoCode3.isAcceptableOrUnknown(data['iso_code3']!, _isoCode3Meta),
    );
  } else if (isInserting) {
    context.missing(_isoCode3Meta);
  }
  if (data.containsKey('population')) {
    context.handle(
      _populationMeta,
      population.isAcceptableOrUnknown(data['population']!, _populationMeta),
    );
  } else if (isInserting) {
    context.missing(_populationMeta);
  }
  if (data.containsKey('area')) {
    context.handle(
      _areaMeta,
      area.isAcceptableOrUnknown(data['area']!, _areaMeta),
    );
  } else if (isInserting) {
    context.missing(_areaMeta);
  }
  if (data.containsKey('gdp')) {
    context.handle(
      _gdpMeta,
      gdp.isAcceptableOrUnknown(data['gdp']!, _gdpMeta),
    );
  }
  if (data.containsKey('description')) {
    context.handle(
      _descriptionMeta,
      description.isAcceptableOrUnknown(
        data['description']!,
        _descriptionMeta,
      ),
    );
  }
  return context;
}