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
|
||||
|
||||
defp clear_relationships(%{__resource__: resource} = record) do
|
||||
defp clear_relationships(%resource{} = record) do
|
||||
resource
|
||||
|> Ash.Resource.relationships()
|
||||
|> 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(_), 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
|
||||
|
|
|
@ -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 ->
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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__, %{})
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue