diff options
Diffstat (limited to 'lib/pleroma/ecto_type')
| -rw-r--r-- | lib/pleroma/ecto_type/activity_pub/object_validators/bare_uri.ex | 25 | ||||
| -rw-r--r--[-rwxr-xr-x] | lib/pleroma/ecto_type/activity_pub/object_validators/date_time.ex | 0 | ||||
| -rw-r--r--[-rwxr-xr-x] | lib/pleroma/ecto_type/activity_pub/object_validators/emoji.ex | 0 | ||||
| -rw-r--r--[-rwxr-xr-x] | lib/pleroma/ecto_type/activity_pub/object_validators/mime.ex | 0 | ||||
| -rw-r--r--[-rwxr-xr-x] | lib/pleroma/ecto_type/activity_pub/object_validators/object_id.ex | 0 | ||||
| -rw-r--r--[-rwxr-xr-x] | lib/pleroma/ecto_type/activity_pub/object_validators/recipients.ex | 0 | ||||
| -rw-r--r--[-rwxr-xr-x] | lib/pleroma/ecto_type/activity_pub/object_validators/safe_text.ex | 0 | ||||
| -rw-r--r--[-rwxr-xr-x] | lib/pleroma/ecto_type/activity_pub/object_validators/uri.ex | 0 | ||||
| -rw-r--r--[-rwxr-xr-x] | lib/pleroma/ecto_type/config/atom.ex | 0 | ||||
| -rw-r--r--[-rwxr-xr-x] | lib/pleroma/ecto_type/config/binary_value.ex | 0 |
10 files changed, 25 insertions, 0 deletions
diff --git a/lib/pleroma/ecto_type/activity_pub/object_validators/bare_uri.ex b/lib/pleroma/ecto_type/activity_pub/object_validators/bare_uri.ex new file mode 100644 index 0000000..a1af8fa --- /dev/null +++ b/lib/pleroma/ecto_type/activity_pub/object_validators/bare_uri.ex @@ -0,0 +1,25 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2023 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.EctoType.ActivityPub.ObjectValidators.BareUri do + use Ecto.Type + + def type, do: :string + + def cast(uri) when is_binary(uri) do + parsed = URI.parse(uri) + + if is_nil(parsed.scheme) do + :error + else + {:ok, uri} + end + end + + def cast(_), do: :error + + def dump(data), do: {:ok, data} + + def load(data), do: {:ok, data} +end diff --git a/lib/pleroma/ecto_type/activity_pub/object_validators/date_time.ex b/lib/pleroma/ecto_type/activity_pub/object_validators/date_time.ex index b0258e8..b0258e8 100755..100644 --- a/lib/pleroma/ecto_type/activity_pub/object_validators/date_time.ex +++ b/lib/pleroma/ecto_type/activity_pub/object_validators/date_time.ex diff --git a/lib/pleroma/ecto_type/activity_pub/object_validators/emoji.ex b/lib/pleroma/ecto_type/activity_pub/object_validators/emoji.ex index e0e4449..e0e4449 100755..100644 --- a/lib/pleroma/ecto_type/activity_pub/object_validators/emoji.ex +++ b/lib/pleroma/ecto_type/activity_pub/object_validators/emoji.ex diff --git a/lib/pleroma/ecto_type/activity_pub/object_validators/mime.ex b/lib/pleroma/ecto_type/activity_pub/object_validators/mime.ex index 31d5157..31d5157 100755..100644 --- a/lib/pleroma/ecto_type/activity_pub/object_validators/mime.ex +++ b/lib/pleroma/ecto_type/activity_pub/object_validators/mime.ex diff --git a/lib/pleroma/ecto_type/activity_pub/object_validators/object_id.ex b/lib/pleroma/ecto_type/activity_pub/object_validators/object_id.ex index 663dc0d..663dc0d 100755..100644 --- a/lib/pleroma/ecto_type/activity_pub/object_validators/object_id.ex +++ b/lib/pleroma/ecto_type/activity_pub/object_validators/object_id.ex diff --git a/lib/pleroma/ecto_type/activity_pub/object_validators/recipients.ex b/lib/pleroma/ecto_type/activity_pub/object_validators/recipients.ex index 447d536..447d536 100755..100644 --- a/lib/pleroma/ecto_type/activity_pub/object_validators/recipients.ex +++ b/lib/pleroma/ecto_type/activity_pub/object_validators/recipients.ex diff --git a/lib/pleroma/ecto_type/activity_pub/object_validators/safe_text.ex b/lib/pleroma/ecto_type/activity_pub/object_validators/safe_text.ex index 95bd3ba..95bd3ba 100755..100644 --- a/lib/pleroma/ecto_type/activity_pub/object_validators/safe_text.ex +++ b/lib/pleroma/ecto_type/activity_pub/object_validators/safe_text.ex diff --git a/lib/pleroma/ecto_type/activity_pub/object_validators/uri.ex b/lib/pleroma/ecto_type/activity_pub/object_validators/uri.ex index b8e5c9d..b8e5c9d 100755..100644 --- a/lib/pleroma/ecto_type/activity_pub/object_validators/uri.ex +++ b/lib/pleroma/ecto_type/activity_pub/object_validators/uri.ex diff --git a/lib/pleroma/ecto_type/config/atom.ex b/lib/pleroma/ecto_type/config/atom.ex index c44d655..c44d655 100755..100644 --- a/lib/pleroma/ecto_type/config/atom.ex +++ b/lib/pleroma/ecto_type/config/atom.ex diff --git a/lib/pleroma/ecto_type/config/binary_value.ex b/lib/pleroma/ecto_type/config/binary_value.ex index 4aad0cf..4aad0cf 100755..100644 --- a/lib/pleroma/ecto_type/config/binary_value.ex +++ b/lib/pleroma/ecto_type/config/binary_value.ex |
