Refactor advanced task args argument validators #3571
Draft
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 provides a (hopefully) better and simpler abstraction for validating advanced task definition arguments.
The function
getAdvancedTaskArgumentValidator(sqlClientPool, environment, taskArguments)
is a scaffolding function that returns an instance of the classAdvancedTaskArgumentValidator
, into which it injects everything that's needed to validate incoming argument values for the given task arguments (given via thetaskArguments
parameter).This change serves two purposes
advancedTaskDefinitionTypeFactory
and tries to provide better encapsulation of the validation functionality.getAdvancedTaskArgumentValidator
function, we remove any dependencies that were inside the validators themselves (the environment validators were doing DB calls), opting to instead inject them.General Checklist