aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/ecto_type
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pleroma/ecto_type')
-rw-r--r--lib/pleroma/ecto_type/activity_pub/object_validators/bare_uri.ex25
-rw-r--r--[-rwxr-xr-x]lib/pleroma/ecto_type/activity_pub/object_validators/date_time.ex0
-rw-r--r--[-rwxr-xr-x]lib/pleroma/ecto_type/activity_pub/object_validators/emoji.ex0
-rw-r--r--[-rwxr-xr-x]lib/pleroma/ecto_type/activity_pub/object_validators/mime.ex0
-rw-r--r--[-rwxr-xr-x]lib/pleroma/ecto_type/activity_pub/object_validators/object_id.ex0
-rw-r--r--[-rwxr-xr-x]lib/pleroma/ecto_type/activity_pub/object_validators/recipients.ex0
-rw-r--r--[-rwxr-xr-x]lib/pleroma/ecto_type/activity_pub/object_validators/safe_text.ex0
-rw-r--r--[-rwxr-xr-x]lib/pleroma/ecto_type/activity_pub/object_validators/uri.ex0
-rw-r--r--[-rwxr-xr-x]lib/pleroma/ecto_type/config/atom.ex0
-rw-r--r--[-rwxr-xr-x]lib/pleroma/ecto_type/config/binary_value.ex0
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