Skip to content

Commit 28d495e

Browse files
committed
Validate request payload
1 parent b25a155 commit 28d495e

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

app/controllers/api/v8/users_controller.rb

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -175,15 +175,20 @@ def set_password_managed_by_moocfi
175175

176176
@user = User.find_by!(id: params[:id])
177177
authorize! :update, @user
178-
@user.password_managed_by_moocfi = params[:set_password_managed_by_moocfi]
179-
if @user.save
180-
render json: {
181-
status: "Password managed by Mooc.fi set to #{params[:set_password_managed_by_moocfi]}."
182-
}
178+
179+
value = params[:set_password_managed_by_moocfi]
180+
unless value.in?([true, false])
181+
@user.errors.add(:password_managed_by_moocfi, 'must be a boolean')
182+
else
183+
@user.password_managed_by_moocfi = value
184+
end
185+
186+
if @user.errors.any? || !@user.save
187+
render json: { errors: @user.errors }, status: :bad_request
183188
else
184189
render json: {
185-
errors: @user.errors
186-
}, status: :bad_request
190+
status: "Password managed by Mooc.fi set to #{value}."
191+
}
187192
end
188193
end
189194

0 commit comments

Comments
 (0)