logo

pleroma

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

url_object_validator.ex (659B)


      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.UrlObjectValidator do
      6   use Ecto.Schema
      7 
      8   alias Pleroma.EctoType.ActivityPub.ObjectValidators
      9 
     10   import Ecto.Changeset
     11   @primary_key false
     12 
     13   embedded_schema do
     14     field(:type, :string)
     15     field(:href, ObjectValidators.Uri)
     16     field(:mediaType, :string, default: "application/octet-stream")
     17   end
     18 
     19   def changeset(struct, data) do
     20     struct
     21     |> cast(data, __schema__(:fields))
     22     |> validate_required([:type, :href, :mediaType])
     23   end
     24 end