validateIntegrity method

  1. @override
VerificationContext validateIntegrity(
  1. Insertable<CustomerData> 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<CustomerData> 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('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('vip')) {
    context.handle(
      _vipMeta,
      vip.isAcceptableOrUnknown(data['vip']!, _vipMeta),
    );
  } else if (isInserting) {
    context.missing(_vipMeta);
  }
  if (data.containsKey('address')) {
    context.handle(
      _addressMeta,
      address.isAcceptableOrUnknown(data['address']!, _addressMeta),
    );
  }
  if (data.containsKey('phone')) {
    context.handle(
      _phoneMeta,
      phone.isAcceptableOrUnknown(data['phone']!, _phoneMeta),
    );
  }
  if (data.containsKey('email')) {
    context.handle(
      _emailMeta,
      email.isAcceptableOrUnknown(data['email']!, _emailMeta),
    );
  } else if (isInserting) {
    context.missing(_emailMeta);
  }
  if (data.containsKey('image_path')) {
    context.handle(
      _imagePathMeta,
      imagePath.isAcceptableOrUnknown(data['image_path']!, _imagePathMeta),
    );
  }
  return context;
}