1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
5 defmodule Pleroma.Constants do
8 const(as_public, do: "https://www.w3.org/ns/activitystreams#Public")
10 const(object_internal_fields,
20 "deleted_activity_id",
26 const(static_only_files,
28 ~w(index.html robots.txt static static-fe finmoji emoji packs sounds images instance sw.js sw-pleroma.js favicon.png schemas doc embed.js embed.css)
31 const(status_updatable_fields,
45 const(status_object_types,
57 const(updatable_object_types,
79 const(allowed_user_actor_types,
87 # basic regex, just there to weed out potential mistakes
88 # https://datatracker.ietf.org/doc/html/rfc2045#section-5.1
90 do: ~r/^[^[:cntrl:] ()<>@,;:\\"\/\[\]?=]+\/[^[:cntrl:] ()<>@,;:\\"\/\[\]?=]+(; .*)?$/
93 const(upload_object_types, do: ["Document", "Image"])
95 const(activity_json_canonical_mime_type,
96 do: "application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\""
99 const(activity_json_mime_types,
101 "application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"",
102 "application/activity+json"
106 const(public_streams,
107 do: ["public", "public:local", "public:media", "public:local:media"]