spazio-solazzo/lib/spazio_solazzo/accounts.ex
Víctor Martínez 69f992f8f6
feat: new booking system + admin dashboard (#12)
feat: implement a new booking system and admin dashboard
2026-02-07 19:08:39 +01:00

26 lines
837 B
Elixir

defmodule SpazioSolazzo.Accounts do
@moduledoc """
The Accounts domain manages user authentication and authorization.
"""
use Ash.Domain,
otp_app: :spazio_solazzo,
extensions: [AshPhoenix]
resources do
resource SpazioSolazzo.Accounts.Token
resource SpazioSolazzo.Accounts.User do
define :request_magic_link, action: :request_magic_link, args: [:email]
define :sign_in_with_magic_link,
action: :sign_in_with_magic_link,
args: [:token, :remember_me, :name, :phone_number]
define :get_user_by_email, action: :read, get_by: [:email]
define :terminate_account, action: :terminate_account, args: [:delete_history]
define :update_profile, action: :update_profile, args: [:name, :phone_number]
define :make_admin, action: :make_admin, args: []
end
end
end