openwisp / openwisp/openwisp-controller
[feature] REST API should store revisions with django-reversion
@dee077 is already working on this.
Since Sep 6, 2025.
- Dominant language
- Python
- Stars
- 773
- Forks
- 315
- Avg merge
- 2d 16h
- Merged PRs (30d)
- 14
Description
Is your feature request related to a problem? Please describe.
It seems to me that changing objects via the REST API, like devices or templates , which in the admin are monitored via django-reversion, doesn't store revisions.
Therefore if a device is changed via the API, there's no way to rollback changes, nor know who changed the object.
Describe the solution you'd like
Ideally, for each model which supports reversion in the admin, we would need to add equivalent features for the REST API:
- A way to save a revision (and the related user who created the revision) whenever a change is made via PUT/PATCH
- An endpoint that lists the revisions
- An endpoint which allows to inspect a revision
- A way to restore a revision
Describe alternatives you've considered
There may be third party open source tools we can use, otherwise we can add our own logic in openwisp-utils and start rolling this feature out in the main modules.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.