Exosphere.Bsky.Labeler.Service (Exosphere v0.5.0)

Copy Markdown View Source

Record schema app.bsky.labeler.service.

Fields

  • created_at: string, format datetime
  • labels: union
  • policies: ref app.bsky.labeler.defs#labelerPolicies
  • reason_types: The set of report reason 'codes' which are in-scope for this service to review and action. These usually align to policy categories. If not defined (distinct from empty array), all reason types are allowed.
  • subject_collections: Set of record types (collection NSIDs) which can be reported to this service. If not defined (distinct from empty array), default is any record type.
  • subject_types: The set of subject types (account, record, etc) this service accepts reports on.

Summary

Functions

Decode a wire-format map. Delegates to new/1.

Build and validate from a map of attrs (atom or wire string keys).

Build and validate, raising ArgumentError on error.

Encode to the wire-format map. Record schemas include "$type".

The lexicon type ID (nsid or nsid#def) this module was generated from.

Types

t()

@type t() :: %Exosphere.Bsky.Labeler.Service{
  created_at: String.t(),
  extra: term(),
  labels: Exosphere.ATProto.Label.Defs.SelfLabels.t() | map() | nil,
  policies: Exosphere.Bsky.Labeler.Defs.LabelerPolicies.t(),
  reason_types: [term()] | nil,
  subject_collections: [String.t()] | nil,
  subject_types: [term()] | nil
}

Functions

from_map(map)

@spec from_map(map()) ::
  {:ok, t()} | {:error, [{path :: String.t(), message :: String.t()}]}

Decode a wire-format map. Delegates to new/1.

new(attrs)

@spec new(map()) ::
  {:ok, t()} | {:error, [{path :: String.t(), message :: String.t()}]}

Build and validate from a map of attrs (atom or wire string keys).

Unknown keys are kept in extra and re-emitted by to_map/1.

new!(attrs)

@spec new!(map()) :: t()

Build and validate, raising ArgumentError on error.

to_map(struct)

@spec to_map(t()) :: map()

Encode to the wire-format map. Record schemas include "$type".

type_id()

@spec type_id() :: String.t()

The lexicon type ID (nsid or nsid#def) this module was generated from.