ash_graphql/test/support/embeds.ex
2024-04-11 23:49:22 -04:00

61 lines
1.1 KiB
Elixir

defmodule Foo do
@moduledoc false
use Ash.Resource,
data_layer: :embedded,
extensions: [
AshGraphql.Resource
]
graphql do
type :foo_embed
end
attributes do
attribute :type, :atom do
public?(true)
constraints(one_of: [:foo])
writable?(false)
end
attribute :foo, :string do
public?(true)
allow_nil? false
end
end
calculations do
calculate(:always_true, :boolean, expr(true), public?: true)
calculate(:always_nil, :boolean, expr(nil), public?: true)
end
end
defmodule Bar do
@moduledoc false
use Ash.Resource,
data_layer: :embedded,
extensions: [
AshGraphql.Resource
]
graphql do
type :bar_embed
end
attributes do
attribute :type, :atom do
public?(true)
constraints(one_of: [:foo])
writable?(false)
end
attribute :bar, :string do
public?(true)
allow_nil? false
end
end
calculations do
calculate(:always_true, :boolean, expr(true), public?: true)
calculate(:always_false, :boolean, expr(false), public?: true)
end
end