diff --git a/dev/resources/accounts/resources/new_user.ex b/dev/resources/accounts/resources/new_user.ex new file mode 100644 index 0000000..07dad58 --- /dev/null +++ b/dev/resources/accounts/resources/new_user.ex @@ -0,0 +1,20 @@ +defmodule Demo.Accounts.NewUser do + @moduledoc """ + TODO + """ + use Ash.Resource, data_layer: :embedded + + actions do + defaults [:create] + end + + attributes do + uuid_primary_key :id + + attribute :email, :string, allow_nil?: false + attribute :first_name, :string, allow_nil?: false + attribute :last_name, :string, allow_nil?: false + attribute :mobile, :string, allow_nil?: false + attribute :address, :string, allow_nil?: false + end +end diff --git a/dev/resources/accounts/resources/user.ex b/dev/resources/accounts/resources/user.ex index f5d7fc4..b2a5254 100644 --- a/dev/resources/accounts/resources/user.ex +++ b/dev/resources/accounts/resources/user.ex @@ -61,6 +61,14 @@ defmodule Demo.Accounts.User do update :update, primary?: true update :update2 destroy :destroy + + update :add_another_user do + argument :new_user, Demo.Accounts.NewUser, allow_nil?: false + end + + update :add_moar_users do + argument :new_users, {:array, Demo.Accounts.NewUser}, allow_nil?: false + end end postgres do