From 51f0182a8a8026661c20d15c34d7411d196c0123 Mon Sep 17 00:00:00 2001 From: Erik Timmers Date: Mon, 20 Jan 2020 10:27:36 +0100 Subject: [PATCH] [elm] Add suffix to operation parameters So there are no longer conflicts between parameters or parameters and operation names. --- .../src/main/resources/elm/operation.mustache | 10 +++++----- .../src/main/resources/elm/paramName.mustache | 1 + .../openapi3/client/elm/src/Api/Request/Default.elm | 12 ++++++------ .../client/elm/src/Api/Request/Primitive.elm | 4 ++-- 4 files changed, 14 insertions(+), 13 deletions(-) create mode 100644 modules/openapi-generator/src/main/resources/elm/paramName.mustache diff --git a/modules/openapi-generator/src/main/resources/elm/operation.mustache b/modules/openapi-generator/src/main/resources/elm/operation.mustache index 2c8b071c0efc..3bc12acf2335 100644 --- a/modules/openapi-generator/src/main/resources/elm/operation.mustache +++ b/modules/openapi-generator/src/main/resources/elm/operation.mustache @@ -34,13 +34,13 @@ import Uuid exposing (Uuid){{/includeUuid}} -} {{/notes}} {{operationId}} : {{#allParams}}{{^required}}Maybe {{/required}}{{#isListContainer}}List {{/isListContainer}}{{#datatypeWithEnum}}{{.}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{#isModel}}Api.Data.{{/isModel}}{{dataType}}{{/datatypeWithEnum}} -> {{/allParams}}Api.Request {{^responses}}(){{/responses}}{{#responses}}{{#-first}}{{^dataType}}(){{/dataType}}{{#isMapContainer}}(Dict.Dict String {{/isMapContainer}}{{#isListContainer}}(List {{/isListContainer}}{{^primitiveType}}Api.Data.{{/primitiveType}}{{#items}}{{#isModel}}Api.Data.{{/isModel}}{{/items}}{{dataType}}{{#isListContainer}}){{/isListContainer}}{{#isMapContainer}}){{/isMapContainer}}{{/-first}}{{/responses}} -{{operationId}}{{#allParams}} {{paramName}}{{/allParams}} = +{{operationId}}{{#allParams}} {{>paramName}}{{/allParams}} = Api.request "{{httpMethod}}" "{{path}}" - [{{#pathParams}} ( "{{paramName}}", {{>paramToString}} {{paramName}} ){{#-last}} {{/-last}}{{^-last}},{{/-last}}{{/pathParams}}] - [{{#queryParams}} ( "{{baseName}}", {{#required}}Just <| {{/required}}{{^required}}Maybe.map {{/required}}{{>paramToString}} {{paramName}} ){{#-last}} {{/-last}}{{^-last}},{{/-last}}{{/queryParams}}] - [{{#headerParams}} ( "{{baseName}}", {{#required}}Just <| {{/required}}{{^required}}Maybe.map {{/required}}{{>paramToString}} {{paramName}} ){{#-last}} {{/-last}}{{^-last}},{{/-last}}{{/headerParams}}] - {{#bodyParam}}({{#required}}Just ({{/required}}{{^required}}Maybe.map {{/required}}{{#isModel}}Api.Data.{{/isModel}}{{>recordFieldValueEncoder}} {{paramName}}{{#required}}){{/required}}){{/bodyParam}}{{^bodyParam}}Nothing{{/bodyParam}} + [{{#pathParams}} ( "{{paramName}}", {{>paramToString}} {{>paramName}} ){{#-last}} {{/-last}}{{^-last}},{{/-last}}{{/pathParams}}] + [{{#queryParams}} ( "{{baseName}}", {{#required}}Just <| {{/required}}{{^required}}Maybe.map {{/required}}{{>paramToString}} {{>paramName}} ){{#-last}} {{/-last}}{{^-last}},{{/-last}}{{/queryParams}}] + [{{#headerParams}} ( "{{baseName}}", {{#required}}Just <| {{/required}}{{^required}}Maybe.map {{/required}}{{>paramToString}} {{>paramName}} ){{#-last}} {{/-last}}{{^-last}},{{/-last}}{{/headerParams}}] + {{#bodyParam}}({{#required}}Just ({{/required}}{{^required}}Maybe.map {{/required}}{{#isModel}}Api.Data.{{/isModel}}{{>recordFieldValueEncoder}} {{>paramName}}{{#required}}){{/required}}){{/bodyParam}}{{^bodyParam}}Nothing{{/bodyParam}} {{^responses}}(Json.Decode.succeed ()){{/responses}}{{#responses}}{{#isDefault}}{{^dataType}}(Json.Decode.succeed ()){{/dataType}}{{#dataType}}{{>recordFieldValueDecoder}}{{/dataType}}{{/isDefault}}{{/responses}} {{/operation}}{{/operations}} \ No newline at end of file diff --git a/modules/openapi-generator/src/main/resources/elm/paramName.mustache b/modules/openapi-generator/src/main/resources/elm/paramName.mustache new file mode 100644 index 000000000000..52c3426a5867 --- /dev/null +++ b/modules/openapi-generator/src/main/resources/elm/paramName.mustache @@ -0,0 +1 @@ +{{paramName}}{{#isPathParam}}_path{{/isPathParam}}{{#isQueryParam}}_query{{/isQueryParam}}{{#isHeaderParam}}_header{{/isHeaderParam}}{{#isBodyParam}}_body{{/isBodyParam}} \ No newline at end of file diff --git a/samples/openapi3/client/elm/src/Api/Request/Default.elm b/samples/openapi3/client/elm/src/Api/Request/Default.elm index 75f381aa2010..89b5e57b681c 100644 --- a/samples/openapi3/client/elm/src/Api/Request/Default.elm +++ b/samples/openapi3/client/elm/src/Api/Request/Default.elm @@ -109,13 +109,13 @@ stringFromEnum model = headerPost : String -> Maybe Int -> Maybe HeaderType -> Api.Request String -headerPost string integer headerType = +headerPost string_header integer_header headerType_header = Api.request "POST" "/header" [] [] - [ ( "string", Just <| identity string ), ( "integer", Maybe.map String.fromInt integer ), ( "headerType", Maybe.map stringFromHeaderType headerType ) ] + [ ( "string", Just <| identity string_header ), ( "integer", Maybe.map String.fromInt integer_header ), ( "headerType", Maybe.map stringFromHeaderType headerType_header ) ] Nothing Json.Decode.string @@ -135,11 +135,11 @@ maybeGet = pathStringIntegerEnumerationGet : String -> Int -> Enumeration -> Api.Request () -pathStringIntegerEnumerationGet string integer enumeration = +pathStringIntegerEnumerationGet string_path integer_path enumeration_path = Api.request "GET" "/path/{string}/{integer}/{enumeration}" - [ ( "string", identity string ), ( "integer", String.fromInt integer ), ( "enumeration", stringFromEnumeration enumeration ) ] + [ ( "string", identity string_path ), ( "integer", String.fromInt integer_path ), ( "enumeration", stringFromEnumeration enumeration_path ) ] [] [] Nothing @@ -148,12 +148,12 @@ pathStringIntegerEnumerationGet string integer enumeration = queryGet : Maybe String -> Maybe Int -> Maybe Enum -> Api.Request () -queryGet string int enum = +queryGet string_query int_query enum_query = Api.request "GET" "/query" [] - [ ( "string", Maybe.map identity string ), ( "int", Maybe.map String.fromInt int ), ( "enum", Maybe.map stringFromEnum enum ) ] + [ ( "string", Maybe.map identity string_query ), ( "int", Maybe.map String.fromInt int_query ), ( "enum", Maybe.map stringFromEnum enum_query ) ] [] Nothing (Json.Decode.succeed ()) diff --git a/samples/openapi3/client/elm/src/Api/Request/Primitive.elm b/samples/openapi3/client/elm/src/Api/Request/Primitive.elm index f9e59dce68d0..05f36eea518a 100644 --- a/samples/openapi3/client/elm/src/Api/Request/Primitive.elm +++ b/samples/openapi3/client/elm/src/Api/Request/Primitive.elm @@ -27,12 +27,12 @@ import Json.Encode update : Api.Data.Primitive -> Api.Request Api.Data.Primitive -update primitive = +update primitive_body = Api.request "POST" "/data" [] [] [] - (Just (Api.Data.encodePrimitive primitive)) + (Just (Api.Data.encodePrimitive primitive_body)) Api.Data.primitiveDecoder