Merge pull request #31 from soasurs/main
Add Pointer Type for API Type Definitions
This commit is contained in:
		@@ -10,11 +10,17 @@ import (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
var swaggerMapTypes = map[string]reflect.Kind{
 | 
					var swaggerMapTypes = map[string]reflect.Kind{
 | 
				
			||||||
	"string":   reflect.String,
 | 
						"string":   reflect.String,
 | 
				
			||||||
 | 
						"*string":  reflect.String,
 | 
				
			||||||
	"int":      reflect.Int,
 | 
						"int":      reflect.Int,
 | 
				
			||||||
 | 
						"*int":     reflect.Int,
 | 
				
			||||||
	"int32":    reflect.Int,
 | 
						"int32":    reflect.Int,
 | 
				
			||||||
 | 
						"*int32":   reflect.Int,
 | 
				
			||||||
	"uint32":   reflect.Int,
 | 
						"uint32":   reflect.Int,
 | 
				
			||||||
 | 
						"*uint32":  reflect.Int,
 | 
				
			||||||
	"uint64":   reflect.Int64,
 | 
						"uint64":   reflect.Int64,
 | 
				
			||||||
 | 
						"*uint64":  reflect.Int64,
 | 
				
			||||||
	"int64":    reflect.Int64,
 | 
						"int64":    reflect.Int64,
 | 
				
			||||||
 | 
						"*int64":   reflect.Int64,
 | 
				
			||||||
	"[]string": reflect.Slice,
 | 
						"[]string": reflect.Slice,
 | 
				
			||||||
	"[]int":    reflect.Slice,
 | 
						"[]int":    reflect.Slice,
 | 
				
			||||||
	"[]int64":  reflect.Slice,
 | 
						"[]int64":  reflect.Slice,
 | 
				
			||||||
@@ -22,9 +28,13 @@ var swaggerMapTypes = map[string]reflect.Kind{
 | 
				
			|||||||
	"[]uint32": reflect.Slice,
 | 
						"[]uint32": reflect.Slice,
 | 
				
			||||||
	"[]uint64": reflect.Slice,
 | 
						"[]uint64": reflect.Slice,
 | 
				
			||||||
	"bool":     reflect.Bool,
 | 
						"bool":     reflect.Bool,
 | 
				
			||||||
 | 
						"*bool":    reflect.Bool,
 | 
				
			||||||
	"struct":   reflect.Struct,
 | 
						"struct":   reflect.Struct,
 | 
				
			||||||
 | 
						"*struct":  reflect.Struct,
 | 
				
			||||||
	"float32":  reflect.Float32,
 | 
						"float32":  reflect.Float32,
 | 
				
			||||||
 | 
						"*float32": reflect.Float32,
 | 
				
			||||||
	"float64":  reflect.Float64,
 | 
						"float64":  reflect.Float64,
 | 
				
			||||||
 | 
						"*float64": reflect.Float64,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// http://swagger.io/specification/#infoObject
 | 
					// http://swagger.io/specification/#infoObject
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -59,7 +59,7 @@ func applyGenerate(p *plugin.Plugin, host string, basePath string) (*swaggerObje
 | 
				
			|||||||
	newSecDefValue.In = "header"
 | 
						newSecDefValue.In = "header"
 | 
				
			||||||
	s.SecurityDefinitions["apiKey"] = newSecDefValue
 | 
						s.SecurityDefinitions["apiKey"] = newSecDefValue
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	s.Security = append(s.Security, swaggerSecurityRequirementObject{"apiKey": []string{}})
 | 
						//s.Security = append(s.Security, swaggerSecurityRequirementObject{"apiKey": []string{}})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	requestResponseRefs := refMap{}
 | 
						requestResponseRefs := refMap{}
 | 
				
			||||||
	renderServiceRoutes(p.Api.Service, p.Api.Service.Groups, s.Paths, requestResponseRefs)
 | 
						renderServiceRoutes(p.Api.Service, p.Api.Service.Groups, s.Paths, requestResponseRefs)
 | 
				
			||||||
@@ -233,6 +233,10 @@ func renderServiceRoutes(service spec.Service, groups []spec.Group, paths swagge
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
			operationObject.Description = strings.ReplaceAll(operationObject.Description, "\"", "")
 | 
								operationObject.Description = strings.ReplaceAll(operationObject.Description, "\"", "")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								if group.Annotation.Properties["jwt"] != "" {
 | 
				
			||||||
 | 
									operationObject.Security = &[]swaggerSecurityRequirementObject{{"apiKey": []string{}}}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			switch strings.ToUpper(route.Method) {
 | 
								switch strings.ToUpper(route.Method) {
 | 
				
			||||||
			case http.MethodGet:
 | 
								case http.MethodGet:
 | 
				
			||||||
				pathItemObject.Get = operationObject
 | 
									pathItemObject.Get = operationObject
 | 
				
			||||||
@@ -263,6 +267,10 @@ func renderReplyAsDefinition(d swaggerDefinitionsObject, m messageMap, p []spec.
 | 
				
			|||||||
		schema.Title = defineStruct.Name()
 | 
							schema.Title = defineStruct.Name()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		for _, member := range defineStruct.Members {
 | 
							for _, member := range defineStruct.Members {
 | 
				
			||||||
 | 
								if hasPathParameters(member) {
 | 
				
			||||||
 | 
									continue
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			kv := keyVal{Value: schemaOfField(member)}
 | 
								kv := keyVal{Value: schemaOfField(member)}
 | 
				
			||||||
			kv.Key = member.Name
 | 
								kv.Key = member.Name
 | 
				
			||||||
			if tag, err := member.GetPropertyName(); err == nil {
 | 
								if tag, err := member.GetPropertyName(); err == nil {
 | 
				
			||||||
@@ -297,6 +305,15 @@ func renderReplyAsDefinition(d swaggerDefinitionsObject, m messageMap, p []spec.
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func hasPathParameters(member spec.Member) bool {
 | 
				
			||||||
 | 
						for _, tag := range member.Tags() {
 | 
				
			||||||
 | 
							if tag.Key == "path" {
 | 
				
			||||||
 | 
								return true
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return false
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
func schemaOfField(member spec.Member) swaggerSchemaObject {
 | 
					func schemaOfField(member spec.Member) swaggerSchemaObject {
 | 
				
			||||||
	ret := swaggerSchemaObject{}
 | 
						ret := swaggerSchemaObject{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user