View Source API Reference Mobilizon v5.0.0-beta.1
Modules
Mobilizon is a decentralized and federated Meetup-like using ActivityPub.
The Activities context.
Any activity for users
The Actors context.
Represents an actor (local and remote).
Represents a local bot.
Represents the following of an actor to another actor.
Represents the membership of an actor to a group.
Represents metadata on a membership
The Addresses context.
Represents an address for an event or a group.
The Admin context.
Represents an action log entity.
A Key-Value settings table for basic settings
A Key-Value settings table for media settings
The Applications context.
Module representing an application
Module representing a application device activation
Module representing an application token
This module defines test helpers for creating
entities via the Mobilizon.Applications
context.
CLI wrapper for releases
Provides the core functions to retrieve and manage the CLDR data that supports formatting and localisation.
Parses HTTP Accept-Language
header values as defined in
rfc2616.
Data functions to retrieve localised calendar information.
Interval formats allow for software to format intervals like "Jan 10-12, 2008" as a shorter and more natural format than "Jan 10, 2008 - Jan 12, 2008". They are designed to take a start and end date, time or datetime plus a formatting pattern and use that information to produce a localized format.
Manages the Date, TIme and DateTime formats defined by CLDR.
Implements the compilation and execution of date, time and datetime formats.
Interval formats allow for software to format intervals like "Jan 10-12, 2008" as a shorter and more natural format than "Jan 10, 2008 - Jan 12, 2008". They are designed to take a start and end date, time or datetime plus a formatting pattern and use that information to produce a localized format.
Interval formats allow for software to format intervals like "Jan 10-12, 2008" as a shorter and more natural format than "Jan 10, 2008 - Jan 12, 2008". They are designed to take a start and end date, time or datetime plus a formatting pattern and use that information to produce a localized format.
Backend module that provides functions to define new locales and display human-readable locale names for presentation purposes.
Formats numbers and currencies based upon CLDR's decimal formats specification.
Implements cardinal plural rules for numbers.
Functions to manage the collection of number patterns defined in Cldr.
Implements ordinal plural rules for numbers.
Implements plural rules for ranges
Transliteration for digits and separators.
Functions to implement the number system rule-based-number-format rules of CLDR.
Functions to implement the ordinal rule-based-number-format rules of CLDR.
Functions to implement the spellout rule-based-number-format rules of CLDR.
Interval formats allow for software to format intervals like "Jan 10-12, 2008" as a shorter and more natural format than "Jan 10, 2008 - Jan 12, 2008". They are designed to take a start and end date, time or datetime plus a formatting pattern and use that information to produce a localized format.
Configuration wrapper.
Module to provide configuration from a custom file
The conversations context
Represents a conversation
Represents a conversation participant
Represents a conversation view for GraphQL API
Utility module which contains cryptography related functions.
This module defines the setup for tests requiring access to the application's data layer.
The discussions context
Represents an actor comment (for instance on an event or on a group).
Represents a discussion
Module to generate the slug for discussions
This module represent the auto-generated Ecto.Type
for slug-field.
The Events context.
Module that handles event categories
Represents an event.
Participation stats on event
Represents an event offer.
Represents an event options.
Participation stats on event
Represents an event participation condition.
Represents a token for a feed of events.
Represents a participant, an actor participating to an event.
Participation stats on event
Represents a session for an event (such as a talk at a conference).
Represents a tag for events.
Generates slugs for tags.
This module represent the auto-generated Ecto.Type
for slug-field.
Represents a tag relation.
Represents a track for an event (such as a theme) having multiple sessions.
Utils related to events
Manage exported files
Factory for fixtures with ExMachina.
The ActivityPub context.
Accept things
Announce things
Create things
Delete things
Delete things
Follow people
Invite people to things
Join things
Leave things
Move things
Reject things
Remove things
Update things
Represents an activity.
Module to handle ActivityPub Actor interactions
Tools for calculating content audience
Handle federated activities
Module to handle direct URL ActivityPub fetches to remote content
Module to check group members permissions on objects
Module to ensure entities are correctly preloaded
Handle publishing activities
Module that provides functions to explore and fetch collections on a group
Handles following and unfollowing relays and instances.
A module to handle coding from internal to wire ActivityPub and back.
ActivityPub entity behaviour
ActivityPub entity Managable protocol.
ActivityPub type handler for Todos
Various ActivityPub related utils.
Utility functions related to content visibility
The ActivityStream Type
Converter behaviour.
Actor converter.
Address converter.
Comment converter.
Comment converter.
Comment converter.
Event converter.
Module to convert and validate event metadata
Flag converter.
Participant converter.
Media converter.
Member converter.
Participant converter.
Post converter.
Resource converter.
TodoList converter.
TodoList converter.
Comment converter.
Various utils for converters.
Convertible protocol.
Adapter for the HTTPSignatures
lib that handles signing and providing public keys to verify HTTPSignatures
Performs NodeInfo requests
Performs the WebFinger requests and responses (JSON only).
Extremely basic XML encoder. Builds XRD for WebFinger host_meta.
Provide recent elements from groups that profiles follow
API for discussions and comments.
API for Events.
Common API for following, unfollowing, accepting and rejecting stuff.
API for Groups.
Common API to join events and groups.
API for Reports.
API for search.
Utils for API.
Absinthe helpers for tests
Check authorizations
Module referencing all scopes usable in the Mobilizon API
Module to handle errors in GraphQL
Absinthe Error Handler
Absinthe Error Handler
An Absinthe middleware to add to logging providers the GraphQL Operation name as context
Handles the activity-related GraphQL calls.
Handles the group-related GraphQL calls.
Handles the comment-related GraphQL calls
Handles the report-related GraphQL calls.
Handles the Application-related GraphQL calls.
Handles the comment-related GraphQL calls.
Handles the config-related GraphQL calls.
Handles the group-related GraphQL calls.
Handles the group-related GraphQL calls.
Handles the event-related GraphQL calls.
Tools to test permission on events
Handles the feed tokens-related GraphQL calls.
Handles the followers-related GraphQL calls.
Handles the group-related GraphQL calls.
Handles the media-related GraphQL calls
Handles the member-related GraphQL calls
Handles the participation-related GraphQL calls.
Handles the person-related GraphQL calls
Handles the posts-related GraphQL calls
Handles the push subscriptions-related GraphQL calls.
Handles the report-related GraphQL calls.
Handles the resources-related GraphQL calls
Handles the event-related GraphQL calls
Handles the statistics-related GraphQL calls.
Handles the tag-related GraphQL calls
Handles the todos related GraphQL calls
Handles the user-related GraphQL calls.
Handles the user activity settings-related GraphQL calls.
GraphQL schema representation.
Schema representation for Activity
Schema representation for Actor
Schema representation for Group.
Schema representation for Follower
Schema representation for Group.
Schema representation for Member
Schema representation for Person
Schema representation for Address
Schema representation for ActionLog.
Schema representation for an auth application
Schema representation for User
Schema representation for conversation
Register extra enum types dynamically
The geom scalar type allows Geo.PostGIS.Geometry strings to be passed in and out.
Requires {:geo, "~> 3.0"},
package: https://github.com/elixir-ecto/ecto
The timezone scalar type allows timezone ID strings to be passed in and out.
The UUID4 scalar type allows UUID compliant strings to be passed in and out.
Requires { :ecto, ">= 0.0.0" }
package: https://github.com/elixir-ecto/ecto
Schema representation for Comment
Schema representation for discussion
Schema representation for Event.
Schema representation for Participant.
Schema representation for Participant.
Schema representation for a follow activity
Schema representation for Medias
Schema representation for Posts
Schema representation for User
Schema representation for Resources
Schema representation for Search
Allows sorting a collection of elements
Schema representation for Statistics
Schema representation for Tags
Schema representation for Todo Lists
Schema representation for Todos
Schema representation for User
Schema representation for PushSubscription
Schema representation for PushSubscription
The instances context
An instance representation
An instance actor
The Media context.
Represents a file entity.
Represents a media entity.
Represents a media metadata
The Mentions context.
The Posts context.
Module that represent Posts published by groups
Module to generate the slug for posts
This module represent the auto-generated Ecto.Type
for slug-field.
Port to use Python modules from Elixir
Genserver to handle an instance of Python handling the calls to Mobilizon.PythonPort
.
The Reports context.
Represents a note entity.
Represents a report entity.
The Resources context.
Represents a web resource
Represents a resource metadata
Behavior for Activity creators
Insert a comment activity
Insert a conversation activity
Insert a discussion activity
Insert an event activity
Insert a group setting activity
Insert a member activity
Insert an event activity
Insert an post activity
Behavior for Activity renderers
Insert a comment activity
Render a conversation activity
Insert a comment activity
Insert an event activity
Insert a comment activity
Insert a comment activity
Insert a comment activity
Insert a comment activity
Insert an resource activity
Utils for activities
Handle actor suspensions
Module to render an Mobilizon.Addresses.Address
struct to a string
Module to load the service adapter defined inside the configuration.
Validate user data
Mock for Anti-spam Provider implementations.
Provider Behaviour for anti-spam detection.
Module to handle applications management
Module to handle authentification (currently through database or LDAP)
Authenticate Mobilizon users through LDAP accounts
Authenticate Mobilizon users through database accounts
Service to clean old activities
Service to clean orphan media
Service to clean unconfirmed users
Provide some helpers to configuration files
Module to represent a datetime in a given locale
Render an error page
Module to load and configure error reporting adapters
Sentry adapter for error reporting
Behavior that export modules that use caching should implement
Common tools for exportation
Serve Atom Syndication Feeds.
Export an event to iCalendar format.
Export a list of participants to CSV
Common functions for managing participants export
Export a list of participants to ODS
Export a list of participants to PDF
Formats input text to structured data, extracts mentions and hashtags.
Custom strategy to filter HTML content.
Service to filter tags out of HTML content.
Custom strategy to filter HTML content in OEmbed html
Helps to format text blocks
Behaviour for any analytics service
Matomo analytics provider
Plausible analytics provider
Sentry analytics provider
Module to load the service adapter defined inside the configuration.
Addok backend.
Google Maps Geocoding service. Only works with addresses.
Hat backend.
Mock for Geospatial Provider implementations.
Provider Behaviour for Geospatial stuff.
Module to load the service adapter defined inside the configuration.
The structure holding search result information about an event
The structure holding search result information about a group
Provider Behaviour for Global Search.
Various guards
Tesla HTTP Client that is preconfigured to get and post ActivityPub content
Tesla HTTP Client that is preconfigured to get JSON content
Tesla HTTP Basic Client with JSON middleware
Tesla HTTP Basic Client with XML middleware
Tesla HTTP Basic Client that fetches HTML to extract metadata preview
Tesla HTTP Basic Client that fetches HTML to extract metadata preview
Utils for HTTP operations
Tesla HTTP Basic Client with JSON middleware
Detect the language of the event
Service that allows producing metadata HTML tags about content
Generates metadata for every other page that isn't event/actor/comment
Tools to convert tags to string.
Allows to insert jobs
Behaviour for notifiers
Email notifier
Module to filter activities to notify according to user's activity settings
WebPush notifier
Module to load the service adapter defined inside the configuration.
The structure holding information about a picture
Provider Behaviour for pictures stuff.
Module to fetch favicon information from a website
Module to parse data in HTML pages
Module to parse fallback data in HTML pages (plain old title and meta description)
Module to parse meta tags data in HTML pages
Module to parse OEmbed data in HTML pages
Module to parse OpenGraph data in HTML pages
Module to parse Twitter tags data in HTML pages
Generates a sitemap
A module that provides cached statistics
Detect the timezone from a point
Given an application and a key, execute the plug if the configured value matches the expected value. Usage
Worker to insert activity items in users feeds
Worker to perform various actions in the background
Worker to build search results
Worker to build sitemap
Worker to send activity recaps
Worker to clean old activity
Worker to clean orphan media
Worker to clean suspended actors
Worker to clean unattached media
Worker to send notifications about an event changes a while after they're performed
Worker to clean exports
Tools to ease dealing with workers
Worker to push legacy notifications
Worker to send notifications
Worker to build sitemap
Worker to refresh the instances materialized view and the relay actors
Worker to refresh the participant event stats based on participants data
Worker to send activity recaps
Holds the list of shares made to external actors
Helper module for custom PostgreSQL functions
Mobilizon Ecto utils
Module for pagination of queries.
SQL code for PostgreSQL instances materialized view
Helpers for use in tests.
Assertions for emails.
The Todos context.
Represents a todo, or task
Represents a todo list, or task list
Represent tombstones for deleted objects. Saves only URI
The Users context.
Module to manage users settings
Guards for users
Represents informations about a push subscription for a specific user
Module to manage users settings
Represents user location information
Represents a local user.
The entrypoint for defining your web interface, such as controllers, views, channels and so on.
View for our the API terms
Guardian context for Mobilizon.Web
In case we have an auth error
Handles the JWT tokens encoding and decoding
Handles the app sessions
View for the auth routes
Facade module which provides access to all cached data.
ActivityPub related cache.
This module defines the test case to be used by channel tests.
This module defines the test case to be used by tests that require setting up a connection.
The Email context.
Handles emails sent about activity notifications.
Handles emails sent about actors status.
Handles emails sent to admins.
Provides a function to test emails against a "not so bad" regex.
Handles emails sent about events.
Handles emails sent about (instance) follow.
Handles emails sent about group changes.
Mobilizon Mailer.
Handles emails sent about group members.
Handles emails sent about event notifications.
Handles emails sent about participation.
Handles emails sent to users.
Endpoint for Mobilizon app
Conveniences for translating and building error messages.
View for errors
Controller to serve exported files
Translates controller action results into valid Plug.Conn
responses.
Controller to serve RSS, ATOM and iCal Feeds
A module providing Internationalization with a gettext-based API.
Module to proxify remote media
Controller to load our webapp
View for our webapp
Runtime configuration for plugs
Plug to set locale for Gettext
Restrict ActivityPub routes when not federating
A plug to setup some HTTP security-related headers, like CSP
Plug to check HTTP Signatures on every incoming request
Get actor identity from Signature when handing fetches
Plug to set locale for Gettext
Serves uploaded media files
Module to put some context into the request
A reverse proxy.
Router for mobilizon app
Manage user uploads
Upload Filter behaviour
Extracts metadata about the upload, such as width/height
Replaces the original filename with a pre-defined text or randomly generated string.
Computes blurhash from the upload
Names the file after its hash to avoid dedupes
Strips GPS related EXIF tags and overwrites the file in place. Also strips or replaces filesystem metadata e.g., timestamps.
Handle mogrify transformations
Handle media optimizations
Resize the pictures if they're bigger than maximum size.
Returns the mime-type of a binary and optionally a normalized file-name.
Defines the contract to put and get an uploaded file to any backend.
Local uploader for files
Utils for views
Handles Webfinger requests
Mix Tasks
Tasks to manage actors
Task to delete an actor
Task to create a new user
Task to display an actor details
Task to display an actor details
Tools for generating usernames from display names
Common functions to be reused in mix tasks
Creates a bot from a source.
Provides tools for Ecto-related tasks (such as migrations)
Changes Logger
level to :info
before start migration.
Changes level back when migration ends.
Changes Logger
level to :info
before start rollback.
Changes level back when rollback ends.
Tasks to manage groups
Task to refresh an actor details
Generates a new config
Tasks to maintain mobilizon
Task to scan all profiles and events against spam detector and report them
Task to send an email to check if the configuration is running properly
Tasks to manage media
Task to accept an instance follow request
Manages remote relays
Task to accept an instance follow request
Task to follow an instance
Task to refresh an instance details
Task to unfollow an instance
Task to generate a new Sitemap
Changes Logger
level to :info
before downloading.
Changes level back when downloads ends.
Tasks to manage users
Clean unconfirmed users
Task to delete a user
Task to modify an existing Mobilizon user
Task to create a new user
Task to display an user details
Task to generate WebPush configuration