This commit is contained in:
@@ -62,7 +62,13 @@ defmodule DecentralisedBookIndex.Metadata do
|
||||
define :destroy_author, action: :destroy
|
||||
end
|
||||
|
||||
resource DecentralisedBookIndex.Metadata.DBIServer
|
||||
resource DecentralisedBookIndex.Metadata.DBIServer do
|
||||
define :create_dbi_server, action: :create
|
||||
define :list_dbi_server, action: :read
|
||||
define :get_dbi_server_by_id, args: [:id], action: :by_id
|
||||
define :update_dbi_server, action: :update
|
||||
define :destroy_dbi_server, action: :destroy
|
||||
end
|
||||
|
||||
resource DecentralisedBookIndex.Metadata.AuthorAliasRegistry do
|
||||
define :create_author_alias_registry, action: :create
|
||||
|
||||
@@ -23,6 +23,12 @@ defmodule DecentralisedBookIndex.Metadata.DBIServer do
|
||||
primary? true
|
||||
accept [:name, :url]
|
||||
end
|
||||
|
||||
read :by_id do
|
||||
argument :id, :uuid, allow_nil?: false
|
||||
get? true
|
||||
filter expr(id == ^arg(:id))
|
||||
end
|
||||
end
|
||||
|
||||
attributes do
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
defmodule DecentralisedBookIndex.Sync.SyncServerTask do
|
||||
alias DecentralisedBookIndex.Metadata
|
||||
alias DecentralisedBookIndex.Metadata.DBIServer
|
||||
|
||||
alias DecentralisedBookIndex.SyncTasks.SyncAuthorsTask
|
||||
|
||||
def sync_all() do
|
||||
{:ok, servers} = Metadata.list_dbi_server()
|
||||
|
||||
for server <- servers do
|
||||
sync_one(server)
|
||||
end
|
||||
|
||||
:ok
|
||||
end
|
||||
|
||||
def sync_one(%DBIServer{} = server) do
|
||||
server
|
||||
|> SyncAuthorsTask.sync()
|
||||
|
||||
:ok
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user