mirror of
https://github.com/ash-project/ash_sqlite.git
synced 2024-09-20 05:13:19 +12:00
25 lines
821 B
Elixir
25 lines
821 B
Elixir
defmodule AshSqlite.ManualRelationship do
|
|
@moduledoc "A behavior for sqlite-specific manual relationship functionality"
|
|
|
|
@callback ash_sqlite_join(
|
|
source_query :: Ecto.Query.t(),
|
|
opts :: Keyword.t(),
|
|
current_binding :: term,
|
|
destination_binding :: term,
|
|
type :: :inner | :left,
|
|
destination_query :: Ecto.Query.t()
|
|
) :: {:ok, Ecto.Query.t()} | {:error, term}
|
|
|
|
@callback ash_sqlite_subquery(
|
|
opts :: Keyword.t(),
|
|
current_binding :: term,
|
|
destination_binding :: term,
|
|
destination_query :: Ecto.Query.t()
|
|
) :: {:ok, Ecto.Query.t()} | {:error, term}
|
|
|
|
defmacro __using__(_) do
|
|
quote do
|
|
@behaviour AshSqlite.ManualRelationship
|
|
end
|
|
end
|
|
end
|