From 5990ff88c64ea927be50e7480d401c38aa51b91d Mon Sep 17 00:00:00 2001 From: Gary Malouf <982483+gmalouf@users.noreply.github.com> Date: Wed, 5 Feb 2025 19:24:44 -0500 Subject: [PATCH] Support x-algorand-format BlockHeaderResponse in templates/generation. --- dotnet_templates/common_macros.vm | 4 ++++ dotnet_templates/model.vm | 4 +++- go_templates/common_macros.vm | 2 ++ go_templates/model.vm | 2 ++ .../com/algorand/sdkutils/generators/OpenApiParser.java | 1 + typescript_templates/model.vm | 8 ++++++++ 6 files changed, 20 insertions(+), 1 deletion(-) diff --git a/dotnet_templates/common_macros.vm b/dotnet_templates/common_macros.vm index e5b4859..b467e96 100644 --- a/dotnet_templates/common_macros.vm +++ b/dotnet_templates/common_macros.vm @@ -16,6 +16,8 @@ #set( $propType = "TEALProgram" ) #elseif ( $prop.algorandFormat == "BlockHeader" ) #set( $propType = "Block" ) +#elseif ( $prop.algorandFormat == "BlockHeaderResponse" ) +#set( $propType = "BlockHeader" ) #elseif ( $prop.type == "integer" ) #set( $propType = "ulong" ) #elseif( $prop.type == "binary" ) @@ -52,6 +54,8 @@ string## #elseif ( $param.algorandFormat == "BlockHeader" ) types.Block +#elseif ( $param.algorandFormat == "BlockHeaderResponse" ) +types.BlockHeader #elseif( $setter && ($param.algorandFormat == "base64" || $param.type == "binary" || $param.format == "binary" ) ) []byte## #elseif( $param.type == "binary" ) diff --git a/dotnet_templates/model.vm b/dotnet_templates/model.vm index ca8acec..0bb1433 100644 --- a/dotnet_templates/model.vm +++ b/dotnet_templates/model.vm @@ -50,7 +50,9 @@ public partial class $className{ #elseif ( $prop.algorandFormat == "TEALProgram" ) #set( $propType = "TEALProgram" ) #elseif ( $prop.algorandFormat == "BlockHeader" ) - #set( $propType = "Block" ) + #set( $propType = "Block" ) +#elseif ( $prop.algorandFormat == "BlockHeaderResponse" ) + #set( $propType = "BlockHeader" ) #elseif ( $prop.type == "integer" ) #if($prop.required) #set( $propType = "ulong" ) diff --git a/go_templates/common_macros.vm b/go_templates/common_macros.vm index b36d71f..95e501c 100644 --- a/go_templates/common_macros.vm +++ b/go_templates/common_macros.vm @@ -11,6 +11,8 @@ models.$go.returnTypeMapper(${query.returnType})## string## #elseif ( $param.algorandFormat == "BlockHeader" ) types.Block +#elseif ( $param.algorandFormat == "BlockHeaderResponse" ) +types.BlockHeader #elseif( $setter && ($param.algorandFormat == "base64" || $param.type == "binary" || $param.format == "binary" ) ) []byte## #elseif( $param.type == "string" && $param.format == "byte" ) diff --git a/go_templates/model.vm b/go_templates/model.vm index 49a46d1..84c3dd8 100644 --- a/go_templates/model.vm +++ b/go_templates/model.vm @@ -11,6 +11,8 @@ types.SignedTxn## ##string## #elseif ( $param.algorandFormat == "BlockHeader" ) types.Block## +#elseif ( $param.algorandFormat == "BlockHeaderResponse" ) +types.BlockHeader## #elseif ( $param.type == "object" ) *map[string]interface{}## #elseif ( $param.type == "integer" || $param.arrayType == "integer" ) diff --git a/src/main/java/com/algorand/sdkutils/generators/OpenApiParser.java b/src/main/java/com/algorand/sdkutils/generators/OpenApiParser.java index d591d8d..e65ab7e 100644 --- a/src/main/java/com/algorand/sdkutils/generators/OpenApiParser.java +++ b/src/main/java/com/algorand/sdkutils/generators/OpenApiParser.java @@ -215,6 +215,7 @@ TypeDef getType( break; case "BlockCertificate": case "BlockHeader": + case "BlockHeaderResponse": return new TypeDef("HashMap", openApiType, "", propName, goName, desc, required, refType, openApiType, openApiArrayType, openApiFormat, openApiAlgorandFormat, goName,openApiLongNameAlias); } } diff --git a/typescript_templates/model.vm b/typescript_templates/model.vm index 04aa7f8..1b7fd45 100644 --- a/typescript_templates/model.vm +++ b/typescript_templates/model.vm @@ -20,6 +20,8 @@ Address## #end #elseif ( $param.algorandFormat == "BlockHeader" ) Block## +#elseif ( $param.algorandFormat == "BlockHeaderResponse" ) +BlockHeader## #elseif ( $param.algorandFormat == "StateDelta" ) LedgerStateDelta## #elseif ( $type_override == "bigint" || ( $param.algorandFormat == "uint64" && $type_override.length() == 0 ) ) @@ -79,6 +81,8 @@ new ArraySchema(## #end #if ( $param.algorandFormat == "BlockHeader" ) Block.encodingSchema## +#elseif ( $param.algorandFormat == "BlockHeaderResponse" ) +BlockHeader.encodingSchema## #elseif ( $param.algorandFormat == "StateDelta" ) LedgerStateDelta.encodingSchema## #elseif ( $param.algorandFormat == "SignedTransaction" ) @@ -123,6 +127,8 @@ false## false## #elseif ( $param.algorandFormat == "BlockHeader" ) false## +#elseif ( $param.algorandFormat == "BlockHeaderResponse" ) +false## #elseif ( $param.algorandFormat == "StateDelta" ) false## #elseif ( $param.algorandFormat == "uint64" ) @@ -265,6 +271,8 @@ ${value}## SignedTransaction## #elseif ( $prop.algorandFormat == "BlockHeader" ) Block## +#elseif ( $prop.algorandFormat == "BlockHeaderResponse" ) +BlockHeader## #elseif ( $prop.algorandFormat == "StateDelta" ) LedgerStateDelta## #elseif ( $prop.type == "object" )