From f6c2ae6267d9d9d4788f3b65eba8c1edbffe47aa Mon Sep 17 00:00:00 2001
From: dan-klasson
Date: Mon, 15 Jul 2024 06:02:39 +0800
Subject: [PATCH] docs: Update Confirmation Tutorial docs (#741)
* Add missing Swoosh imports
* Cast email to string
* Fix token vars
* Add missing require_atomic
* Fix copy & paste naming mistake
* Change token to confirm for confirm new user url
---
documentation/tutorials/confirmation.md | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/documentation/tutorials/confirmation.md b/documentation/tutorials/confirmation.md
index f00fe0ec..b45049d9 100644
--- a/documentation/tutorials/confirmation.md
+++ b/documentation/tutorials/confirmation.md
@@ -67,10 +67,11 @@ Next we will define our "sender" module using `Swoosh`:
```elixir
defmodule MyApp.NewUserConfirmationSender do
use AshAuthentication.Sender
+ import Swoosh.Email
- def send(user, token, _opts) do
+ def send(user, confirm, _opts) do
new()
- |> to(user.email)
+ |> to(to_string(user.email))
|> from({"MyApp Admin", "support@myapp.inc"})
|> subject("Confirm your email address")
|> html_body("""
@@ -81,7 +82,7 @@ defmodule MyApp.NewUserConfirmationSender do
If it was you, then please click the link below to confirm your identity. If you did not initiate this request then please ignore this email.
- Click here to confirm your account
+ Click here to confirm your account
""")
|> MyApp.Mailer.deliver()
@@ -124,12 +125,13 @@ end
Next, let's define our new sender:
```elixir
-defmodule MyApp.NewUserConfirmationSender do
+defmodule MyApp.EmailChangeConfirmationSender do
use AshAuthentication.Sender
+ import Swoosh.Email
def send(user, token, _opts) do
new()
- |> to(user.email)
+ |> to(to_string(user.email))
|> from({"MyApp Admin", "support@myapp.inc"})
|> subject("Confirm your new email address")
|> html_body("""
@@ -139,7 +141,7 @@ defmodule MyApp.NewUserConfirmationSender do
You recently changed your email address on MyApp. Please confirm it.
- Click here to confirm your new email address
+ Click here to confirm your new email address
""")
|> MyApp.Mailer.deliver()
@@ -168,7 +170,8 @@ defmodule MyApp.Accounts.User do
update :confirm_change do
argument :confirm, :string, allow_nil?: false, public?: true
-
+ accept [:email]
+ require_atomic? false
change AshAuthentication.AddOn.Confirmation.ConfirmChange
change AshAuthentication.GenerateTokenChange
change MyApp.UpdateCrmSystem, only_when_valid?: true