Bonfire.API.MastoCompat.Schemas.Status (Bonfire v1.0.1-social-alpha.28)
View SourceMastodon Status entity schema definition.
Based on the Mastodon API OpenAPI spec (mastodon-openapi.yaml line 2047+). This module provides a single source of truth for Status field structure and defaults.
All fields match the current implementation in graphql_masto_adapter.ex
Summary
Functions
Returns the default values for all Status fields.
Returns a new Status map with default values. Can optionally merge custom values via the overrides parameter.
List of required fields per the Mastodon OpenAPI specification.
Validates that all required fields are present and non-nil. Returns {:ok, status} or {:error, missing_fields}.
Functions
Returns the default values for all Status fields.
These defaults match the exact values currently used in:
- build_minimal_status/6
- prepare_reblog/1
- prepare_fallback_status/2
- prepare_notification_post/2
Required fields (per Mastodon OpenAPI spec):
- id, uri, created_at, account, content
- visibility, sensitive, spoiler_text
- media_attachments (note: spec has typo "media_attachements")
- mentions, tags, emojis
- reblogs_count, favourites_count, replies_count
Optional fields:
- url, text, reblog, application, language
- muted, bookmarked, pinned, favourited, reblogged
- card, poll, in_reply_to_id, in_reply_to_account_id
- filtered
Returns a new Status map with default values. Can optionally merge custom values via the overrides parameter.
Examples
iex> Status.new(%{"id" => "123", "content" => "Hello"})
%{"id" => "123", "content" => "Hello", "visibility" => "public", ...}
List of required fields per the Mastodon OpenAPI specification.
Validates that all required fields are present and non-nil. Returns {:ok, status} or {:error, missing_fields}.