Remove use of submissionCreate from entity audit event #932
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.
Frontend part of issue getodk/central-backend#1036 and backend PR getodk/central-backend#1072.
It used to be that entity events that were triggered by a Submission (e.g. entity create OR update) would return
sourceEvent
(the actual event that caused the entity update, whether it was a submission approval, or submission creation, etc.)submission
(the Submission object, but only if a Submission was part of the event AND the Submission was not deleted)submissionCreate
object for the Submission (if a Submission was part of the event) that had enough historical information including the creation time and instance ID to describe the Submission even if it was deleted.The big change for getodk/central-backend#1072 was to remove
submissionCreate
and always return some kind of Submission object, either the full details, or the instance ID, submitter, and timestamp.Flavors of frontend changes:
submissionCreate
to know if the event was related to a submission to just looking forsubmission
.submission
to know the submission was not deleted to looking forsubmission.currentVersion
submission
andevent
are contained within an entity audit event'sdetails
nested undersource
and all entity events have a source, though if its an API event, the source is just{}
Basic details of an Entity shows the source submission, and because this isn't returned with the Entity itself (though maybe it should be), the basic details component waits for the audit log and checks the entity's creation event for a source submission.
What has been done to verify that this works as intended?
Tests.
I was thinking about refactoring tests to have more of them use
extendedEntities.createSourceSubmission
but existing tests have such specific setups I was finding it hard to refactor.Why is this the best possible solution? Were any other approaches considered?
We've long talked about removing this event detail and using different information instead.
How does this change affect users? Describe intentional changes to behavior and behavior that could have accidentally been affected by code changes. In other words, what are the regression risks?
Could change how entity events appear on frontend, but it shouldn't.
Does this change require updates to user documentation? If so, please file an issue here and include the link below.
Before submitting this PR, please make sure you have:
npm run test
andnpm run lint
and confirmed all checks still pass OR confirm CircleCI build passes