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

Support Or Operator for Filters in Notification #25

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

bnoffer
Copy link

@bnoffer bnoffer commented Feb 8, 2023

Description

One Line Summary

Exchanged the type of Filters in the Notification Model from List<Filter> to List<FilterExpressions> in order to support or operation between Filter elements.

Details

Motivation

During implementation of the OneSignal Api into our backend we found out that the current implementation of the Notification model only supports the default AND Operation for Filter elements. Since we have a use case where we need to use an OR operator we investigated what changes have to be done in order to support this operation with this project.

Scope

This will break current Filter implementations, however this is easily fixed by wrapping the previously created Filter instance in a FilterExpressions instance and the behavior is identical to the default AND behavior.

OPTIONAL - Other

none

Testing

Manual testing

Tested scenarios without Filters and just targeting a segment, then tested with 1 filter element and then 2 filter elements with a OR Operator between those. All 3 tests worked perfectly.

Checklist

Overview

  • I have filled out all REQUIRED sections above
  • PR does one thing
    • If it is hard to explain how any codes changes are related to each other then it most likely needs to be more than one PR
  • Any Public API changes are explained in the PR details and conform to existing APIs

Testing

  • I have personally tested this on my device, or explained why that is not possible

Final pass

  • Code is as readable as possible.
    • Simplify with less code, followed by splitting up code into well named functions and variables, followed by adding comments to the code.
  • I have reviewed this PR myself, ensuring it meets each checklist item
    • WIP (Work In Progress) is ok, but explain what is still in progress and what you would like feedback on. Start the PR title with "WIP" to indicate this.

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.

1 participant