SEO.JSONLD.AuthorizeAction (SEO v0.3.0-rc.0)

View Source

The act of granting permission to an object.

Helper for building a Schema.org AuthorizeAction JSON-LD structure.

Action inputs and outputs

This type descends from SEO.JSONLD.Action, so build/1 recognizes two pseudo-fields that expand into Schema.org's hyphenated <property>-input / <property>-output shorthand (see Schema.org Actions, Part 4):

  • :inputs — a keyword list of {property, constraints} entries
  • :outputs — likewise, for <property>-output annotations

Constraints are passed to SEO.JSONLD.Actions.input_spec/1.

Summary

Types

t()

A JSON-LD map ready to be nested or rendered. String-keyed, always includes "@type" set to "AuthorizeAction", plus any camelCased field keys the caller provided (see build/1). "@context" is added at render time by SEO.JSONLD.meta/1 on the top-level node only.

Functions

Build a AuthorizeAction JSON-LD map.

Types

attrs()

@type attrs() ::
  %{
    optional(:recipient) =>
      SEO.JSONLD.Organization.t()
      | map()
      | SEO.JSONLD.Person.t()
      | SEO.JSONLD.ContactPoint.t()
      | SEO.JSONLD.Audience.t(),
    optional(:action_process) => SEO.JSONLD.HowTo.t() | map(),
    optional(:action_status) =>
      :active_action_status
      | :completed_action_status
      | :failed_action_status
      | :potential_action_status,
    optional(:agent) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:end_time) =>
      DateTime.t() | NaiveDateTime.t() | String.t() | Time.t(),
    optional(:error) => SEO.JSONLD.Thing.t() | map(),
    optional(:instrument) => SEO.JSONLD.Thing.t() | map(),
    optional(:location) =>
      String.t()
      | SEO.JSONLD.PostalAddress.t()
      | map()
      | SEO.JSONLD.VirtualLocation.t()
      | SEO.JSONLD.Place.t(),
    optional(:object) => SEO.JSONLD.Thing.t() | map(),
    optional(:participant) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:provider) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:result) => SEO.JSONLD.Thing.t() | map(),
    optional(:start_time) =>
      DateTime.t() | NaiveDateTime.t() | String.t() | Time.t(),
    optional(:target) =>
      URI.t() | String.t() | SEO.JSONLD.EntryPoint.t() | map(),
    optional(:additional_type) => String.t() | URI.t(),
    optional(:alternate_name) => String.t(),
    optional(:description) => SEO.JSONLD.TextObject.t() | map() | String.t(),
    optional(:disambiguating_description) => String.t(),
    optional(:identifier) =>
      String.t() | URI.t() | SEO.JSONLD.PropertyValue.t() | map(),
    optional(:image) =>
      URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(),
    optional(:main_entity_of_page) =>
      SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(),
    optional(:name) => String.t(),
    optional(:owner) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:potential_action) => SEO.JSONLD.Action.t() | map(),
    optional(:same_as) => URI.t() | String.t(),
    optional(:subject_of) =>
      SEO.JSONLD.Event.t() | map() | SEO.JSONLD.CreativeWork.t(),
    optional(:url) => URI.t() | String.t()
  }
  | [
      recipient:
        SEO.JSONLD.Organization.t()
        | map()
        | SEO.JSONLD.Person.t()
        | SEO.JSONLD.ContactPoint.t()
        | SEO.JSONLD.Audience.t(),
      action_process: SEO.JSONLD.HowTo.t() | map(),
      action_status:
        :active_action_status
        | :completed_action_status
        | :failed_action_status
        | :potential_action_status,
      agent: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      end_time: DateTime.t() | NaiveDateTime.t() | String.t() | Time.t(),
      error: SEO.JSONLD.Thing.t() | map(),
      instrument: SEO.JSONLD.Thing.t() | map(),
      location:
        String.t()
        | SEO.JSONLD.PostalAddress.t()
        | map()
        | SEO.JSONLD.VirtualLocation.t()
        | SEO.JSONLD.Place.t(),
      object: SEO.JSONLD.Thing.t() | map(),
      participant: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      provider: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      result: SEO.JSONLD.Thing.t() | map(),
      start_time: DateTime.t() | NaiveDateTime.t() | String.t() | Time.t(),
      target: URI.t() | String.t() | SEO.JSONLD.EntryPoint.t() | map(),
      additional_type: String.t() | URI.t(),
      alternate_name: String.t(),
      description: SEO.JSONLD.TextObject.t() | map() | String.t(),
      disambiguating_description: String.t(),
      identifier: String.t() | URI.t() | SEO.JSONLD.PropertyValue.t() | map(),
      image: URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(),
      main_entity_of_page:
        SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(),
      name: String.t(),
      owner: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      potential_action: SEO.JSONLD.Action.t() | map(),
      same_as: URI.t() | String.t(),
      subject_of: SEO.JSONLD.Event.t() | map() | SEO.JSONLD.CreativeWork.t(),
      url: URI.t() | String.t()
    ]

t()

@type t() :: %{required(String.t()) => term()}

A JSON-LD map ready to be nested or rendered. String-keyed, always includes "@type" set to "AuthorizeAction", plus any camelCased field keys the caller provided (see build/1). "@context" is added at render time by SEO.JSONLD.meta/1 on the top-level node only.

Functions

build(attrs)

@spec build(attrs()) :: t()

Build a AuthorizeAction JSON-LD map.

Fields

  • :recipient - A sub property of participant. The participant who is at the receiving end of the action.

Inherited properties

Additional properties are available through the inheritance chain. See each ancestor's docs for its properties: