itutu-media/laravel-make-user

Create a new user with Artisan

2.1.0 2023-12-20 01:59 UTC

README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

Dependencies

  • Spatie Permission package (optional) If you want to use the --superuser or --roles options, make sure the Spatie Permission package is installed and configured in your Laravel application.

Installation

You can install the package via composer:

composer require itutu-media/laravel-make-user

You can publish the config file with:

php artisan vendor:publish --tag="laravel-make-user-config"

This is the contents of the published config file:

return [
  'super_admin_role_name' => env('SUPER_ADMIN_ROLE_NAME', 'Super Admin'),
  'rules' => [
    'name' => 'required|string|max:255',
    'email' => 'required|string|email|max:255|unique:users',
    'password' => 'required|string|min:8|regex:/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).+$/',
  ],
];

Configuration

Open file config/make-user.php and change the rules based on your needs for the new user.

Usage

Once installed, you can use the make:user command to create a new user. Here's an example:

php artisan make:user

Command Options

The make:user command supports the following options:

--superadmin (-S): Assign the superadmin role to the new user. Requires the Spatie\Permission\Traits\HasRoles trait to be added to the User model.

--roles (-R): Assign roles to the new user. Requires the Spatie\Permission\Traits\HasRoles trait to be added to the User model.

- Super Admin

To use the --superadmin option, you need to set the super_admin_role_name value in the config/make-user.php file. Here's an example of using the make:user command with the --superadmin option:

php artisan make:user --superuser

- Roles

Here's an example of using the make:user command with the --roles options:

php artisan make:user --role

This will prompt you to enter values for fillable nullable columns and select the roles to assign to the new user.

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.