Skip to content

Commit 3ca539c

Browse files
committed
Handle unembedding via json field in apitypings
1 parent 23b0ae0 commit 3ca539c

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

scripts/apitypings/main.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,10 @@ func (g *Generator) buildStruct(obj types.Object, st *types.Struct) (string, err
244244
extendedFields := make(map[int]bool)
245245
for i := 0; i < st.NumFields(); i++ {
246246
field := st.Field(i)
247-
if field.Embedded() && field.Pkg().Name() == "codersdk" {
247+
tag := reflect.StructTag(st.Tag(i))
248+
// Adding a json struct tag causes the json package to consider
249+
// the field unembedded.
250+
if field.Embedded() && tag.Get("json") == "" && field.Pkg().Name() == "codersdk" {
248251
extendedFields[i] = true
249252
extends = append(extends, field.Name())
250253
}

0 commit comments

Comments
 (0)