Always require an actor_id to identify the user who caused a specific event in a channel's history. #4615
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Description of the change(s) you made
Requires any edits to a channel that changed its soft deletion status or creation of a channel to pass the user_id for the user to whom that change should be attributed.
Consolidates all channel history creation and management onto the Channel model.
Adds and updates tests for the channel history.
Updates every instance in the code base that requires the new actor_id parameter.
This does not ensure history is created by queryset updates, or bulk model creation. Neither are used in our backend for channels, and it would be considerably involved to implement.
Locks down all API endpoints to by default only support GET methods (detail and list). Add specific behaviour for those that need to use the REST API for specific actions, and ensure that relevant change events are created.
Updates all tests to reflect this change in the API.
Manual verification steps performed
Tests written to ensure behaviour.
Reviewer guidance
How can a reviewer test these changes?
If the tests pass this should be good to go - I've left it as a draft for now in case I missed anything.
See issue below.
References
Fixes #4148
Comments
Contributor's Checklist
PR process:
CHANGELOGlabel been added to this PR. Note: items with this label will be added to the CHANGELOG at a later timedocslabel has been added if this introduces a change that needs to be updated in the user docs?requirements.txtfiles also included in this PRStudio-specifc:
notranslateclass been added to elements that shouldn't be translated by Google Chrome's automatic translation feature (e.g. icons, user-generated text)pages,components, andlayoutsdirectories as described in the docsTesting:
Reviewer's Checklist
This section is for reviewers to fill out.
yarnandpip)