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.
Description
This PR refactors how we type incoming parameters for certain types of requests.
It adds a
QueryFilterMap
for type safety around parameters used to filter database queries.It adds a related
IntoQueryFilterMap
trait which provides the mechanism for translating types between application layers.This way we can provide types for endpoint parameters in the
web
layer and then translate that data into types understood and used bydomain
andentity_api
without these lower layers needing to depend onweb
(avoiding circular dependency)This a step toward my current goal of removing
web
dependency on anything other thandomain
Changes
QueryFilterMap
IntoQueryFilterMap
web::error::Error
Testing Strategy
I tested this via Rapidoc and against the FE
Next
entity_api
orentity
types throughdomain
web
dependencies onentity_api
andentity
domain