Files
self 04e49618d1
CI / Test (push) Failing after 18s
refactor: remove legacy Kobold event resource
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.
2026-05-29 04:41:33 +02:00

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