migration to sea_orm + polar rules rework + endpoint logic rework #3
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 is a bit raw and dirty, but feels more 'idiomatic' and rustic.
About why
UserFilter
isn't a polar class is probably because it would limit policy flexibility -- in that while it is possible to construct new Rust polarclass structs within polar and then query for those structs via the rules that match, it would make it difficult to resolve queries where multiple rules can match (and thus there would need to be some sort of merge resolution/logic).This approach, where
allow_field
rules are kept butHashSet<String>
types can be converted into some pattern ofEntityOptional
by way of anEntityFilter
is probably fine for now. I do feel as if there might be a few ways to macro the repetitive logic, but otherwise it's not a huge deal. More importantly the endpoint logic is a lot more sane and readable.