diff --git a/lib/decentralised_book_index/metadata.ex b/lib/decentralised_book_index/metadata.ex index 8e60f5a..9d704f2 100644 --- a/lib/decentralised_book_index/metadata.ex +++ b/lib/decentralised_book_index/metadata.ex @@ -23,6 +23,11 @@ defmodule DecentralisedBookIndex.Metadata do get :read index :search end + + base_route "/servers", Metadata.DBIServer do + get :read + index :search + end end end diff --git a/lib/decentralised_book_index/metadata/author.ex b/lib/decentralised_book_index/metadata/author.ex index 0cfdf6f..a474aeb 100644 --- a/lib/decentralised_book_index/metadata/author.ex +++ b/lib/decentralised_book_index/metadata/author.ex @@ -248,7 +248,9 @@ defmodule DecentralisedBookIndex.Metadata.Author do end relationships do - belongs_to :dbi_server, Metadata.DBIServer + belongs_to :dbi_server, Metadata.DBIServer do + public? true + end belongs_to :author_alias_registry, Metadata.AuthorAliasRegistry do attribute_writable? true diff --git a/lib/decentralised_book_index/metadata/book.ex b/lib/decentralised_book_index/metadata/book.ex index 2ca0014..393cabc 100644 --- a/lib/decentralised_book_index/metadata/book.ex +++ b/lib/decentralised_book_index/metadata/book.ex @@ -349,7 +349,9 @@ defmodule DecentralisedBookIndex.Metadata.Book do end relationships do - belongs_to :dbi_server, Metadata.DBIServer + belongs_to :dbi_server, Metadata.DBIServer do + public? true + end belongs_to :book_editions_registry, Metadata.BookEditionsRegistry do public? true diff --git a/lib/decentralised_book_index/metadata/dbi_server.ex b/lib/decentralised_book_index/metadata/dbi_server.ex index 7f8261a..ab4a0ba 100644 --- a/lib/decentralised_book_index/metadata/dbi_server.ex +++ b/lib/decentralised_book_index/metadata/dbi_server.ex @@ -3,10 +3,15 @@ defmodule DecentralisedBookIndex.Metadata.DBIServer do otp_app: :decentralised_book_index, domain: DecentralisedBookIndex.Metadata, data_layer: AshPostgres.DataLayer, - authorizers: [Ash.Policy.Authorizer] + authorizers: [Ash.Policy.Authorizer], + extensions: [AshJsonApi.Resource] alias DecentralisedBookIndex.Metadata + json_api do + type "dbi_server" + end + postgres do table "dbi_servers" repo DecentralisedBookIndex.Repo diff --git a/lib/decentralised_book_index/metadata/publisher.ex b/lib/decentralised_book_index/metadata/publisher.ex index aaffc43..3059e89 100644 --- a/lib/decentralised_book_index/metadata/publisher.ex +++ b/lib/decentralised_book_index/metadata/publisher.ex @@ -98,7 +98,9 @@ defmodule DecentralisedBookIndex.Metadata.Publisher do end relationships do - belongs_to :dbi_server, Metadata.DBIServer + belongs_to :dbi_server, Metadata.DBIServer do + public? true + end has_many :books, Metadata.Book end