Module: API::Helpers::IssuesHelpers
- Extended by:
- Grape::API::Helpers
- Defined in:
- lib/api/helpers/issues_helpers.rb
Class Method Summary collapse
Instance Method Summary collapse
- #find_issues(args = {}) ⇒ Object
- #issue_finder(args = {}) ⇒ Object
- #issues_statistics(args = {}) ⇒ Object
Class Method Details
.sort_options ⇒ Object
35 36 37 |
# File 'lib/api/helpers/issues_helpers.rb', line 35 def self. %w[created_at updated_at priority due_date relative_position label_priority milestone_due popularity] end |
.update_params_at_least_one_of ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/api/helpers/issues_helpers.rb', line 17 def self.update_params_at_least_one_of [ :assignee_id, :assignee_ids, :confidential, :created_at, :description, :discussion_locked, :due_date, :labels, :add_labels, :remove_labels, :milestone_id, :state_event, :title ] end |
Instance Method Details
#find_issues(args = {}) ⇒ Object
54 55 56 57 |
# File 'lib/api/helpers/issues_helpers.rb', line 54 def find_issues(args = {}) finder = issue_finder(args) finder.execute.with_api_entity_associations end |
#issue_finder(args = {}) ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/api/helpers/issues_helpers.rb', line 39 def issue_finder(args = {}) args = declared_params.merge(args) args.delete(:id) args[:not] ||= {} args[:milestone_title] ||= args.delete(:milestone) args[:not][:milestone_title] ||= args[:not]&.delete(:milestone) args[:label_name] ||= args.delete(:labels) args[:not][:label_name] ||= args[:not]&.delete(:labels) args[:scope] = args[:scope].underscore if args[:scope] args[:sort] = "#{args[:order_by]}_#{args[:sort]}" IssuesFinder.new(current_user, args) end |
#issues_statistics(args = {}) ⇒ Object
59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/api/helpers/issues_helpers.rb', line 59 def issues_statistics(args = {}) finder = issue_finder(args) counter = Gitlab::IssuablesCountForState.new(finder) { statistics: { counts: { all: counter[:all], closed: counter[:closed], opened: counter[:opened] } } } end |