validateIntegrity method

  1. @override
VerificationContext validateIntegrity(
  1. Insertable<UserModel> 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<UserModel> 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('email')) {
    context.handle(
        _emailMeta, email.isAcceptableOrUnknown(data['email']!, _emailMeta));
  } else if (isInserting) {
    context.missing(_emailMeta);
  }
  if (data.containsKey('password')) {
    context.handle(_passwordMeta,
        password.isAcceptableOrUnknown(data['password']!, _passwordMeta));
  } else if (isInserting) {
    context.missing(_passwordMeta);
  }
  context.handle(_roleMeta, const VerificationResult.success());
  return context;
}