logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma

create_note_validator.ex (932B)


      1 # Pleroma: A lightweight social networking server
      2 # Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
      3 # SPDX-License-Identifier: AGPL-3.0-only
      4 
      5 defmodule Pleroma.Web.ActivityPub.ObjectValidators.CreateNoteValidator do
      6   use Ecto.Schema
      7 
      8   alias Pleroma.EctoType.ActivityPub.ObjectValidators
      9   alias Pleroma.Web.ActivityPub.ObjectValidators.NoteValidator
     10 
     11   import Ecto.Changeset
     12 
     13   @primary_key false
     14 
     15   embedded_schema do
     16     field(:id, ObjectValidators.ObjectID, primary_key: true)
     17     field(:actor, ObjectValidators.ObjectID)
     18     field(:type, :string)
     19     field(:to, ObjectValidators.Recipients, default: [])
     20     field(:cc, ObjectValidators.Recipients, default: [])
     21     field(:bto, ObjectValidators.Recipients, default: [])
     22     field(:bcc, ObjectValidators.Recipients, default: [])
     23     embeds_one(:object, NoteValidator)
     24   end
     25 
     26   def cast_data(data) do
     27     cast(%__MODULE__{}, data, __schema__(:fields))
     28   end
     29 end