feat: Bulk add team members in Team APIs (#1695)

This commit is contained in:
Sojan Jose
2021-01-29 12:34:52 +05:30
committed by GitHub
parent bf7915c8a3
commit f9c3b7f2f1
8 changed files with 58 additions and 18 deletions

View File

@@ -7,17 +7,28 @@ class Api::V1::Accounts::TeamMembersController < Api::V1::Accounts::BaseControll
end
def create
record = @team.team_members.find_or_create_by(user_id: params[:user_id])
@team_member = record.user
ActiveRecord::Base.transaction do
@team_members = params[:user_ids].map { |user_id| create_team_member(user_id) }
end
end
def destroy
@team.team_members.find_by(user_id: params[:user_id])&.destroy
ActiveRecord::Base.transaction do
params[:user_ids].map { |user_id| remove_team_member(user_id) }
end
head :ok
end
private
def create_team_member(user_id)
@team.team_members.find_or_create_by(user_id: user_id)&.user
end
def remove_team_member(user_id)
@team.team_members.find_by(user_id: user_id)&.destroy
end
def fetch_team
@team = Current.account.teams.find(params[:team_id])
end