this is a really good first commit

This commit is contained in:
2023-01-18 16:13:51 +01:00
parent 6bc40e339a
commit be71f04838
117 changed files with 2972 additions and 3100 deletions

View File

@ -90,21 +90,11 @@ defmodule SomethingErlang.Accounts do
"""
def change_user_registration(%User{} = user, attrs \\ %{}) do
User.registration_changeset(user, attrs, hash_password: false)
User.registration_changeset(user, attrs, hash_password: false, validate_email: false)
end
## Settings
def change_user_sadata(%User{} = user, attrs \\ %{}) do
User.sadata_changeset(user, attrs)
end
def update_sadata(%User{} = user, attrs \\ %{}) do
user
|> change_user_sadata(attrs)
|> Repo.update()
end
@doc """
Returns an `%Ecto.Changeset{}` for changing the user email.
@ -115,7 +105,7 @@ defmodule SomethingErlang.Accounts do
"""
def change_user_email(user, attrs \\ %{}) do
User.email_changeset(user, attrs)
User.email_changeset(user, attrs, validate_email: false)
end
@doc """
@ -167,16 +157,16 @@ defmodule SomethingErlang.Accounts do
|> Ecto.Multi.delete_all(:tokens, UserToken.user_and_contexts_query(user, [context]))
end
@doc """
@doc ~S"""
Delivers the update email instructions to the given user.
## Examples
iex> deliver_update_email_instructions(user, current_email, &Routes.user_update_email_url(conn, :edit, &1))
iex> deliver_user_update_email_instructions(user, current_email, &url(~p"/users/settings/confirm_email/#{&1})")
{:ok, %{to: ..., body: ...}}
"""
def deliver_update_email_instructions(%User{} = user, current_email, update_email_url_fun)
def deliver_user_update_email_instructions(%User{} = user, current_email, update_email_url_fun)
when is_function(update_email_url_fun, 1) do
{encoded_token, user_token} = UserToken.build_email_token(user, "change:#{current_email}")
@ -247,22 +237,22 @@ defmodule SomethingErlang.Accounts do
@doc """
Deletes the signed token with the given context.
"""
def delete_session_token(token) do
def delete_user_session_token(token) do
Repo.delete_all(UserToken.token_and_context_query(token, "session"))
:ok
end
## Confirmation
@doc """
@doc ~S"""
Delivers the confirmation email instructions to the given user.
## Examples
iex> deliver_user_confirmation_instructions(user, &Routes.user_confirmation_url(conn, :edit, &1))
iex> deliver_user_confirmation_instructions(user, &url(~p"/users/confirm/#{&1}"))
{:ok, %{to: ..., body: ...}}
iex> deliver_user_confirmation_instructions(confirmed_user, &Routes.user_confirmation_url(conn, :edit, &1))
iex> deliver_user_confirmation_instructions(confirmed_user, &url(~p"/users/confirm/#{&1}"))
{:error, :already_confirmed}
"""
@ -301,12 +291,12 @@ defmodule SomethingErlang.Accounts do
## Reset password
@doc """
@doc ~S"""
Delivers the reset password email to the given user.
## Examples
iex> deliver_user_reset_password_instructions(user, &Routes.user_reset_password_url(conn, :edit, &1))
iex> deliver_user_reset_password_instructions(user, &url(~p"/users/reset_password/#{&1}"))
{:ok, %{to: ..., body: ...}}
"""