26b / laravel-account-status
Laravel package for account statuses
Installs: 1 520
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 1
Requires
- php: ^7.4 || ^8.0
- illuminate/config: ^8.0 || ^9.0
- illuminate/support: ^8.0 || ^9.0
- spatie/laravel-package-tools: ^1.11
README
Configurable statuses for your user accounts.
- Handle access to application conditionally.
- Artisan command to toggle status for given user.
- Artisan command to activate X accounts.
Getting started
Require the package
composer require 26b/laravel-account-status
To setup your database using the builtin migration.
php artisan vendor:publish --tag=account-status-migrations
php artisan migrate
Now that you have migrated, you might want to set your existing users to the ACTIVE
state. You can do this X at a time.
php artisan account-status:activate 100
Usage
To protect your routes and redirect to the account status page you can add the builtin middleware to your kernel or individually to your routes.
\TwentySixB\LaravelAccountStatus\Http\Middleware\EnsureAccountActive::class,
Commands
Toggle
You can change the status for a given user ID
like this.
php artisan account-status:toggle ID SUSPENDED
Activate
When you have, for example, QUEUED
users you can change their status to ACTIVE
by running the command
php artisan account-status:activate 50
Factories
You can add some states to your factories to test your app.
$user = User::factory()->queued()->make();
use TwentySixB\LaravelAccountStatus\AccountStatus; ... /** * Indicate that the model's is in a queued state. * * @return \Illuminate\Database\Eloquent\Factories\Factory */ public function queued() { return $this->state( function (array $attributes) { return [ 'status' => AccountStatus::QUEUED, ]; } ); }
Customizing
Publish the configuration file should you need to customise it.
php artisan vendor:publish --tag=account-status-config
To customize the "account blocked template" you can publish the views and change them at your will.
php artisan vendor:publish --tag=account-status-views