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

44 lines
1.3 KiB
Go
Raw Normal View History

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