Skip to content

Commit aa101d9

Browse files
committed
chore(generator): correctly handle enums in openapi 3.1.0 specs
1 parent db15bb5 commit aa101d9

File tree

2 files changed

+14
-7
lines changed

2 files changed

+14
-7
lines changed

blacklist.txt

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Transitional file to disable generation for selected services
2-
assumerole
3-
customer
4-
openstack
2+
#assumerole
3+
#customer
4+
#openstack
55
kms
6+
7+
airflow
8+
edge
9+
customer
10+
vpn
11+
privateendpoint

templates/go/model_simple.mustache

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,8 @@ func set{{classname}}{{getter}}AttributeType(arg *{{classname}}{{getter}}Attribu
281281
// isEnum
282282

283283
// {{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlecase}} {{{description}}}{{^description}}the model '{{{classname}}}'{{/description}}
284-
type {{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlecase}} {{dataType}}
284+
// value type for enums
285+
type {{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlecase}} {{#isNumeric}}int{{/isNumeric}}{{^isNumeric}}string{{/isNumeric}}
285286

286287
// List of {{name}}
287288
const (
@@ -304,13 +305,13 @@ var Allowed{{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titl
304305
}
305306

306307
func (v *{{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlecase}}) UnmarshalJSON(src []byte) error {
307-
var value {{dataType}}
308+
var value {{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlecase}}
308309
err := json.Unmarshal(src, &value)
309310
if err != nil {
310311
return err
311312
}
312313
// Allow unmarshalling zero value for testing purposes
313-
var zeroValue {{dataType}}
314+
var zeroValue {{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlecase}}
314315
if value == zeroValue {
315316
return nil
316317
}
@@ -327,7 +328,7 @@ func (v *{{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlec
327328

328329
// New{{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlecase}}FromValue returns a pointer to a valid {{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlecase}}
329330
// for the value passed as argument, or an error if the value passed is not allowed by the enum
330-
func New{{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlecase}}FromValue(v {{dataType}}) (*{{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlecase}}, error) {
331+
func New{{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlecase}}FromValue(v {{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlecase}}) (*{{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlecase}}, error) {
331332
ev := {{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlecase}}(v)
332333
if ev.IsValid() {
333334
return &ev, nil

0 commit comments

Comments
 (0)