encoding/openapi: add support for deprecated field from protobuf
protos may be marked as `deprecated=true` in their definitions,
these fields can be mapped to openapi field `deprecated`.
Change-Id: I41204b1cd7e32e2822145622c6dfeab5d8184d65
Reviewed-on: https://cue-review.googlesource.com/c/cue/+/2900
Reviewed-by: Marcel van Lohuizen <mpvl@golang.org>
diff --git a/encoding/openapi/build.go b/encoding/openapi/build.go
index 6a32f5d..8d690d1 100644
--- a/encoding/openapi/build.go
+++ b/encoding/openapi/build.go
@@ -212,6 +212,7 @@
b.setValueType(v)
b.format = extractFormat(v)
+ b.deprecated = getDeprecated(v)
if b.core == nil || len(b.core.values) > 1 {
isRef := b.value(v, nil)
@@ -952,6 +953,7 @@
singleFields *oaSchema
current *oaSchema
allOf []*oaSchema
+ deprecated bool
// Building structural schema
core *builder
@@ -1072,6 +1074,9 @@
b.singleFields.kvs = append(b.singleFields.kvs, t.kvs...)
t = b.singleFields
}
+ if b.deprecated {
+ t.Set("deprecated", true)
+ }
setType(t, b)
sortSchema(t)
return t