Proposal: add request data types #40
Draft
+511
−33
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
In this PR I added the logic to add a
type
based on the validation rules applied by the Form Request Validation.Logic
Now in the
GenerateCommand
following methods (writeNamedMethodExport
,writeControllerMethodExport
,writeMultiRouteControllerMethodExport
) there is a new field calledrequest
. It's an array created by thecontrollerMethodRequest
method from theRoute
class.The
controllerMethodRequest
check if the controller method as aFormRequest
as one of its parameters. In this case it invoke therules
method and create a new instance of theRequest
class to parse all the fiels and rules returned.The
Request
class applies some logic to select what should be the right types for each field.As an example, the following validation rules:
Are converted into:
Help wanted (and appreciated)
It would be useful to double check the types derived from the validation rules and the general logic.
I also tried to write a couple of test but testing only types declarations seems to be a bit tricky, so here someone with more experience than me could surely be of great help.