Module: Tasker::Queries::Helpers

Included in:
AllAnnotationTypes, AllTasks, OneStep, OneTask, TasksByAnnotation, TasksByStatus
Defined in:
app/graphql/tasker/queries/helpers.rb

Instance Method Summary collapse

Instance Method Details

#page_sort_params(model:, limit:, offset:, sort_by:, sort_order:) ⇒ Object



7
8
9
10
11
12
13
# File 'app/graphql/tasker/queries/helpers.rb', line 7

def page_sort_params(model:, limit:, offset:, sort_by:, sort_order:)
  valid_sorts = model.column_names.map(&:to_sym)
  sort_by = :created_at if valid_sorts.exclude?(sort_by.to_s.to_sym)
  sort_order = :asc if %i[asc desc].exclude?(sort_order.to_s.to_sym)
  order = { sort_by => sort_order }
  { limit: limit.presence || 20, offset: offset.presence || 0, order: order }
end