projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'develop' into feature/push-subject-for-dm
[akkoma]
/
lib
/
pleroma
/
object.ex
diff --git
a/lib/pleroma/object.ex
b/lib/pleroma/object.ex
index 640e068e56ce8cd7da2c43fcc0b9bd78508af55a..d9b41d710cebb6296a3b2d4cb41521feb2c27030 100644
(file)
--- a/
lib/pleroma/object.ex
+++ b/
lib/pleroma/object.ex
@@
-42,7
+42,7
@@
defmodule Pleroma.Object do
%{updated_at: updated_at} = object = get_by_id(id)
if opts[:interval] &&
%{updated_at: updated_at} = object = get_by_id(id)
if opts[:interval] &&
- NaiveDateTime.diff(
updated_at, NaiveDateTime.utc_now()
) > opts[:interval] do
+ NaiveDateTime.diff(
NaiveDateTime.utc_now(), updated_at
) > opts[:interval] do
case Fetcher.refetch_object(object) do
{:ok, %Object{} = object} ->
object
case Fetcher.refetch_object(object) do
{:ok, %Object{} = object} ->
object
@@
-181,7
+181,7
@@
defmodule Pleroma.Object do
data:
fragment(
"""
data:
fragment(
"""
- jsonb_set(?, '{repliesCount}',
+
safe_
jsonb_set(?, '{repliesCount}',
(coalesce((?->>'repliesCount')::int, 0) + 1)::varchar::jsonb, true)
""",
o.data,
(coalesce((?->>'repliesCount')::int, 0) + 1)::varchar::jsonb, true)
""",
o.data,
@@
-204,7
+204,7
@@
defmodule Pleroma.Object do
data:
fragment(
"""
data:
fragment(
"""
- jsonb_set(?, '{repliesCount}',
+
safe_
jsonb_set(?, '{repliesCount}',
(greatest(0, (?->>'repliesCount')::int - 1))::varchar::jsonb, true)
""",
o.data,
(greatest(0, (?->>'repliesCount')::int - 1))::varchar::jsonb, true)
""",
o.data,
@@
-248,4
+248,11
@@
defmodule Pleroma.Object do
_ -> :noop
end
end
_ -> :noop
end
end
+
+ @doc "Updates data field of an object"
+ def update_data(%Object{data: data} = object, attrs \\ %{}) do
+ object
+ |> Object.change(%{data: Map.merge(data || %{}, attrs)})
+ |> Repo.update()
+ end
end
end