44 lines
1.3 KiB
Go
44 lines
1.3 KiB
Go
package controllers
|
|
|
|
import (
|
|
serviceinterfaces "queryorchestration/api/serviceInterfaces"
|
|
"queryorchestration/internal/query"
|
|
queryprocessor "queryorchestration/internal/queryProcessor"
|
|
)
|
|
|
|
func ParseQuery(query *query.Query) *serviceinterfaces.Query {
|
|
requiredQueries := make([]string, len(query.RequiredQueryIDs))
|
|
for index, id := range query.RequiredQueryIDs {
|
|
requiredQueries[index] = id.String()
|
|
}
|
|
|
|
return &serviceinterfaces.Query{
|
|
Id: query.ID.String(),
|
|
Type: ParseQueryType(query.Type),
|
|
ActiveVersion: query.Version,
|
|
RequiredQueries: requiredQueries,
|
|
}
|
|
}
|
|
|
|
func ParseQueryType(qType queryprocessor.Type) serviceinterfaces.QueryType {
|
|
switch qType {
|
|
case queryprocessor.TypeJsonExtractor:
|
|
return serviceinterfaces.QueryType_QUERY_TYPE_JSON_EXTRACTOR
|
|
case queryprocessor.TypeContextFull:
|
|
return serviceinterfaces.QueryType_QUERY_TYPE_CONTEXT_FULL
|
|
default:
|
|
return serviceinterfaces.QueryType_QUERY_TYPE_UNSPECIFIED
|
|
}
|
|
}
|
|
|
|
func ParseSpecQueryType(qType serviceinterfaces.QueryType) queryprocessor.Type {
|
|
switch qType {
|
|
case serviceinterfaces.QueryType_QUERY_TYPE_JSON_EXTRACTOR:
|
|
return queryprocessor.TypeJsonExtractor
|
|
case serviceinterfaces.QueryType_QUERY_TYPE_CONTEXT_FULL:
|
|
return queryprocessor.TypeContextFull
|
|
default:
|
|
return queryprocessor.TypeContextFull
|
|
}
|
|
}
|