FIX: Return 400 when invalid topic_id is provided when creating invite.

This commit is contained in:
Guo Xiang Tan
2020-06-10 09:29:28 +08:00
parent 45fd668dc5
commit 31a527a293
2 changed files with 25 additions and 9 deletions

View File

@@ -126,15 +126,20 @@ class InvitesController < ApplicationController
group_ids = groups.map(&:id)
if is_single_invite
if params[:topic_id].present?
topic = Topic.find_by(id: params[:topic_id])
guardian.ensure_can_invite_to!(topic) if topic.present?
end
invite_exists = Invite.exists?(email: params[:email], invited_by_id: current_user.id)
if invite_exists && !guardian.can_send_multiple_invites?(current_user)
return render json: failed_json, status: 422
end
if params[:topic_id].present?
topic = Topic.find_by(id: params[:topic_id])
if topic.present?
guardian.ensure_can_invite_to!(topic)
else
raise Discourse::InvalidParameters.new(:topic_id)
end
end
end
begin