Added helper to detect if a url contains variables in the form of url parameters with the same name of the fields of a specific protobuf message
This commit is contained in:
parent
199050ce6f
commit
c1f10d57e9
33
helpers.go
33
helpers.go
@ -60,16 +60,17 @@ var ProtoHelpersFuncMap = template.FuncMap{
|
||||
"kebabCase": func(s string) string {
|
||||
return strings.Replace(xstrings.ToSnakeCase(s), "_", "-", -1)
|
||||
},
|
||||
"snakeCase": xstrings.ToSnakeCase,
|
||||
"getMessageType": getMessageType,
|
||||
"isFieldMessage": isFieldMessage,
|
||||
"isFieldRepeated": isFieldRepeated,
|
||||
"goType": goType,
|
||||
"jsType": jsType,
|
||||
"namespacedFlowType": namespacedFlowType,
|
||||
"httpVerb": httpVerb,
|
||||
"httpPath": httpPath,
|
||||
"shortType": shortType,
|
||||
"snakeCase": xstrings.ToSnakeCase,
|
||||
"getMessageType": getMessageType,
|
||||
"isFieldMessage": isFieldMessage,
|
||||
"isFieldRepeated": isFieldRepeated,
|
||||
"goType": goType,
|
||||
"jsType": jsType,
|
||||
"namespacedFlowType": namespacedFlowType,
|
||||
"httpVerb": httpVerb,
|
||||
"httpPath": httpPath,
|
||||
"shortType": shortType,
|
||||
"urlHasVarsFromMessage": urlHasVarsFromMessage,
|
||||
}
|
||||
|
||||
func init() {
|
||||
@ -242,3 +243,15 @@ func httpVerb(m *descriptor.MethodDescriptorProto) string {
|
||||
return t.Custom.Kind
|
||||
}
|
||||
}
|
||||
|
||||
func urlHasVarsFromMessage(path string, d *descriptor.DescriptorProto) bool {
|
||||
for _, field := range d.Field {
|
||||
if !isFieldMessage(field) {
|
||||
if strings.Contains(path, fmt.Sprintf("{%s}", *field.Name)) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user