replace x-additional-properties with isAdditionalPropertiesTrue (#6886)

This commit is contained in:
William Cheng 2020-07-08 16:45:30 +08:00 committed by GitHub
parent 0be0a06d84
commit ffac26face
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 13 deletions

View File

@ -953,11 +953,6 @@ public class PowerShellClientCodegen extends DefaultCodegen implements CodegenCo
model.isNullable = true; model.isNullable = true;
model.anyOf.remove("ModelNull"); model.anyOf.remove("ModelNull");
} }
// add vendor extension for additonalProperties: true
if ("null<String, SystemCollectionsHashtable>".equals(model.parent)) {
model.vendorExtensions.put("x-additional-properties", true);
}
} }
return objs; return objs;

View File

@ -223,24 +223,24 @@ function ConvertFrom-{{{apiNamePrefix}}}JsonTo{{{classname}}} {
$PSBoundParameters | Out-DebugParameter | Write-Debug $PSBoundParameters | Out-DebugParameter | Write-Debug
$JsonParameters = ConvertFrom-Json -InputObject $Json $JsonParameters = ConvertFrom-Json -InputObject $Json
{{#vendorExtensions.x-additional-properties}} {{#isAdditionalPropertiesTrue}}
${{{apiNamePrefix}}}{{{classname}}}AdditionalProperties = @{} ${{{apiNamePrefix}}}{{{classname}}}AdditionalProperties = @{}
{{/vendorExtensions.x-additional-properties}} {{/isAdditionalPropertiesTrue}}
# check if Json contains properties not defined in {{{apiNamePrefix}}}{{{classname}}} # check if Json contains properties not defined in {{{apiNamePrefix}}}{{{classname}}}
$AllProperties = ({{#allVars}}"{{{baseName}}}"{{^-last}}, {{/-last}}{{/allVars}}) $AllProperties = ({{#allVars}}"{{{baseName}}}"{{^-last}}, {{/-last}}{{/allVars}})
foreach ($name in $JsonParameters.PsObject.Properties.Name) { foreach ($name in $JsonParameters.PsObject.Properties.Name) {
{{^vendorExtensions.x-additional-properties}} {{^isAdditionalPropertiesTrue}}
if (!($AllProperties.Contains($name))) { if (!($AllProperties.Contains($name))) {
throw "Error! JSON key '$name' not found in the properties: $($AllProperties)" throw "Error! JSON key '$name' not found in the properties: $($AllProperties)"
} }
{{/vendorExtensions.x-additional-properties}} {{/isAdditionalPropertiesTrue}}
{{#vendorExtensions.x-additional-properties}} {{#isAdditionalPropertiesTrue}}
# store undefined properties in additionalProperties # store undefined properties in additionalProperties
if (!($AllProperties.Contains($name))) { if (!($AllProperties.Contains($name))) {
${{{apiNamePrefix}}}{{{classname}}}AdditionalProperties[$name] = $JsonParameters.PSobject.Properties[$name].value ${{{apiNamePrefix}}}{{{classname}}}AdditionalProperties[$name] = $JsonParameters.PSobject.Properties[$name].value
} }
{{/vendorExtensions.x-additional-properties}} {{/isAdditionalPropertiesTrue}}
} }
{{#requiredVars}} {{#requiredVars}}
@ -271,9 +271,9 @@ function ConvertFrom-{{{apiNamePrefix}}}JsonTo{{{classname}}} {
"<<baseName>>" = ${<<name>>} "<<baseName>>" = ${<<name>>}
<</allVars>> <</allVars>>
<<={{ }}=>> <<={{ }}=>>
{{#vendorExtensions.x-additional-properties}} {{#isAdditionalPropertiesTrue}}
"AdditionalProperties" = ${{{apiNamePrefix}}}{{{classname}}}AdditionalProperties "AdditionalProperties" = ${{{apiNamePrefix}}}{{{classname}}}AdditionalProperties
{{/vendorExtensions.x-additional-properties}} {{/isAdditionalPropertiesTrue}}
} }
return $PSO return $PSO