View Source API Reference Bonfire v0.9.10-cooperation-beta.108

Modules

ActivityPub Library for elixir.

An ActivityPub Actor type and functions for dealing with actors.

Contract for ActivityPub module adapters

Handles fetching AS2 objects from remote instances.

Module for building and performing HTTP requests.

Specifies connection options for HTTP requests

Rate limit middleware for Tesla using Hammer Based on TeslaExtra.RateLimit and TeslaExtra.RetryAfter

Helper functions for building HTTP requests

Takes into account the Retry-After header returned by the server when the rate limit is exceeded.

Defines the contract used by federation implementations to publish messages to their peers.

This module normalises outgoing data to conform with AS2/AP specs and handles incoming objects and activities

Serves and fetches data (mainly actor URI) necessary for federation when only the username and host is known.

Helpers for workers to use

Instances context.

Filter activities depending on their origin instance

Prunes objects from the database.

The worker to prune old data from the database.

Contains queries for Object.

This module contains some useful functions for containing objects to specific origins and determining those origins. They previously lived in the ActivityPub Transformer module.

Handles RSA keys for Actors & helpers for HTTP signatures

Implementation for behaviour from HTTPSignatures library

Misc functions used for federation

The entrypoint for defining your web interface, such as controllers, views, channels and so on.

Endpoints for serving objects and collections, so the ActivityPub API can be used to read information from the server.

Conveniences for translating and building error messages.

Standard error view

Endpoints for the ActivityPub inbox

Ensures HTTP signature has been validated by previous plugs on ActivityPub requests.

An extension for Bonfire that handles

A mixin used to record parent/child relationships between categories (eg. a topic that belongs to a group) and between objects and categories (eg. a post was published in a topic)

File management extension for Bonfire.

Saves uploaded files as attachments to the post.

Fetch and save metadata of URLs

Uploader for larger images, for example, a profile page banner.

Extension to Waffle.Definition, adding support for checking against media types parsed through magic bytes instead of file extensions, which can be modified by the user.

Uploader for larger images, for example, a profile page banner.

Resizes images at compile time (when possible) or runtime

Bonfire.Label is a powerful and flexible extension designed to enhance content moderation and improve online safety. Inspired by the design principles outlined by Prosocial Design (specifically the Label Misleading Content & Add Links to Reliable Related Content pattern), this library enables the addition of custom labels and descriptions to user-generated posts.

Creates a changeset for publishing a page

Runs at compile-time to include dynamic strings (like verb names and object types) in localisation string extraction.

An extension to enable

An extensions for asking questions, collecting options, and conducting ranked voting on Bonfire

Creates a changeset for publishing choice(s) for a question

Creates a changeset for publishing a page

A way to have data seeds that work similarly to migrations.

An extension for Bonfire that handles

A mixin used for adding tags to an object

Runs ecto migrations automatically on startup (add this to your app's supervision tree)

A behaviour implemented by our data migrations (generally backfills).

Configuration for a DataMigration behaviour module, used by the DataMigration.Runner.

Runs a DataMigration

A custom Ecto type for handling the serialization of arbitrary data types stored as binary data in the database. Requires the underlying DB field to be a binary.

A custom Ecto type for handling the serialization of arbitrary data types stored as JSON data in the database. Requires the underlying DB field to be :map (eg. JSONB field).

Log Ecto queries, and output warnings for slow or possible n+1 queries

Checks a query against the previous one and increments counter of collisions or swaps previous query with the last one.

Provides functions for sanitising input on Ecto.Changeset string fields.