checkEntityFields method

  1. @override
void checkEntityFields(
  1. O o
)
override

Implementation

@override
void checkEntityFields(O o) {
  entityHandler.checkAllFieldsValues(o);

  var fieldsEntityAnnotations =
      entityHandler.getAllFieldsEntityAnnotations(o);

  var uniques = fieldsEntityAnnotations?.entries
      .where((e) => e.value.hasUnique)
      .toList();
  if (uniques == null || uniques.isEmpty) return;

  for (var e in uniques) {
    var field = e.key;
    var value = getField(o, field);
    if (value == null) continue;

    if (_containsEntryWithFieldValue(field, value)) {
      throw EntityFieldInvalid("unique", value,
          fieldName: field, entityType: type, tableName: name);
    }
  }
}