Files
query-orchestration/api/controllers/parse.go
T

43 lines
1.2 KiB
Go
Raw Normal View History

2025-01-02 16:07:35 +00:00
package controllers
import (
serviceinterfaces "queryorchestration/api/serviceInterfaces"
"queryorchestration/internal/query"
)
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 query.Type) serviceinterfaces.QueryType {
switch qType {
case query.TypeJsonExtractor:
return serviceinterfaces.QueryType_QUERY_TYPE_JSON_EXTRACTOR
case query.TypeContextFull:
return serviceinterfaces.QueryType_QUERY_TYPE_CONTEXT_FULL
default:
return serviceinterfaces.QueryType_QUERY_TYPE_UNSPECIFIED
}
}
func ParseSpecQueryType(qType serviceinterfaces.QueryType) query.Type {
switch qType {
case serviceinterfaces.QueryType_QUERY_TYPE_JSON_EXTRACTOR:
return query.TypeJsonExtractor
case serviceinterfaces.QueryType_QUERY_TYPE_CONTEXT_FULL:
return query.TypeContextFull
default:
return query.TypeContextFull
}
}