ash/test/support/flow/flows/unapprove_all_users.ex

53 lines
1.1 KiB
Elixir
Raw Normal View History

defmodule Ash.Test.Flow.Flows.UnapproveAllUsers do
@moduledoc "Foo"
use Ash.Flow
flow do
api Ash.Test.Flow.Api
argument :org_name, :string do
allow_nil? false
end
argument :error, :atom do
constraints one_of: [:raise, :return]
end
returns :count_unapproved_users
end
steps do
read :get_org, Ash.Test.Flow.Org, :by_name do
input(%{
name: arg(:org_name)
})
end
transaction :get_org_and_unapprove_users, Ash.Test.Flow.Org do
read :list_users, Ash.Test.Flow.User, :for_org do
input %{
org: path(result(:get_org), :id)
}
end
map :unapprove_users, result(:list_users) do
update :unapprove_user, Ash.Test.Flow.User, :unapprove do
record element(:unapprove_users)
end
end
custom :count_unapproved_users, {Ash.Test.Flow.Steps.CountValue, field: :users} do
input %{
users: result(:list_users)
}
end
custom :error, Ash.Test.Flow.Steps.Error do
input %{
error: arg(:error)
}
end
end
end
end