WIP member and properties
This commit is contained in:
parent
2116ee1e91
commit
45fc52d6fb
10 changed files with 446 additions and 1 deletions
35
lib/membership/member.ex
Normal file
35
lib/membership/member.ex
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
defmodule Mv.Membership.Member do
|
||||
use Ash.Resource,
|
||||
domain: Mv.Membership,
|
||||
data_layer: AshPostgres.DataLayer
|
||||
|
||||
postgres do
|
||||
table "members"
|
||||
repo Mv.Repo
|
||||
end
|
||||
|
||||
actions do
|
||||
defaults [:read, :destroy]
|
||||
|
||||
create :create_member do
|
||||
primary? true
|
||||
argument :properties, {:array, :map}
|
||||
change manage_relationship(:properties, type: :create)
|
||||
end
|
||||
|
||||
update :update_member do
|
||||
primary? true
|
||||
require_atomic? false
|
||||
argument :properties, {:array, :map}
|
||||
change manage_relationship(:properties, on_match: :update, on_no_match: :create)
|
||||
end
|
||||
end
|
||||
|
||||
attributes do
|
||||
uuid_v7_primary_key :id
|
||||
end
|
||||
|
||||
relationships do
|
||||
has_many :properties, Mv.Membership.Property
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue