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 } }