orisintel/laravel-process-stamps

Logs which process created or modified a record

v3.3.0 2021-04-05 17:39 UTC

README

Latest Version on Packagist Build Status Total Downloads

It is sometimes very useful to know which process created or modified a particular record in your database. This package provides a trait to add to your Laravel models which automatically logs that for you.

Installation

You can install the package via composer:

composer require orisintel/laravel-process-stamps

Configuration

php artisan vendor:publish --provider="\OrisIntel\ProcessStamps\ProcessStampsServiceProvider"

Running the above command will publish both the migration and the config file.

Usage

After adding the proper fields to your table, add the trait to your model.

// User model
class User extends Model
{
    use ProcessStampable;

Next, create a migration for your table and include the following:

$table->processIds();

To specify your own foreign key or index names, include the following options:

$table->processIds([
    'created_index_name' => 'custom_created_index_name',
    'updated_index_name' => 'custom_updated_index_name',
    'created_foreign_key_name' => 'custom_created_foreign_key_name',
    'updated_foreign_key_name' => 'custom_updated_foreign_key_name',
    ]);

That will generate the nessesary field names to track processes.

Testing

composer test

Using Docker

All assets are set up under the docker-compose.yml file. The first time you run the docker image you must build it with the following command:

docker-compose build

Then you can bring it up in the background using:

docker-compose up -d

And the image is aliased so you can access its command line via:

docker exec -it processes-stamp-app /bin/bash

From there you can run the tests within an isolated environment

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email opensource@orisintel.com instead of using the issue tracker.

Credits

License

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