Skip to content

Commit b05b6bf

Browse files
committed
added mixed placeholder validator
1 parent 2a57dee commit b05b6bf

File tree

2 files changed

+30
-2
lines changed

2 files changed

+30
-2
lines changed

app/helpers/MetaFormats/AnnotationConversion/NetteAnnotationConverter.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use App\Helpers\MetaFormats\Validators\VEmail;
99
use App\Helpers\MetaFormats\Validators\VFloat;
1010
use App\Helpers\MetaFormats\Validators\VInt;
11+
use App\Helpers\MetaFormats\Validators\VMixed;
1112
use App\Helpers\MetaFormats\Validators\VString;
1213
use App\Helpers\MetaFormats\Validators\VTimestamp;
1314
use App\Helpers\MetaFormats\Validators\VUuid;
@@ -196,6 +197,9 @@ private static function convertAnnotationValidationToValidatorString(string $val
196197
case "numeric":
197198
$validatorClass = VFloat::class;
198199
break;
200+
case "mixed":
201+
$validatorClass = VMixed::class;
202+
break;
199203
default:
200204
throw new InternalServerException("Unknown validation rule: $validation");
201205
}
@@ -221,9 +225,9 @@ public static function convertRegexCapturesToParenthesesBuilder(array $annotatio
221225
}
222226
$parenthesesBuilder->addValue("\"{$annotationParameters["name"]}\"");
223227

224-
// replace missing validations with string validations
228+
// replace missing validations with placeholder validations
225229
if (!array_key_exists("validation", $annotationParameters)) {
226-
$annotationParameters["validation"] = "string";
230+
$annotationParameters["validation"] = "mixed";
227231
}
228232
$nullable = false;
229233
$validation = $annotationParameters["validation"];
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
3+
namespace App\Helpers\MetaFormats\Validators;
4+
5+
use App\Helpers\MetaFormats\MetaFormatHelper;
6+
use App\Helpers\MetaFormats\PhpTypes;
7+
8+
/**
9+
* Placeholder validator used for endpoints with no existing validation rules.
10+
*/
11+
class VMixed
12+
{
13+
public const SWAGGER_TYPE = "string";
14+
15+
public function getExampleValue()
16+
{
17+
return "value";
18+
}
19+
20+
public function validate(mixed $value): bool
21+
{
22+
return true;
23+
}
24+
}

0 commit comments

Comments
 (0)