fix: the __resource__ change broke some extensions

This commit is contained in:
Zach Daniel 2021-01-06 15:15:43 -05:00
parent fa360508ef
commit 109ed9b19c
6 changed files with 8 additions and 10 deletions

View file

@ -892,7 +892,7 @@ defmodule Ash.Actions.Relationships do
)
end
defp clear_relationships(%{__resource__: resource} = record) do
defp clear_relationships(%resource{} = record) do
resource
|> Ash.Resource.relationships()
|> Enum.reduce(record, fn relationship, record ->

View file

@ -76,7 +76,7 @@ defmodule Ash.Actions.SideLoad do
defp tenant_from_data([%{__metadata__: %{tenant: tenant}} | _]), do: tenant
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
side_loads
|> Enum.sort_by(fn {key, _value} ->
@ -561,12 +561,12 @@ defmodule Ash.Actions.SideLoad do
[] ->
false
[%{__resource__: resource} = item] ->
[%resource{} = item] ->
item
|> Map.take(Ash.Resource.primary_key(resource))
|> Enum.to_list()
[%{__resource__: resource} | _] = items ->
[%resource{} | _] = items ->
pkey = Ash.Resource.primary_key(resource)
[or: Enum.map(items, fn item -> item |> Map.take(pkey) |> Enum.to_list() end)]
end

View file

@ -673,7 +673,7 @@ defmodule Ash.Api do
end
end
def load(api, [%{__resource__: resource} | _] = data, query, opts) do
def load(api, [%resource{} | _] = data, query, opts) do
query =
case query do
%Ash.Query{} = query ->

View file

@ -106,12 +106,12 @@ defmodule Ash.Api.Interface do
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()
get!(resource, id, params)
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()
get(resource, id, params)
end

View file

@ -90,7 +90,7 @@ defmodule Ash.Changeset do
@spec new(Ash.resource() | Ash.record(), initial_attributes :: map) :: t
def new(resource, initial_attributes \\ %{})
def new(%{__resource__: resource} = record, initial_attributes) do
def new(%resource{} = record, initial_attributes) do
tenant =
record
|> Map.get(:__metadata__, %{})

View file

@ -11,7 +11,6 @@ defmodule Ash.Schema do
alias Ash.Query.Aggregate
use Ecto.Schema
@primary_key false
@derive {Inspect, except: [:__resource__]}
schema Ash.DataLayer.source(__MODULE__) do
for relationship <- Ash.Resource.relationships(__MODULE__) do
@ -31,7 +30,6 @@ defmodule Ash.Schema do
field(:aggregates, :map, virtual: true, default: %{})
field(:calculations, :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
{:ok, type} = Aggregate.kind_to_type(aggregate.kind, :string)