|
|
|
@ -62,8 +62,18 @@ defmodule DecentralisedBookIndex.Metadata.Author do
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
create :sync do
|
|
|
|
|
accept [:id, :name, :description, :avatar_url, :dbi_server_id, :author_alias_registry_id]
|
|
|
|
|
create :sync_create do
|
|
|
|
|
accept [
|
|
|
|
|
:id,
|
|
|
|
|
:name,
|
|
|
|
|
:description,
|
|
|
|
|
:avatar_url,
|
|
|
|
|
:dbi_server_id,
|
|
|
|
|
:author_alias_registry_id,
|
|
|
|
|
:inserted_at,
|
|
|
|
|
:updated_at,
|
|
|
|
|
:dbi_server_id
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
change fn changeset, _ ->
|
|
|
|
|
server_id = Ash.Changeset.get_attribute(changeset, :dbi_server)
|
|
|
|
@ -128,6 +138,37 @@ defmodule DecentralisedBookIndex.Metadata.Author do
|
|
|
|
|
pagination offset?: true, default_limit: 10
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
update :sync do
|
|
|
|
|
require_atomic? false
|
|
|
|
|
|
|
|
|
|
accept [
|
|
|
|
|
:id,
|
|
|
|
|
:name,
|
|
|
|
|
:description,
|
|
|
|
|
:avatar_url,
|
|
|
|
|
:dbi_server_id,
|
|
|
|
|
:author_alias_registry_id,
|
|
|
|
|
:inserted_at,
|
|
|
|
|
:updated_at,
|
|
|
|
|
:dbi_server_id
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
change fn changeset, _ ->
|
|
|
|
|
server_id = Ash.Changeset.get_attribute(changeset, :dbi_server)
|
|
|
|
|
Ash.Changeset.force_change_attribute(changeset, :author_alias_registry_id, server_id)
|
|
|
|
|
|
|
|
|
|
registry_id = Ash.Changeset.get_attribute(changeset, :author_alias_registry_id)
|
|
|
|
|
|
|
|
|
|
if registry_id == nil do
|
|
|
|
|
{:ok, registry} = DecentralisedBookIndex.Metadata.create_author_alias_registry()
|
|
|
|
|
|
|
|
|
|
Ash.Changeset.force_change_attribute(changeset, :author_alias_registry_id, registry.id)
|
|
|
|
|
else
|
|
|
|
|
changeset
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
update :update do
|
|
|
|
|
primary? true
|
|
|
|
|
accept [:name, :description, :avatar_url]
|
|
|
|
@ -156,7 +197,10 @@ defmodule DecentralisedBookIndex.Metadata.Author do
|
|
|
|
|
public? true
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
timestamps()
|
|
|
|
|
timestamps do
|
|
|
|
|
writable? true
|
|
|
|
|
public? true
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
relationships do
|
|
|
|
|