Skip to content

Commit

Permalink
Merge pull request #43 from rcerljenko/feature/confirmed-rule
Browse files Browse the repository at this point in the history
Added confirmed rule handler
  • Loading branch information
tomirons authored Sep 1, 2021
2 parents 9691400 + 679c78a commit 3ffc805
Showing 1 changed file with 23 additions and 13 deletions.
36 changes: 23 additions & 13 deletions src/Commands/ExportPostmanCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -77,24 +77,34 @@ public function handle(): void
}

if ($this->config['enable_formdata']) {
$rulesParameter = null;
$rulesParameter = collect($reflectionMethod->getParameters())
->filter(function ($value, $key) {
$value = $value->getType();

foreach ($reflectionMethod->getParameters() as $parameter) {
if (! $parameterType = $parameter->getType()) {
continue;
}

$requestClass = $parameterType->getName();
return $value && is_subclass_of($value->getName(), FormRequest::class);
})
->first();

if (is_subclass_of($requestClass, FormRequest::class)) {
$rulesParameter = new $requestClass();
}
if (! $rulesParameter) {
continue;
}

if ($rulesParameter instanceof FormRequest) {
$requestRules = $rulesParameter->rules();
$rulesParameter = $rulesParameter->getType()->getName();
$rulesParameter = new $rulesParameter;

$requestRules = [];
$rules = method_exists($rulesParameter, 'rules') ? $rulesParameter->rules() : [];

$requestRules = array_keys($requestRules);
foreach ($rules as $fieldName => $rule) {
$requestRules[] = $fieldName;

if (is_string($rule)) {
$rule = preg_split('/\s*\|\s*/', $rule);
}

if (in_array('confirmed', $rule)) {
$requestRules[] = $fieldName.'_confirmation';
}
}
}

Expand Down

0 comments on commit 3ffc805

Please sign in to comment.