getChangedEntities method

List<NUIDBEntityWithAction> getChangedEntities(
  1. NUIDatabaseTracker tracker
)

Implementation

List<NUIDBEntityWithAction> getChangedEntities(NUIDatabaseTracker tracker){
  final changes = structureChanges(tracker);
  final changedEntities = List<NUIDBEntityWithAction>();

  for(String key in changes.keys){
    final value = changes[key];

    if (match(value, ACTION_CREATE) || match(value, ACTION_UPDATE) || match(value, ACTION_RECREATE_PATCH) || match(value, ACTION_REMOVE) || match(value, ACTION_RECREATE)){
      bool entityFound = false;
      for(NUIDBEntityMapper entity in entities()){
        if(match(entity.entityName(), key)) {
          entityFound = true;
          changedEntities.add(NUIDBEntityWithAction(entity: entity, action: value, tableName: entity.entityName()));
          break;
        }
      }
      if(!entityFound){
        changedEntities.add(NUIDBEntityWithAction(tableName: key, action: value));
      }
    }
  }
  return changedEntities;
}