26b/laravel-account-status

Laravel package for account statuses

v1.0.1 2022-05-18 16:33 UTC

This package is auto-updated.

Last update: 2024-05-12 13:52:35 UTC


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