Make sign up Magic Links work across devices
Previously if someone started signing in on their phone, but finished it on their laptop, they'd end up on the menu screen with no account. Bu tracking the purpose of a Magic Link we can always direct the user to sign up if they requested a magic link through sign up. This also makes the logic for changing the copy in the email more robust.
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
class AddPurposeToMagicLinks < ActiveRecord::Migration[8.2]
|
||||
def change
|
||||
add_column :magic_links, :purpose, :integer, null: true
|
||||
|
||||
execute <<-SQL
|
||||
UPDATE magic_links SET purpose = 0
|
||||
SQL
|
||||
|
||||
change_column_null :magic_links, :purpose, false
|
||||
end
|
||||
end
|
||||
Generated
+2
-1
@@ -10,7 +10,7 @@
|
||||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema[8.2].define(version: 2025_11_27_000001) do
|
||||
ActiveRecord::Schema[8.2].define(version: 2025_11_29_110120) do
|
||||
create_table "accesses", id: :uuid, charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t|
|
||||
t.datetime "accessed_at"
|
||||
t.uuid "account_id", null: false
|
||||
@@ -315,6 +315,7 @@ ActiveRecord::Schema[8.2].define(version: 2025_11_27_000001) do
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "expires_at", null: false
|
||||
t.uuid "identity_id"
|
||||
t.integer "purpose", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.index ["code"], name: "index_magic_links_on_code", unique: true
|
||||
t.index ["expires_at"], name: "index_magic_links_on_expires_at"
|
||||
|
||||
Reference in New Issue
Block a user