-
Notifications
You must be signed in to change notification settings - Fork 212
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
Add FilterKey.members and support for equal operator to match an array #3536
Conversation
100a4b7
to
8221ef2
Compare
SDK Performance
|
SDK Size
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM ✅ Also, please update the docs in the LLC
# Conflicts: # CHANGELOG.md
// We don't want to expose `members` publicly because it can't be used with any other operator | ||
// than `$in`. We expose it publicly via the `containMembers` filter helper. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't we expose something like equalMembers(userIds:)
since only $eq and $in operator are supported?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It feels more closer to public docs if we allow using it directly. But I am lacking some historic knowledge on channel list filters so not sure what is best here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With other keys we can create incompatible combinations.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, my guess is that for some properties, we started limiting the operators, especially for performance reasons. But for other properties we did not follow the same approach.
IMO, it would be better that programmatically you could only use the operators that you are allowed to, and that it would not require you to look into docs to see which operators are supported. It would be better to just limit every field but now it is kinda too late, since we already expose most of them :/
So yeah, maybe it is better we open up this one for consistency
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since we have that containMembers, maybe it is better then to have equalMembers. Hmm
Quality Gate passedIssues Measures |
🔗 Issue Links
Resolves IOS-609
🎯 Goal
Enable filtering channel list with
$eq
and an array of channel member ids📝 Summary
FilterKey.members
$eq
to match an array of values🛠 Implementation
Filtering by
members
supports$in
and$eq
operators. We did not expose the latter. For supporting it, some changes were required for enabling Core Data to match channels with$eq
and an array of values.🎨 Showcase
🧪 Manual Testing Notes
chewbacca
current user
andr2-d2
)Example snippet
☑️ Contributor Checklist