~cytrogen/masto-fe

e6a8faae81e8dff3d1ef74d159d280c5ea762739 — Claire 2 years ago 933ba1a
Add users index on unconfirmed_email (#25672)

2 files changed, 2 insertions(+), 19 deletions(-)

M app/controllers/auth/confirmations_controller.rb
M db/schema.rb
M app/controllers/auth/confirmations_controller.rb => app/controllers/auth/confirmations_controller.rb +0 -18
@@ 28,24 28,6 @@ class Auth::ConfirmationsController < Devise::ConfirmationsController
    resource.email = current_user.unconfirmed_email || current_user.email if user_signed_in?
  end

  def create
    # Since we don't allow users to request confirmation emails for other accounts when they
    # are already logged in, so we can cut on the expensive queries by simply reusing the
    # current user.
    if user_signed_in?
      self.resource = current_user
      resource.send_confirmation_instructions
    else
      self.resource = current_user || User.send_confirmation_instructions(resource_params)
    end

    if successfully_sent?(resource)
      respond_with({}, location: after_resending_confirmation_instructions_path_for(resource_name))
    else
      respond_with(resource)
    end
  end

  def confirm_captcha
    check_captcha! do |message|
      flash.now[:alert] = message

M db/schema.rb => db/schema.rb +2 -1
@@ 10,7 10,7 @@
#
# It's strongly recommended that you check this file into your version control system.

ActiveRecord::Schema.define(version: 2023_07_02_131023) do
ActiveRecord::Schema.define(version: 2023_07_02_151753) do

  # These are extensions that must be enabled in order to support this database
  enable_extension "plpgsql"


@@ 1097,6 1097,7 @@ ActiveRecord::Schema.define(version: 2023_07_02_131023) do
    t.index ["email"], name: "index_users_on_email", unique: true
    t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true, opclass: :text_pattern_ops, where: "(reset_password_token IS NOT NULL)"
    t.index ["role_id"], name: "index_users_on_role_id", where: "(role_id IS NOT NULL)"
    t.index ["unconfirmed_email"], name: "index_users_on_unconfirmed_email", where: "(unconfirmed_email IS NOT NULL)"
  end

  create_table "web_push_subscriptions", force: :cascade do |t|