Not to be confused with the CreateTokenController, this controller is used by the actor to manually create a developer type access token.

Not to be confused with the CreateAccessTokenController, this controller is used to authenticate a user with credentials, and return a system generated session-type access token.

Base model class, building on Eloquent.

Migration factory.

Models a discussion-user state record in the database.

The Conditional extender allows developers to conditionally apply other extenders based on either boolean values or results from callable functions.

Views are PHP files that use the Laravel Blade syntax for creation of server-side generated HTML.

This exception is thrown when someone attempts to disable an extension that other enabled extensions depend on.

This exception is thrown when someone attempts to enable an extension whose Flarum extension dependencies are not all enabled.

Implementation of the Laravel Application Contract, for the sake of better integration with Laravel packages/ecosystem.

Log caught exceptions to a PSR-3 logger instance.

A formatter for turning caught exceptions into "pretty" HTML error pages.

Handle errors using the Whoops error handler for debugging.

An exception that has a well-known meaning in a Flarum application.

A factory class for creating frontend asset compilers.

Used to copy JS files from a package directory to the assets' directory.

A view which renders a HTML skeleton for Flarum's frontend app.

Filters an access tokens request by the related user.

Catch exceptions thrown in a PSR-15 middleware stack and handle them safely.

Inspired by Illuminate\View\Middleware\ShareErrorsFromSession.

An interface for a mail service.

A notification BlueprintInterface, when instantiated, represents a notification about something. The blueprint is used by the NotificationSyncer to commit the notification to the database.

Models a notification record in the database.

The Notification Syncer commits notification blueprints to the database, and sends them via email depending on user preference. Where a blueprint represents a single notification, the syncer associates it with a particular user(s) and makes it available in their inbox.

A standard comment in a discussion.

A post which indicates that a discussion's title was changed.

A post that has the ability to be merged into an adjacent post.

Represents the criteria that will determine the entire result set of a query. The limit and offset are not included because they only determine which part of the entire result set will be returned.

Prepare settings for display in the client.

A settings repository decorator that allows overriding certain values.

An interface for a display name driver.

The default driver, which returns the user's username.

Unactivated users can request a confirmation email, this throttler applies a timeout of 5 minutes between confirmation requests.

Users can request an email change, this throttler applies a timeout of 5 minutes between requests.

Logged-in users can request password reset email, this throttler applies a timeout of 5 minutes between password resets.