Не подтверждена Коммит 8709f456 создал по автору Alexandru Croitor's avatar Alexandru Croitor
Просмотр файлов

Rename project argument to container

This is aimed to generalize the named argument for the issuables
container, as we aim to have work items, which are based on
issues at the project and group level, thus we would need to
expan from having just the project as the container to also
having the group option.
владелец 97c565b4
......@@ -244,7 +244,7 @@ def can_create_branch
def create_merge_request
create_params = params.slice(:branch_name, :ref).merge(issue_iid: issue.iid)
create_params[:target_project_id] = params[:target_project_id]
result = ::MergeRequests::CreateFromIssueService.new(project: project, current_user: current_user, mr_params: create_params).execute
result = ::MergeRequests::CreateFromIssueService.new(container: project, current_user: current_user, mr_params: create_params).execute
if result[:status] == :success
render json: MergeRequestCreateSerializer.new.represent(result[:merge_request])
......
......@@ -25,7 +25,7 @@ def new
end
def create
@merge_request = ::MergeRequests::CreateService.new(project: project, current_user: current_user, params: merge_request_params).execute
@merge_request = ::MergeRequests::CreateService.new(container: project, current_user: current_user, params: merge_request_params).execute
if @merge_request.valid?
incr_count_webide_merge_request
......@@ -105,7 +105,7 @@ def build_merge_request
# Gitaly N+1 issue: https://gitlab.com/gitlab-org/gitlab-foss/issues/58096
Gitlab::GitalyClient.allow_n_plus_1_calls do
@merge_request = ::MergeRequests::BuildService.new(project: project, current_user: current_user, params: merge_request_params.merge(diff_options: diff_options)).execute
@merge_request = ::MergeRequests::BuildService.new(container: project, current_user: current_user, params: merge_request_params.merge(diff_options: diff_options)).execute
end
end
......
......@@ -57,7 +57,7 @@ def publish
if Gitlab::Utils.to_boolean(approve_params[:approve])
unless merge_request.approved_by?(current_user)
success = ::MergeRequests::ApprovalService.new(project: @project, current_user: current_user, params: approve_params).execute(merge_request)
success = ::MergeRequests::ApprovalService.new(container: @project, current_user: current_user, params: approve_params).execute(merge_request)
unless success
return render json: { message: _('An error occurred while approving, please try again.') }, status: :internal_server_error
......
......@@ -211,7 +211,7 @@ def edit
end
def update
@merge_request = ::MergeRequests::UpdateService.new(project: project, current_user: current_user, params: merge_request_update_params).execute(@merge_request)
@merge_request = ::MergeRequests::UpdateService.new(container: project, current_user: current_user, params: merge_request_update_params).execute(@merge_request)
respond_to do |format|
format.html do
......@@ -240,7 +240,7 @@ def update
def remove_wip
@merge_request = ::MergeRequests::UpdateService
.new(project: project, current_user: current_user, params: { wip_event: 'ready' })
.new(container: project, current_user: current_user, params: { wip_event: 'ready' })
.execute(@merge_request)
render json: serialize_widget(@merge_request)
......@@ -469,7 +469,7 @@ def merge!
end
squashing = params.fetch(:squash, false)
merge_service = ::MergeRequests::MergeService.new(project: @project, current_user: current_user, params: merge_params)
merge_service = ::MergeRequests::MergeService.new(container: @project, current_user: current_user, params: merge_params)
unless merge_service.hooks_validation_pass?(@merge_request, validate_squash_message: squashing)
return :hook_validation_error
......@@ -522,7 +522,7 @@ def finder_type
def check_user_can_push_to_source_branch!
result = MergeRequests::RebaseService
.new(project: @merge_request.source_project, current_user: current_user)
.new(container: @merge_request.source_project, current_user: current_user)
.validate(@merge_request)
return if result.success?
......
......@@ -33,7 +33,7 @@ def resolve(project_path:, iid:, assignee_usernames:, operation_mode:)
def assign!(resource, users, operation_mode)
update_service_class.new(
**update_service_class.constructor_container_arg(resource.project),
container: resource.project,
current_user: current_user,
params: { assignee_ids: assignee_ids(resource, users, operation_mode) }
).execute(resource)
......
......@@ -47,7 +47,7 @@ def resolve(project_path:, iid:, **args)
merge_request = authorized_find!(project_path: project_path, iid: iid)
project = merge_request.target_project
merge_params = args.compact.with_indifferent_access
merge_service = ::MergeRequests::MergeService.new(project: project, current_user: current_user, params: merge_params)
merge_service = ::MergeRequests::MergeService.new(container: project, current_user: current_user, params: merge_params)
if error = validate(merge_request, merge_service, merge_params)
return { merge_request: merge_request, errors: [error] }
......
......@@ -42,7 +42,7 @@ def resolve(project_path:, **attributes)
project = authorized_find!(project_path)
params = attributes.merge(author_id: current_user.id)
merge_request = ::MergeRequests::CreateService.new(project: project, current_user: current_user, params: params).execute
merge_request = ::MergeRequests::CreateService.new(container: project, current_user: current_user, params: params).execute
{
merge_request: merge_request.valid? ? merge_request : nil,
......
......@@ -15,7 +15,7 @@ class ReviewerRereview < Base
def resolve(project_path:, iid:, user:)
merge_request = authorized_find!(project_path: project_path, iid: iid)
result = ::MergeRequests::RequestReviewService.new(project: merge_request.project, current_user: current_user).execute(merge_request, user)
result = ::MergeRequests::RequestReviewService.new(container: merge_request.project, current_user: current_user).execute(merge_request, user)
{
merge_request: merge_request,
......
......@@ -16,7 +16,7 @@ def resolve(project_path:, iid:, draft: nil)
merge_request = authorized_find!(project_path: project_path, iid: iid)
project = merge_request.project
::MergeRequests::UpdateService.new(project: project, current_user: current_user, params: { wip_event: wip_event(draft) })
::MergeRequests::UpdateService.new(container: project, current_user: current_user, params: { wip_event: wip_event(draft) })
.execute(merge_request)
{
......
......@@ -35,7 +35,7 @@ def resolve(project_path:, iid:, label_ids:, operation_mode: Types::MutationOper
:label_ids
end
::MergeRequests::UpdateService.new(project: project, current_user: current_user, params: { attribute_name => label_ids })
::MergeRequests::UpdateService.new(container: project, current_user: current_user, params: { attribute_name => label_ids })
.execute(merge_request)
{
......
......@@ -16,7 +16,7 @@ def resolve(project_path:, iid:, locked:)
merge_request = authorized_find!(project_path: project_path, iid: iid)
project = merge_request.project
::MergeRequests::UpdateService.new(project: project, current_user: current_user, params: { discussion_locked: locked })
::MergeRequests::UpdateService.new(container: project, current_user: current_user, params: { discussion_locked: locked })
.execute(merge_request)
{
......
......@@ -17,7 +17,7 @@ def resolve(project_path:, iid:, milestone: nil)
merge_request = authorized_find!(project_path: project_path, iid: iid)
project = merge_request.project
::MergeRequests::UpdateService.new(project: project, current_user: current_user, params: { milestone_id: milestone&.id })
::MergeRequests::UpdateService.new(container: project, current_user: current_user, params: { milestone_id: milestone&.id })
.execute(merge_request)
{
......
......@@ -20,7 +20,7 @@ def resolve(project_path:, iid:, reviewer_usernames:, operation_mode:)
resource = authorized_find!(project_path: project_path, iid: iid)
::MergeRequests::UpdateReviewersService.new(
project: resource.project,
container: resource.project,
current_user: current_user,
params: { reviewer_ids: reviewer_ids(resource, reviewer_usernames, operation_mode) }
).execute(resource)
......
......@@ -33,7 +33,7 @@ def resolve(project_path:, iid:, **args)
args = parse_arguments(args)
::MergeRequests::UpdateService
.new(project: merge_request.project, current_user: current_user, params: args)
.new(container: merge_request.project, current_user: current_user, params: args)
.execute(merge_request)
errors = errors_on_object(merge_request)
......
......@@ -1845,7 +1845,7 @@ def update_diff_discussion_positions(old_diff_refs:, new_diff_refs:, current_use
active_diff_discussions.all?(&:resolved?) &&
project.resolve_outdated_diff_discussions?
MergeRequests::ResolvedDiscussionNotificationService
.new(project: project, current_user: current_user)
.new(container: project, current_user: current_user)
.execute(self)
end
end
......
......@@ -10,13 +10,24 @@
# the top of the original BaseService.
class BaseContainerService
include BaseServiceUtility
include ::Gitlab::Utils::StrongMemoize
attr_accessor :project, :group
attr_reader :container, :current_user, :params
def initialize(container:, current_user: nil, params: {})
@container = container
@current_user = current_user
@params = params.dup
case container
when Project
@project = container
when Group
@group = container
when Namespaces::ProjectNamespace
@project = container.project
end
end
def project_container?
......@@ -30,4 +41,18 @@ def group_container?
def namespace_container?
container.is_a?(::Namespace)
end
# def project
# return container if project_container?
# return container.project if container.is_a?(Namespaces::ProjectNamespace)
# end
#
# def group
# return container if group_container?
# end
def project_group
project&.group
end
strong_memoize_attr :project_group
end
......@@ -38,7 +38,7 @@ def clone!(job, variables: [], enqueue_if_actionable: false)
::Deployments::CreateForBuildService.new.execute(new_job)
::MergeRequests::AddTodoWhenBuildFailsService
.new(project: project)
.new(container: project)
.close(new_job)
end
......
......@@ -23,7 +23,7 @@ def execute(pipeline)
pipeline.reset_source_bridge!(current_user)
::MergeRequests::AddTodoWhenBuildFailsService
.new(project: project, current_user: current_user)
.new(container: project, current_user: current_user)
.close_all(pipeline)
Ci::ProcessPipelineService
......
......@@ -45,7 +45,7 @@ def resolve_discussion(discussion)
Gitlab::UsageDataCounters::MergeRequestActivityUniqueCounter
.track_resolve_thread_action(user: current_user)
MergeRequests::ResolvedDiscussionNotificationService.new(project: project, current_user: current_user).execute(merge_request)
MergeRequests::ResolvedDiscussionNotificationService.new(container: project, current_user: current_user).execute(merge_request)
end
resolve_user_todos_for(discussion)
......
......@@ -24,7 +24,7 @@ def publish_draft_note(draft)
create_note_from_draft(draft)
draft.delete
MergeRequests::ResolvedDiscussionNotificationService.new(project: project, current_user: current_user).execute(merge_request)
MergeRequests::ResolvedDiscussionNotificationService.new(container: project, current_user: current_user).execute(merge_request)
end
def publish_draft_notes
......@@ -47,7 +47,7 @@ def publish_draft_notes
draft_notes.delete_all
set_reviewed
notification_service.async.new_review(review)
MergeRequests::ResolvedDiscussionNotificationService.new(project: project, current_user: current_user).execute(merge_request)
MergeRequests::ResolvedDiscussionNotificationService.new(container: project, current_user: current_user).execute(merge_request)
GraphqlTriggers.merge_request_merge_status_updated(merge_request)
end
......@@ -79,7 +79,7 @@ def set_discussion_resolve_status(note, draft_note)
end
def set_reviewed
::MergeRequests::MarkReviewerReviewedService.new(project: project, current_user: current_user).execute(merge_request)
::MergeRequests::MarkReviewerReviewedService.new(container: project, current_user: current_user).execute(merge_request)
end
def capture_diff_note_positions(notes)
......
Поддерживает Markdown
0% или .
You are about to add 0 people to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Пожалуйста, зарегистрируйтесь или чтобы прокомментировать