Class: Yes::Read::Api::AdvancedFilterValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/yes/read/api/advanced_filter_validator.rb

Constant Summary collapse

PaginationSchema =
Dry::Schema.Params do
  required(:size).value(:integer)
  required(:number).value(:integer)
end
AdvancedEndpointPayloadSchema =
Dry::Schema.Params do
  required(:filter_definition).hash(Yes::Core::ReadModel::FilterQueryBuilder::FilterSetSchema)
  optional(:page).hash(PaginationSchema)
  optional(:order).value(:hash)
  optional(:include).value(:string)
end

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(payload) ⇒ AdvancedFilterValidator

Returns a new instance of AdvancedFilterValidator.



29
30
31
# File 'lib/yes/read/api/advanced_filter_validator.rb', line 29

def initialize(payload)
  @payload = payload
end

Instance Attribute Details

#payloadObject (readonly)

Returns the value of attribute payload.



27
28
29
# File 'lib/yes/read/api/advanced_filter_validator.rb', line 27

def payload
  @payload
end

Class Method Details

.call(payload) ⇒ Object



22
23
24
# File 'lib/yes/read/api/advanced_filter_validator.rb', line 22

def call(payload)
  new(payload).call
end

Instance Method Details

#callObject



33
34
35
# File 'lib/yes/read/api/advanced_filter_validator.rb', line 33

def call
  AdvancedEndpointPayloadSchema.call(payload)
end