Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RESTWS-923: Filter out retired forms in /forms endpoint #592

Merged
merged 2 commits into from
Nov 2, 2023

Conversation

alaboso
Copy link
Contributor

@alaboso alaboso commented Oct 30, 2023

Description of what I changed

Issue I worked on

see https://issues.openmrs.org/browse/RESTWS-923

Checklist: I completed these to help reviewers :)

  • [x ] My IDE is configured to follow the code style of this project.

    No? Unsure? -> configure your IDE, format the code and add the changes with git add . && git commit --amend

  • I have added tests to cover my changes. (If you refactored
    existing code that was well tested you do not have to add tests)

    No? -> write tests and add them to this commit git add . && git commit --amend

  • [ x] I ran mvn clean package right before creating this pull request and
    added all formatting changes to my commit.

    No? -> execute above command

  • [x ] All new and existing tests passed.

    No? -> figure out why and add the fix to your commit. It is your responsibility to make sure your code works.

  • [x ] My pull request is based on the latest changes of the master branch.

    No? Unsure? -> execute command git pull --rebase upstream master

String retiredQueryParam = context.getParameter("retired");
Boolean retired = null;
if (retiredQueryParam != null) {
retired = Boolean.parseBoolean(retiredQueryParam);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For retired, use context.getIncludeAll()

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This would include voided/retired in the result set
According to the implementation,

  • If retired is null (retired request parameter is not provided) then all forms retired and non-retired are returned.

  • If retired is not null and evaluates to true, only retired forms are retrieved. *?

  • If retired is not null and evaluates to false, only non-retired forms are retrieved.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What i mean is that a REST call which has ?includeAll=false would exclude retired forms if your code just used context.getIncludeAll()

…xt.getIncludeAll for when retired forms are to be included in response
@@ -194,7 +197,11 @@ protected NeedsPaging<Form> doGetAll(RequestContext context) throws ResponseExce
*/
@Override
protected NeedsPaging<Form> doSearch(RequestContext context) {
return new NeedsPaging<Form>(Context.getFormService().getForms(context.getParameter("q"), false), context);
String fuzzyName = context.getParameter("q");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You do not even need these variables. You can just directly use the context calls in the getForms API

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

True, but to be readable and easy to understand at a glance I thought of extracting the to variables.

@dkayiwa
Copy link
Member

dkayiwa commented Nov 2, 2023

It would also be great if you added a test for this. But nevertheless, i will merge it. :)

@dkayiwa dkayiwa merged commit 71d07f0 into openmrs:master Nov 2, 2023
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants