summaryrefslogtreecommitdiff
path: root/app/graphql/types/time_tracking/timelog_sort_enum.rb
blob: ad21c084d78af285a0a8af40a74b4d808719ef78 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# frozen_string_literal: true

module Types
  module TimeTracking
    class TimelogSortEnum < SortEnum
      graphql_name 'TimelogSort'
      description 'Values for sorting timelogs'

      sortable_fields = ['Spent at', 'Time spent']

      sortable_fields.each do |field|
        value "#{field.upcase.tr(' ', '_')}_ASC",
          value: { field: field.downcase.tr(' ', '_'), direction: :asc },
          description: "#{field} by ascending order."
        value "#{field.upcase.tr(' ', '_')}_DESC",
          value: { field: field.downcase.tr(' ', '_'), direction: :desc },
          description: "#{field} by descending order."
      end
    end
  end
end