ash_postgres/test/support/resources/post_link.ex

44 lines
863 B
Elixir
Raw Normal View History

defmodule AshPostgres.Test.PostLink do
@moduledoc false
use Ash.Resource,
domain: AshPostgres.Test.Domain,
data_layer: AshPostgres.DataLayer
postgres do
table "post_links"
repo AshPostgres.TestRepo
end
2022-04-20 03:08:28 +12:00
actions do
default_accept(:*)
2022-04-20 03:08:28 +12:00
defaults([:create, :read, :update, :destroy])
end
identities do
identity(:unique_link, [:source_post_id, :destination_post_id])
end
attributes do
attribute :state, :atom do
public?(true)
constraints(one_of: [:active, :archived])
default(:active)
end
end
relationships do
belongs_to :source_post, AshPostgres.Test.Post do
public?(true)
2022-09-15 04:59:01 +12:00
allow_nil?(false)
primary_key?(true)
end
belongs_to :destination_post, AshPostgres.Test.Post do
public?(true)
2022-09-15 04:59:01 +12:00
allow_nil?(false)
primary_key?(true)
end
end
end