Remove add_members_to_projects from ProjectMember
This work forms part of our effort to remove duplication of code between GroupMember
and ProjectMember
as we consolidate to a single Member
class.
In Members::ProjectMember
there is a method called #add_members_to_projects
which is just a way to call Members::Projects::CreatorService.add_members
with multiple project ids. This method only appears to be called in a rake task:
app/models/members/project_member.rb
30: # add_members_to_projects(
36: # add_members_to_projects(
42: def add_members_to_projects(project_ids, users, access_level, current_user: nil, expires_at: nil)
lib/tasks/gitlab/bulk_add_permission.rake
12: ProjectMember.add_members_to_projects(project_ids, user_ids, ProjectMember::DEVELOPER)
15: ProjectMember.add_members_to_projects(project_ids, admin_ids, ProjectMember::MAINTAINER)
23: ProjectMember.add_members_to_projects(project_ids, Array.wrap(user.id), ProjectMember::DEVELOPER)
We should remove #add_members_to_projects
from ProjectMember
to reduce project member specific code.
We can update Members::CreatorService.members
to accept the source
param as a single source, or an array of sources.