summaryrefslogtreecommitdiff
path: root/app/services/boards/issues/create_service.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/boards/issues/create_service.rb')
-rw-r--r--app/services/boards/issues/create_service.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/app/services/boards/issues/create_service.rb b/app/services/boards/issues/create_service.rb
new file mode 100644
index 00000000000..c0d7ff5b585
--- /dev/null
+++ b/app/services/boards/issues/create_service.rb
@@ -0,0 +1,23 @@
+module Boards
+ module Issues
+ class CreateService < BaseService
+ def execute
+ create_issue(params.merge(label_ids: [list.label_id]))
+ end
+
+ private
+
+ def board
+ @board ||= project.boards.find(params.delete(:board_id))
+ end
+
+ def list
+ @list ||= board.lists.find(params.delete(:list_id))
+ end
+
+ def create_issue(params)
+ ::Issues::CreateService.new(project, current_user, params).execute
+ end
+ end
+ end
+end