diff options
Diffstat (limited to 'lib')
| -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 | 
