An open API service indexing awesome lists of open source software.

https://github.com/py-package/masonite-audit

Keep track of all your model changes with ease.
https://github.com/py-package/masonite-audit

masonite python

Last synced: 2 months ago
JSON representation

Keep track of all your model changes with ease.

Awesome Lists containing this project

README

        

# Masonite Audit




GitHub Workflow Status
PyPI
issues
Python Version
GitHub release (latest by date including pre-releases)
License
star
downloads
Code style: black

## Introduction

Keep track of all your model changes with ease.

## Getting Started

Install the package using pip:

```bash
pip install masonite-audit
```

Add AuditProvider to your project in `config/providers.py`:

```python
# config/providers.py
# ...
from masonite_audit import AuditProvider

# ...
PROVIDERS = [
# ...
# Third Party Providers
AuditProvider,
# ...
]
```

Publish the package configuration files.

```bash
python craft package:publish masonite-audit
```

This will add migrations and other `masonite-audit` related configuration to your project. Run your migrations to create the related database tables.

```bash
python craft migrate
```

Finally, inherit `Audit` mixin into all the models for which you need audit logging.

```python
from masonite_audit.mixins import Audit
class YourModel(Audit):
pass
```

If you want to get the audit history for a model, you can use the `history` method:

```python
user = User.find(1)
user.history()
```

In order to rollback to previous versions of a model, you can use the `rollback` method:

```python
user = User.find(1)
user.rollback() # to rollback to previous version
# or
user.rollback(step=4) # to rollback to version 4
```

## License

Masonite Audit is open-sourced software licensed under the [MIT license](LICENSE).