aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorIvan Tashkinov <ivantashkinov@gmail.com>2019-10-21 11:58:22 +0300
committerIvan Tashkinov <ivantashkinov@gmail.com>2019-10-21 11:58:22 +0300
commit7c7f90bc4f361b8bf4b49790640a4aa490ee619f (patch)
treec74d52d098f75f93885dafe8911b9580d97657ab /lib
parenta11a7176d59deafa08a865d6e0950b9b9c540f18 (diff)
downloadpleroma-7c7f90bc4f361b8bf4b49790640a4aa490ee619f.tar.gz
[#1304] Merged `develop`, handled User.Info.invisible.
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/user.ex16
-rw-r--r--lib/pleroma/web/activity_pub/relay.ex2
2 files changed, 15 insertions, 3 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index 00a1df133..e8038c1c1 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -103,6 +103,7 @@ defmodule Pleroma.User do
field(:fields, {:array, :map}, default: nil)
field(:raw_fields, {:array, :map}, default: [])
field(:discoverable, :boolean, default: false)
+ field(:invisible, :boolean, default: false)
field(:skip_thread_containment, :boolean, default: false)
field(:notification_settings, :map,
@@ -142,7 +143,7 @@ defmodule Pleroma.User do
def superuser?(%User{local: true, is_moderator: true}), do: true
def superuser?(_), do: false
- def invisible?(%User{info: %User.Info{invisible: true}}), do: true
+ def invisible?(%User{invisible: true}), do: true
def invisible?(_), do: false
def avatar_url(user, options \\ []) do
@@ -264,6 +265,7 @@ defmodule Pleroma.User do
:fields,
:raw_fields,
:discoverable,
+ :invisible,
:skip_thread_containment,
:notification_settings
]
@@ -321,7 +323,8 @@ defmodule Pleroma.User do
:follower_count,
:fields,
:following_count,
- :discoverable
+ :discoverable,
+ :invisible
]
)
|> validate_required([:name, :ap_id])
@@ -2021,4 +2024,13 @@ defmodule Pleroma.User do
|> cast(params, [:muted_reblogs])
|> update_and_set_cache()
end
+
+ def set_invisible(user, invisible) do
+ params = %{invisible: invisible}
+
+ user
+ |> cast(params, [:invisible])
+ |> validate_required([:invisible])
+ |> update_and_set_cache()
+ end
end
diff --git a/lib/pleroma/web/activity_pub/relay.ex b/lib/pleroma/web/activity_pub/relay.ex
index de80612f1..a9434d75c 100644
--- a/lib/pleroma/web/activity_pub/relay.ex
+++ b/lib/pleroma/web/activity_pub/relay.ex
@@ -14,7 +14,7 @@ defmodule Pleroma.Web.ActivityPub.Relay do
"#{Pleroma.Web.Endpoint.url()}/relay"
|> User.get_or_create_service_actor_by_ap_id()
- {:ok, actor} = User.update_info(actor, &User.Info.set_invisible(&1, true))
+ {:ok, actor} = User.set_invisible(actor, true)
actor
end