narcisonunez/laravel-scripts

1.0.1 2021-03-28 05:01 UTC

This package is auto-updated.

Last update: 2024-10-28 12:39:19 UTC


README

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

Banner image

Laravel Scripts allows you to create scripts and manage if that script can run or not.

Installation

You can install the package via composer:

composer require narcisonunez/laravel-scripts

You can publish and run the migrations with:

php artisan vendor:publish --provider="Narcisonunez\LaravelScripts\LaravelScriptsServiceProvider" --tag="scripts-migrations"
php artisan migrate

Terminal Usage

###Create a script Use the --force option to override the existing class

php artisan scripts:make ScriptName

###Features You can customize the script by overriding the following properties:

  • Numbers of times you can run the script.
/**
 * @var int
 */
public int $allowedRuns = 1;

This will ensure you are only running a script one time. By default, It is unlimited (0)

  • Run the script inside a transaction.
/**
 * @var bool
 */
public bool $runAsTransaction = true;

This will eun you run method inside a transaction. By default, It is false.

  • Numbers of times you can run the script.
/**
* @var array
*/
public array $dependenciesValues = [
    'email : The email for the notification',
    'name? : Name of the person running the script',
    'role?'
];

The format for the dependencies is: fieldName : Description. Using ? in the fieldName will make it optional

You can access this values in your script class using $this->dependencies->fieldName

###Run a script

php artisan scripts:run ScriptName

Use the --interactive option to use your depencenciesValues. This will ask you to enter all the values dynamically.

You can access this values in your script class using $this->dependencies->fieldName

###See history

php artisan scripts:history [--limit=30] [--script=ScriptName]

By default --limit is set to 10

UI Usage

Add this line to the routes/web.php file

Route::laravelScripts('scripts');

Go to your browser /scripts to access the Administration.

  • You are not able to create scripts from the UI.

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.