address comments.

This commit is contained in:
Darshan
2026-01-14 17:15:33 +05:30
parent 4d2f631393
commit bc6ecbd22c
4 changed files with 58 additions and 30 deletions
@@ -28250,9 +28250,7 @@
"yammer",
"yandex",
"zoho",
"zoom",
"mock",
"mock-unverified"
"zoom"
],
"x-enum-name": "OAuthProvider",
"x-enum-keys": []
+1 -3
View File
@@ -28351,9 +28351,7 @@
"yammer",
"yandex",
"zoho",
"zoom",
"mock",
"mock-unverified"
"zoom"
],
"x-enum-name": "OAuthProvider",
"x-enum-keys": []
@@ -604,16 +604,24 @@ class OpenAPI3 extends Format
}
}
if ($allowed && $validator->getType() === 'string') {
$enumValues = \array_values($validator->getList());
$allValues = \array_values($validator->getList());
$allKeys = $this->getRequestEnumKeys($sdk->getNamespace() ?? '', $methodName, $name);
if ($excludeKeys !== null) {
$enumValues = \array_values(\array_filter($enumValues, fn ($key) => !\in_array($key, $excludeKeys, true)));
$keepIndices = [];
foreach ($allValues as $index => $value) {
if (!\in_array($value, $excludeKeys, true)) {
$keepIndices[] = $index;
}
}
$enumKeys = \array_values(\array_intersect_key($allKeys, \array_flip($keepIndices)));
$enumValues = \array_values(\array_intersect_key($allValues, \array_flip($keepIndices)));
} else {
$enumKeys = $allKeys;
$enumValues = $allValues;
}
$node['schema']['items']['enum'] = $enumValues;
$node['schema']['items']['x-enum-name'] = $this->getRequestEnumName($sdk->getNamespace() ?? '', $methodName, $name);
$enumKeys = $this->getRequestEnumKeys($sdk->getNamespace() ?? '', $methodName, $name);
if ($excludeKeys !== null) {
$enumKeys = \array_values(\array_filter($enumKeys, fn ($key) => \in_array($key, $enumValues, true)));
}
$node['schema']['items']['x-enum-keys'] = $enumKeys;
}
if ($validator->getType() === 'integer') {
@@ -646,16 +654,24 @@ class OpenAPI3 extends Format
}
}
if ($allowed && $validator->getType() === 'string') {
$enumValues = \array_values($validator->getList());
$allValues = \array_values($validator->getList());
$allKeys = $this->getRequestEnumKeys($sdk->getNamespace() ?? '', $methodName, $name);
if ($excludeKeys !== null) {
$enumValues = \array_values(\array_filter($enumValues, fn ($key) => !\in_array($key, $excludeKeys, true)));
$keepIndices = [];
foreach ($allValues as $index => $value) {
if (!\in_array($value, $excludeKeys, true)) {
$keepIndices[] = $index;
}
}
$enumKeys = \array_values(\array_intersect_key($allKeys, \array_flip($keepIndices)));
$enumValues = \array_values(\array_intersect_key($allValues, \array_flip($keepIndices)));
} else {
$enumKeys = $allKeys;
$enumValues = $allValues;
}
$node['schema']['enum'] = $enumValues;
$node['schema']['x-enum-name'] = $this->getRequestEnumName($sdk->getNamespace() ?? '', $methodName, $name);
$enumKeys = $this->getRequestEnumKeys($sdk->getNamespace() ?? '', $methodName, $name);
if ($excludeKeys !== null) {
$enumKeys = \array_values(\array_filter($enumKeys, fn ($key) => \in_array($key, $enumValues, true)));
}
$node['schema']['x-enum-keys'] = $enumKeys;
}
if ($validator->getType() === 'integer') {
@@ -588,16 +588,24 @@ class Swagger2 extends Format
}
}
if ($allowed && $validator->getType() === 'string') {
$enumValues = \array_values($validator->getList());
$allValues = \array_values($validator->getList());
$allKeys = $this->getRequestEnumKeys($namespace, $methodName, $name);
if ($excludeKeys !== null) {
$enumValues = \array_values(\array_filter($enumValues, fn ($key) => !\in_array($key, $excludeKeys, true)));
$keepIndices = [];
foreach ($allValues as $index => $value) {
if (!\in_array($value, $excludeKeys, true)) {
$keepIndices[] = $index;
}
}
$enumKeys = \array_values(\array_intersect_key($allKeys, \array_flip($keepIndices)));
$enumValues = \array_values(\array_intersect_key($allValues, \array_flip($keepIndices)));
} else {
$enumKeys = $allKeys;
$enumValues = $allValues;
}
$node['items']['enum'] = $enumValues;
$node['items']['x-enum-name'] = $this->getRequestEnumName($namespace, $methodName, $name);
$enumKeys = $this->getRequestEnumKeys($namespace, $methodName, $name);
if ($excludeKeys !== null) {
$enumKeys = \array_values(\array_filter($enumKeys, fn ($key) => \in_array($key, $enumValues, true)));
}
$node['items']['x-enum-keys'] = $enumKeys;
}
if ($validator->getType() === 'integer') {
@@ -624,16 +632,24 @@ class Swagger2 extends Format
}
}
if ($allowed && $validator->getType() === 'string') {
$enumValues = \array_values($validator->getList());
$allValues = \array_values($validator->getList());
$allKeys = $this->getRequestEnumKeys($namespace, $methodName, $name);
if ($excludeKeys !== null) {
$enumValues = \array_values(\array_filter($enumValues, fn ($key) => !\in_array($key, $excludeKeys, true)));
$keepIndices = [];
foreach ($allValues as $index => $value) {
if (!\in_array($value, $excludeKeys, true)) {
$keepIndices[] = $index;
}
}
$enumKeys = \array_values(\array_intersect_key($allKeys, \array_flip($keepIndices)));
$enumValues = \array_values(\array_intersect_key($allValues, \array_flip($keepIndices)));
} else {
$enumKeys = $allKeys;
$enumValues = $allValues;
}
$node['enum'] = $enumValues;
$node['x-enum-name'] = $this->getRequestEnumName($namespace, $methodName, $name);
$enumKeys = $this->getRequestEnumKeys($namespace, $methodName, $name);
if ($excludeKeys !== null) {
$enumKeys = \array_values(\array_filter($enumKeys, fn ($key) => \in_array($key, $enumValues, true)));
}
$node['x-enum-keys'] = $enumKeys;
}
if ($validator->getType() === 'integer') {