Skip to content

Commit

Permalink
feat: scrub fields with ResourceDescriptor type
Browse files Browse the repository at this point in the history
Since we have already scrubbed away the proto file descriptor for this
type, we also need to scrub away any fields that refer to this type.
  • Loading branch information
odsod committed May 18, 2021
1 parent dd0ab68 commit 64832d3
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ func main() {
scrubResource(message)
scrubResourceReferences(message)
scrubFieldBehaviors(message)
scrubMessageFields(message)
}
for _, service := range file.GetService() {
scrubServiceOptions(service)
Expand Down Expand Up @@ -86,6 +87,20 @@ func scrubServiceOptions(service *descriptorpb.ServiceDescriptorProto) {
}
}

func scrubMessageFields(message *descriptorpb.DescriptorProto) {
n := 0
for _, field := range message.Field {
if field.GetTypeName() != ".google.api.ResourceDescriptor" {
message.Field[n] = field
n++
}
}
message.Field = message.Field[:n]
for _, nestedMessage := range message.NestedType {
scrubMessageFields(nestedMessage)
}
}

func scrubResourceReferences(message *descriptorpb.DescriptorProto) {
for _, field := range message.GetField() {
if field.GetOptions() != nil {
Expand Down

0 comments on commit 64832d3

Please sign in to comment.