forked from mirrors/akkoma
Work around upserting problems in context mapping.
This commit is contained in:
parent
45c751985e
commit
af49c11193
|
@ -43,6 +43,6 @@ def get_cached_by_ap_id(ap_id) do
|
|||
end
|
||||
|
||||
def context_mapping(context) do
|
||||
%Object{data: %{"id" => context}}
|
||||
Object.change(%Object{}, %{data: %{"id" => context}})
|
||||
end
|
||||
end
|
||||
|
|
|
@ -283,10 +283,14 @@ defp make_date do
|
|||
def context_to_conversation_id(context) do
|
||||
with %Object{id: id} <- Object.get_cached_by_ap_id(context) do
|
||||
id
|
||||
else _e ->
|
||||
changeset = Object.context_mapping(context)
|
||||
{:ok, %{id: id}} = Repo.insert(changeset)
|
||||
id
|
||||
else _e ->
|
||||
changeset = Object.context_mapping(context)
|
||||
case Repo.insert(changeset) do
|
||||
{:ok, %{id: id}} -> id
|
||||
# This should be solved by an upsert, but it seems ecto
|
||||
# has problems accessing the constraint inside the jsonb.
|
||||
{:error, _} -> Object.get_cached_by_ap_id(context).id
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in a new issue