feat: Add filtering capabilities in events change log [DHIS2-18012] #19268
+246
−17
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.
This PR introduces filtering for change logs. These filters differ slightly from the ones we currently use:
Another key difference is that while our current filters are UID based, these new filters are string based.
Although the only supported operator is
eq
, I’ve retained the filter format [field]:[operator]:[filter] used in other endpoints. This way, I've we need to support additional operators in the future, it won’t require a breaking change.validateFilter(String, Set<String>)
is used only for event change logs, but it will be used for attributes as soon as we refactor those change logs, that's why I added it toRequestParamsValidator
Note: ACL validation for data elements is not yet implemented. I will address this in a separate ticket once we decide how data sharing validation on data elements should be handled.