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.
Resolves a registration token submitted in the POST body and returns the non-sensitive fields needed to pre-populate the sign-up modal.
This is directed at eager loading relationships apart from the request includes.
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.
Some models, in particular Discussion and CommentPost, are intended to support a "private" mode, wherein they aren't visible unless some criteria is met. This can be used to implement anything from private discussions to post approvals.
Model visibility scoping allows us to scope queries based on the current user.
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.
A trait to add formatted content to a model.
Post search results.
Maintenance login view.
Implementation of the Laravel Application Contract, for the sake of better integration with Laravel packages/ecosystem.
An error that was caught / interpreted by Flarum's error handling stack.
A formatter to render exceptions as valid {JSON:API} error object.
Log caught exceptions to a PSR-3 logger instance.
Flarum's central registry of known error types.
A formatter for turning caught exceptions into "pretty" HTML error pages.
Handle errors using the Whoops error handler for debugging.
The "application booted" event is fired after the application has finished booting and all extension boot callbacks have been run, but before any requests have been handled.
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 token type.
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.
Stub implementation of Laravel's Log Context Repository.
An interface for a mail service.
The notification Alert driver only picks up notifications that implement this interface.
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.
The default driver, which returns null when no uploaded avatar exists.
An interface for an avatar driver.
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.