create_service_actor is now type Application
This is used for internal fetch and for relay. Both represent the instance and therefore are an aplication.
This commit is contained in:
parent
aeb68a0ad1
commit
b71db2f82d
4 changed files with 29 additions and 0 deletions
|
@ -38,6 +38,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|||
- Rich media will now hard-exit after 5 seconds, to prevent timeline hangs
|
||||
- HTTP Content Security Policy is now far more strict to prevent any potential XSS/CSS leakages
|
||||
- Follow requests are now paginated, matches mastodon API spec, so use the Link header to paginate.
|
||||
- `internal.fetch` and `relay` actors are now represented with the actor type `Application`
|
||||
|
||||
### Fixed
|
||||
- /api/v1/accounts/lookup will now respect restrict\_unauthenticated
|
||||
|
|
|
@ -2000,6 +2000,7 @@ defp create_service_actor(uri, nickname) do
|
|||
%User{
|
||||
invisible: true,
|
||||
local: true,
|
||||
actor_type: "Application",
|
||||
ap_id: uri,
|
||||
nickname: nickname,
|
||||
follower_address: uri <> "/followers"
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
defmodule Pleroma.Repo.Migrations.InstanceActorsToActorTypeApplication do
|
||||
use Ecto.Migration
|
||||
|
||||
def up do
|
||||
execute("""
|
||||
update users
|
||||
set actor_type = 'Application'
|
||||
where local
|
||||
and (ap_id like '%/relay' or ap_id like '%/internal/fetch')
|
||||
""")
|
||||
end
|
||||
|
||||
def down do
|
||||
execute("""
|
||||
update users
|
||||
set actor_type = 'Person'
|
||||
where local
|
||||
and (ap_id like '%/relay' or ap_id like '%/internal/fetch')
|
||||
""")
|
||||
end
|
||||
end
|
|
@ -19,6 +19,12 @@ test "gets an actor for the relay" do
|
|||
assert user.ap_id == "#{Pleroma.Web.Endpoint.url()}/relay"
|
||||
end
|
||||
|
||||
test "relay actor is an application" do
|
||||
# See <https://www.w3.org/TR/activitystreams-vocabulary/#dfn-application>
|
||||
user = Relay.get_actor()
|
||||
assert user.actor_type == "Application"
|
||||
end
|
||||
|
||||
test "relay actor is invisible" do
|
||||
user = Relay.get_actor()
|
||||
assert User.invisible?(user)
|
||||
|
|
Loading…
Reference in a new issue