Skip to content

[feature] REST API should store revisions with django-reversion #894

@nemesifier

Description

@nemesifier

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.

Metadata

Metadata

Assignees

Type

No type

Projects

Status

In progress

Status

In progress

Status

Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions