Sha256: 40808badf1e41daf98fe3ca3a584d3856507342b331ffd1e138db94a0b2f8900

Contents?: true

Size: 716 Bytes

Versions: 7

Compression:

Stored size: 716 Bytes

Contents

module Commons
  module Controllers
    module SchemaValidable
      #
      # Método que valida datos en base a un Schema
      #
      # @param [Hash] request_data datos a validar
      # @param [Dry::Validation::Contract] schema Schema de validación
      #
      # @return [Hash]
      #
      # @raise [Commons::Errors::UnprocessableEntity]
      #
      def validate_request(request_data, schema)
        validated_params = schema.call(request_data)

        if validated_params.failure?
          raise Commons::Errors::UnprocessableEntity.new(nil, nil,
            meta: { validation_errors: validated_params.errors.to_h }
          )
        end

        validated_params.to_h
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
commons_yellowme-0.16.0 lib/commons/controllers/schema_validable.rb
commons_yellowme-0.15.0 lib/commons/controllers/schema_validable.rb
commons_yellowme-0.12.0 lib/commons/controllers/schema_validable.rb
commons_yellowme-0.11.3 lib/commons/controllers/schema_validable.rb
commons_yellowme-0.11.2 lib/commons/controllers/schema_validable.rb
commons_yellowme-0.11.1 lib/commons/controllers/schema_validable.rb
commons_yellowme-0.11.0 lib/commons/controllers/schema_validable.rb