diff options
author | lain <lain@soykaf.club> | 2019-12-09 10:39:14 +0100 |
---|---|---|
committer | lain <lain@soykaf.club> | 2019-12-09 10:39:14 +0100 |
commit | d4bafabfd14887e61eb5bc1d877035dcfebbd33f (patch) | |
tree | 805b22756da81de3ae86decdc8275f1b87be7853 | |
parent | 1993d7096d673d8a8151fedd7bcac909d584d13d (diff) | |
download | pleroma-d4bafabfd14887e61eb5bc1d877035dcfebbd33f.tar.gz |
Beginnings of the create validator
-rw-r--r-- | lib/pleroma/web/activity_pub/object_validators/create_validator.ex | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/lib/pleroma/web/activity_pub/object_validators/create_validator.ex b/lib/pleroma/web/activity_pub/object_validators/create_validator.ex new file mode 100644 index 000000000..bd90f7250 --- /dev/null +++ b/lib/pleroma/web/activity_pub/object_validators/create_validator.ex @@ -0,0 +1,31 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.ActivityPub.ObjectValidators.CreateNoteValidator do + use Ecto.Schema + + alias Pleroma.Web.ActivityPub.ObjectValidators.Types + alias Pleroma.Web.ActivityPub.ObjectValidators.NoteValidator + + import Ecto.Changeset + + @primary_key false + + embedded_schema do + field(:id, :string, primary_key: true) + field(:actor, Types.ObjectID) + field(:type, :string) + field(:to, {:array, :string}) + field(:cc, {:array, :string}) + field(:bto, {:array, :string}, default: []) + field(:bcc, {:array, :string}, default: []) + + embeds_one(:object, NoteValidator) + end + + def cast_data(data) do + %__MODULE__{} + |> cast(data, __schema__(:fields)) + end +end |