You've already forked tribes-plugin-kobold
04e49618d1
CI / Test (push) Failing after 18s
Drop the pre-release dataset event resource and table now that Kobold edits are modeled as commit chunks.\n\nKeep record projections as the read model and expose compatibility events from commits at the API boundary.
60 lines
2.4 KiB
Elixir
60 lines
2.4 KiB
Elixir
defmodule TribeOne.TribesPlugin.Kobold do
|
|
@moduledoc false
|
|
|
|
use Ash.Domain,
|
|
otp_app: :tribe_one_kobold
|
|
|
|
alias TribeOne.TribesPlugin.Kobold.Bookmark
|
|
alias TribeOne.TribesPlugin.Kobold.Commit
|
|
alias TribeOne.TribesPlugin.Kobold.Dataset
|
|
alias TribeOne.TribesPlugin.Kobold.RecordProjection
|
|
alias TribeOne.TribesPlugin.Kobold.ResourceDefinition
|
|
|
|
resources do
|
|
resource Dataset do
|
|
define(:create_public_dataset, action: :create_public)
|
|
define(:create_private_dataset, action: :create_private)
|
|
define(:sync_upsert_dataset, action: :sync_upsert)
|
|
define(:list_datasets, action: :read)
|
|
define(:list_datasets_by_run, action: :by_run, args: [:run_id])
|
|
define(:get_dataset, action: :by_id, args: [:id])
|
|
define(:destroy_dataset, action: :destroy)
|
|
end
|
|
|
|
resource ResourceDefinition do
|
|
define(:create_public_resource_definition, action: :create_public)
|
|
define(:create_private_resource_definition, action: :create_private)
|
|
define(:sync_upsert_resource_definition, action: :sync_upsert)
|
|
define(:list_resource_definitions, action: :read)
|
|
define(:list_resource_definitions_by_dataset, action: :by_dataset, args: [:dataset_id])
|
|
define(:get_resource_definition, action: :by_dataset_and_name, args: [:dataset_id, :name])
|
|
define(:destroy_resource_definition, action: :destroy)
|
|
end
|
|
|
|
resource Commit do
|
|
define(:create_commit, action: :create)
|
|
define(:sync_upsert_commit, action: :sync_upsert)
|
|
define(:list_commits, action: :read)
|
|
define(:list_commits_by_dataset, action: :by_dataset, args: [:dataset_id])
|
|
define(:list_commits_by_run, action: :by_run, args: [:run_id])
|
|
define(:destroy_commit, action: :destroy)
|
|
end
|
|
|
|
resource Bookmark do
|
|
define(:upsert_bookmark, action: :upsert)
|
|
define(:sync_upsert_bookmark, action: :sync_upsert)
|
|
define(:list_bookmarks, action: :read)
|
|
define(:list_bookmarks_by_dataset, action: :by_dataset, args: [:dataset_id])
|
|
define(:get_bookmark, action: :by_dataset_and_name, args: [:dataset_id, :name])
|
|
define(:destroy_bookmark, action: :destroy)
|
|
end
|
|
|
|
resource RecordProjection do
|
|
define(:upsert_record_projection, action: :upsert)
|
|
define(:list_record_projections, action: :read)
|
|
define(:list_record_projections_by_dataset, action: :by_dataset, args: [:dataset_id])
|
|
define(:destroy_record_projection, action: :destroy)
|
|
end
|
|
end
|
|
end
|