mirror of
https://github.com/ash-project/ash.git
synced 2024-09-20 13:33:20 +12:00
fix: the __resource__
change broke some extensions
This commit is contained in:
parent
fa360508ef
commit
109ed9b19c
6 changed files with 8 additions and 10 deletions
|
@ -892,7 +892,7 @@ defmodule Ash.Actions.Relationships do
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
defp clear_relationships(%{__resource__: resource} = record) do
|
defp clear_relationships(%resource{} = record) do
|
||||||
resource
|
resource
|
||||||
|> Ash.Resource.relationships()
|
|> Ash.Resource.relationships()
|
||||||
|> Enum.reduce(record, fn relationship, record ->
|
|> Enum.reduce(record, fn relationship, record ->
|
||||||
|
|
|
@ -76,7 +76,7 @@ defmodule Ash.Actions.SideLoad do
|
||||||
defp tenant_from_data([%{__metadata__: %{tenant: tenant}} | _]), do: tenant
|
defp tenant_from_data([%{__metadata__: %{tenant: tenant}} | _]), do: tenant
|
||||||
defp tenant_from_data(_), do: nil
|
defp tenant_from_data(_), do: nil
|
||||||
|
|
||||||
def attach_side_loads([%{__resource__: resource} | _] = data, %{side_load: side_loads})
|
def attach_side_loads([%resource{} | _] = data, %{side_load: side_loads})
|
||||||
when is_list(data) do
|
when is_list(data) do
|
||||||
side_loads
|
side_loads
|
||||||
|> Enum.sort_by(fn {key, _value} ->
|
|> Enum.sort_by(fn {key, _value} ->
|
||||||
|
@ -561,12 +561,12 @@ defmodule Ash.Actions.SideLoad do
|
||||||
[] ->
|
[] ->
|
||||||
false
|
false
|
||||||
|
|
||||||
[%{__resource__: resource} = item] ->
|
[%resource{} = item] ->
|
||||||
item
|
item
|
||||||
|> Map.take(Ash.Resource.primary_key(resource))
|
|> Map.take(Ash.Resource.primary_key(resource))
|
||||||
|> Enum.to_list()
|
|> Enum.to_list()
|
||||||
|
|
||||||
[%{__resource__: resource} | _] = items ->
|
[%resource{} | _] = items ->
|
||||||
pkey = Ash.Resource.primary_key(resource)
|
pkey = Ash.Resource.primary_key(resource)
|
||||||
[or: Enum.map(items, fn item -> item |> Map.take(pkey) |> Enum.to_list() end)]
|
[or: Enum.map(items, fn item -> item |> Map.take(pkey) |> Enum.to_list() end)]
|
||||||
end
|
end
|
||||||
|
|
|
@ -673,7 +673,7 @@ defmodule Ash.Api do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def load(api, [%{__resource__: resource} | _] = data, query, opts) do
|
def load(api, [%resource{} | _] = data, query, opts) do
|
||||||
query =
|
query =
|
||||||
case query do
|
case query do
|
||||||
%Ash.Query{} = query ->
|
%Ash.Query{} = query ->
|
||||||
|
|
|
@ -106,12 +106,12 @@ defmodule Ash.Api.Interface do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def reload!(%{__resource__: resource} = record, params \\ []) do
|
def reload!(%resource{} = record, params \\ []) do
|
||||||
id = record |> Map.take(Ash.Resource.primary_key(resource)) |> Enum.to_list()
|
id = record |> Map.take(Ash.Resource.primary_key(resource)) |> Enum.to_list()
|
||||||
get!(resource, id, params)
|
get!(resource, id, params)
|
||||||
end
|
end
|
||||||
|
|
||||||
def reload(%{__resource__: resource} = record, params \\ []) do
|
def reload(%resource{} = record, params \\ []) do
|
||||||
id = record |> Map.take(Ash.Resource.primary_key(resource)) |> Enum.to_list()
|
id = record |> Map.take(Ash.Resource.primary_key(resource)) |> Enum.to_list()
|
||||||
get(resource, id, params)
|
get(resource, id, params)
|
||||||
end
|
end
|
||||||
|
|
|
@ -90,7 +90,7 @@ defmodule Ash.Changeset do
|
||||||
@spec new(Ash.resource() | Ash.record(), initial_attributes :: map) :: t
|
@spec new(Ash.resource() | Ash.record(), initial_attributes :: map) :: t
|
||||||
def new(resource, initial_attributes \\ %{})
|
def new(resource, initial_attributes \\ %{})
|
||||||
|
|
||||||
def new(%{__resource__: resource} = record, initial_attributes) do
|
def new(%resource{} = record, initial_attributes) do
|
||||||
tenant =
|
tenant =
|
||||||
record
|
record
|
||||||
|> Map.get(:__metadata__, %{})
|
|> Map.get(:__metadata__, %{})
|
||||||
|
|
|
@ -11,7 +11,6 @@ defmodule Ash.Schema do
|
||||||
alias Ash.Query.Aggregate
|
alias Ash.Query.Aggregate
|
||||||
use Ecto.Schema
|
use Ecto.Schema
|
||||||
@primary_key false
|
@primary_key false
|
||||||
@derive {Inspect, except: [:__resource__]}
|
|
||||||
|
|
||||||
schema Ash.DataLayer.source(__MODULE__) do
|
schema Ash.DataLayer.source(__MODULE__) do
|
||||||
for relationship <- Ash.Resource.relationships(__MODULE__) do
|
for relationship <- Ash.Resource.relationships(__MODULE__) do
|
||||||
|
@ -31,7 +30,6 @@ defmodule Ash.Schema do
|
||||||
field(:aggregates, :map, virtual: true, default: %{})
|
field(:aggregates, :map, virtual: true, default: %{})
|
||||||
field(:calculations, :map, virtual: true, default: %{})
|
field(:calculations, :map, virtual: true, default: %{})
|
||||||
field(:__metadata__, :map, virtual: true, default: %{})
|
field(:__metadata__, :map, virtual: true, default: %{})
|
||||||
field(:__resource__, :string, virtual: true, default: __MODULE__, redact: true)
|
|
||||||
|
|
||||||
for aggregate <- Ash.Resource.aggregates(__MODULE__) do
|
for aggregate <- Ash.Resource.aggregates(__MODULE__) do
|
||||||
{:ok, type} = Aggregate.kind_to_type(aggregate.kind, :string)
|
{:ok, type} = Aggregate.kind_to_type(aggregate.kind, :string)
|
||||||
|
|
Loading…
Reference in a new issue