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:
		
							
								
								
									
										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 | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user