def create(self, validated_data): """ Process validated connection request """ config_data = validated_data if config_data['node_type'] == BANK: excluded = [ 'confirmation_expiration', 'node_type', 'primary_validator', 'trust' ] fields = standard_field_names(Bank) data = { field: validated_data[field] for field in fields if field not in excluded } Bank.objects.create(**data, trust=0) if config_data['node_type'] == CONFIRMATION_VALIDATOR: excluded = ['node_type', 'primary_validator', 'trust'] fields = standard_field_names(Validator) data = { field: validated_data[field] for field in fields if field not in excluded } Validator.objects.create(**data, trust=0) return True
def sync_with_primary_validator(*, config, trust=None): """ Sync with primary validator """ config = { k: v for k, v in config.items() if k in standard_field_names(Validator) } if trust is None: trust = get_trust(config=config) remove_existing_validators(config=config) serializer = PrimaryValidatorSyncSerializer(data=config) if serializer.is_valid(): validator = serializer.save() validator.trust = trust validator.save() set_primary_validator(validator=validator) return logger.exception(serializer.errors) raise RuntimeError(serializer.errors)
def create_validator_from_config_data(*, config_data): """ Create validator from config data """ fields = standard_field_names(Validator) data = {field: config_data[field] for field in fields if field != 'trust'} Validator.objects.create(**data, trust=0)
def create_bank_from_config_data(*, config_data): """ Create bank from config data """ fields = standard_field_names(Bank) data = {field: config_data[field] for field in fields if field != 'trust'} Bank.objects.create(**data, trust=0)
def update_validator_from_config_data(*, validator, config_data): """ Update validator from config data """ fields = standard_field_names(Validator) data = {field: config_data[field] for field in fields if field != 'trust'} Validator.objects.filter(pk=validator.pk).update(**data)
def update_bank_from_config_data(*, bank, config_data): """ Update bank from config data """ fields = standard_field_names(Bank) data = {field: config_data[field] for field in fields if field != 'trust'} Bank.objects.filter(pk=bank.pk).update(**data)
def create_bank_from_config_data(*, config_data): """Create bank from config data""" excluded = ['confirmation_expiration', 'trust'] fields = standard_field_names(Bank) data = { field: config_data[field] for field in fields if field not in excluded } Bank.objects.create(**data, trust=0)
def update_bank_from_config_data(*, bank, config_data): """Update bank from config data""" excluded = ['confirmation_expiration', 'trust'] fields = standard_field_names(Bank) data = { field: config_data[field] for field in fields if field not in excluded } Bank.objects.filter(pk=bank.pk).update(**data)
def handle_primary_validator_config(self, primary_validator_config): """Set primary validator""" validator_field_names = standard_field_names(Validator) validator_data = {k: v for k, v in primary_validator_config.items() if k in validator_field_names} Validator.objects.filter( Q(ip_address=validator_data.get('ip_address')) | Q(node_identifier=validator_data.get('node_identifier')) ).delete() validator = Validator.objects.create( **validator_data, trust=self.required_input['trust'] ) set_primary_validator(validator=validator)