Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-04-20 13:00:54 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2022-04-20 13:00:54 +0300
commit3cccd102ba543e02725d247893729e5c73b38295 (patch)
treef36a04ec38517f5deaaacb5acc7d949688d1e187 /lib/api/invitations.rb
parent205943281328046ef7b4528031b90fbda70c75ac (diff)
Add latest changes from gitlab-org/gitlab@14-10-stable-eev14.10.0-rc42
Diffstat (limited to 'lib/api/invitations.rb')
-rw-r--r--lib/api/invitations.rb14
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/api/invitations.rb b/lib/api/invitations.rb
index d78576b5d5b..75f63a5d98f 100644
--- a/lib/api/invitations.rb
+++ b/lib/api/invitations.rb
@@ -20,19 +20,25 @@ module API
success Entities::Invitation
end
params do
- requires :email, types: [String, Array[String]], email_or_email_list: true, desc: 'The email address to invite, or multiple emails separated by comma'
requires :access_level, type: Integer, values: Gitlab::Access.all_values, desc: 'A valid access level (defaults: `30`, developer access level)'
+ optional :email, types: [String, Array[String]], email_or_email_list: true, desc: 'The email address to invite, or multiple emails separated by comma'
+ optional :user_id, types: [Integer, String], desc: 'The user ID of the new member or multiple IDs separated by commas.'
optional :expires_at, type: DateTime, desc: 'Date string in the format YEAR-MONTH-DAY'
optional :invite_source, type: String, desc: 'Source that triggered the member creation process', default: 'invitations-api'
optional :tasks_to_be_done, type: Array[String], coerce_with: Validations::Types::CommaSeparatedToArray.coerce, desc: 'Tasks the inviter wants the member to do'
optional :tasks_project_id, type: Integer, desc: 'The project ID in which to create the task issues'
end
post ":id/invitations" do
- params[:source] = find_source(source_type, params[:id])
+ ::Gitlab::QueryLimiting.disable!('https://gitlab.com/gitlab-org/gitlab/-/issues/354016')
- authorize_admin_source!(source_type, params[:source])
+ bad_request!('Must provide either email or user_id as a parameter') if params[:email].blank? && params[:user_id].blank?
- ::Members::InviteService.new(current_user, params).execute
+ source = find_source(source_type, params[:id])
+ authorize_admin_source!(source_type, source)
+
+ create_service_params = params.except(:user_id).merge({ user_ids: params[:user_id], source: source })
+
+ ::Members::InviteService.new(current_user, create_service_params).execute
end
desc 'Get a list of group or project invitations viewable by the authenticated user' do