summaryrefslogtreecommitdiff
path: root/lib/api/issues.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/api/issues.rb')
-rw-r--r--lib/api/issues.rb24
1 files changed, 13 insertions, 11 deletions
diff --git a/lib/api/issues.rb b/lib/api/issues.rb
index c844655f0b3..355b5ed3a1f 100644
--- a/lib/api/issues.rb
+++ b/lib/api/issues.rb
@@ -74,6 +74,7 @@ module API
desc: 'Return issues sorted in `asc` or `desc` order.'
optional :due_date, type: String, values: %w[0 overdue week month next_month_and_previous_two_weeks] << '',
desc: 'Return issues that have no due date (`0`), or whose due date is this week, this month, between two weeks ago and next month, or which are overdue. Accepts: `overdue`, `week`, `month`, `next_month_and_previous_two_weeks`, `0`'
+ optional :issue_type, type: String, values: Issue.issue_types.keys, desc: "The type of the issue. Accepts: #{Issue.issue_types.keys.join(', ')}"
use :issues_stats_params
use :pagination
@@ -90,6 +91,7 @@ module API
optional :due_date, type: String, desc: 'Date string in the format YEAR-MONTH-DAY'
optional :confidential, type: Boolean, desc: 'Boolean parameter if the issue should be confidential'
optional :discussion_locked, type: Boolean, desc: " Boolean parameter indicating if the issue's discussion is locked"
+ optional :issue_type, type: String, values: Issue.issue_types.keys, desc: "The type of the issue. Accepts: #{Issue.issue_types.keys.join(', ')}"
use :optional_issue_params_ee
end
@@ -253,9 +255,9 @@ module API
issue_params = convert_parameters_from_legacy_format(issue_params)
begin
- issue = ::Issues::CreateService.new(user_project,
- current_user,
- issue_params.merge(request: request, api: true)).execute
+ issue = ::Issues::CreateService.new(project: user_project,
+ current_user: current_user,
+ params: issue_params.merge(request: request, api: true)).execute
if issue.spam?
render_api_error!({ error: 'Spam detected' }, 400)
@@ -296,9 +298,9 @@ module API
update_params = convert_parameters_from_legacy_format(update_params)
- issue = ::Issues::UpdateService.new(user_project,
- current_user,
- update_params).execute(issue)
+ issue = ::Issues::UpdateService.new(project: user_project,
+ current_user: current_user,
+ params: update_params).execute(issue)
render_spam_error! if issue.spam?
@@ -326,7 +328,7 @@ module API
authorize! :update_issue, issue
- if ::Issues::ReorderService.new(user_project, current_user, params).execute(issue)
+ if ::Issues::ReorderService.new(project: user_project, current_user: current_user, params: params).execute(issue)
present issue, with: Entities::Issue, current_user: current_user, project: user_project
else
render_api_error!({ error: 'Unprocessable Entity' }, 422)
@@ -352,7 +354,7 @@ module API
not_found!('Project') unless new_project
begin
- issue = ::Issues::MoveService.new(user_project, current_user).execute(issue, new_project)
+ issue = ::Issues::MoveService.new(project: user_project, current_user: current_user).execute(issue, new_project)
present issue, with: Entities::Issue, current_user: current_user, project: user_project
rescue ::Issues::MoveService::MoveError => error
render_api_error!(error.message, 400)
@@ -372,7 +374,7 @@ module API
authorize!(:destroy_issue, issue)
destroy_conditionally!(issue) do |issue|
- Issuable::DestroyService.new(user_project, current_user).execute(issue)
+ Issuable::DestroyService.new(project: user_project, current_user: current_user).execute(issue)
end
end
# rubocop: enable CodeReuse/ActiveRecord
@@ -386,7 +388,7 @@ module API
get ':id/issues/:issue_iid/related_merge_requests' do
issue = find_project_issue(params[:issue_iid])
- merge_requests = ::Issues::ReferencedMergeRequestsService.new(user_project, current_user)
+ merge_requests = ::Issues::ReferencedMergeRequestsService.new(project: user_project, current_user: current_user)
.execute(issue)
.first
@@ -446,4 +448,4 @@ module API
end
end
-API::Issues.prepend_if_ee('EE::API::Issues')
+API::Issues.prepend_mod_with('API::Issues')