Merged in feature/update (pull request #27)
Query Update * baselineupdate * baseupdateplusmodelupdates * passtests * somemoresubmittesting * testinnerfunctions * readmeandinstall * cleanerstartup * readmeplusdeps * tidyatrighttime * validatetests * normalizedontvalidate * abitofzenormalizationcleanup * addunitstestforhelperfuns * normalizeactiveversiontestas
This commit is contained in:
+35
-15
@@ -4,6 +4,8 @@ import (
|
||||
"errors"
|
||||
"queryorchestration/internal/query"
|
||||
queryprocessor "queryorchestration/internal/query/processor"
|
||||
|
||||
"github.com/google/uuid"
|
||||
)
|
||||
|
||||
func parseQueries(queries []*query.Query) ([]Query, error) {
|
||||
@@ -21,9 +23,14 @@ func parseQueries(queries []*query.Query) ([]Query, error) {
|
||||
}
|
||||
|
||||
func parseQuery(query *query.Query) (*Query, error) {
|
||||
requiredQueries := make([]string, len(query.RequiredQueryIDs))
|
||||
for index, id := range query.RequiredQueryIDs {
|
||||
requiredQueries[index] = id.String()
|
||||
var requiredQueries *[]string
|
||||
if query.RequiredQueryIDs != nil && len(*query.RequiredQueryIDs) > 0 {
|
||||
rQ := make([]string, len(*query.RequiredQueryIDs))
|
||||
for index, id := range *query.RequiredQueryIDs {
|
||||
rQ[index] = id.String()
|
||||
}
|
||||
|
||||
requiredQueries = &rQ
|
||||
}
|
||||
|
||||
qt, err := parseQueryType(query.Type)
|
||||
@@ -32,18 +39,12 @@ func parseQuery(query *query.Query) (*Query, error) {
|
||||
}
|
||||
|
||||
q := &Query{
|
||||
Id: query.ID.String(),
|
||||
Type: qt,
|
||||
ActiveVersion: query.ActiveVersion,
|
||||
LatestVersion: query.LatestVersion,
|
||||
}
|
||||
|
||||
if query.Config != "" {
|
||||
q.Config = &query.Config
|
||||
}
|
||||
|
||||
if len(query.RequiredQueryIDs) > 0 {
|
||||
q.RequiredQueries = requiredQueries
|
||||
Id: query.ID.String(),
|
||||
Type: qt,
|
||||
ActiveVersion: query.ActiveVersion,
|
||||
LatestVersion: query.LatestVersion,
|
||||
RequiredQueries: requiredQueries,
|
||||
Config: query.Config,
|
||||
}
|
||||
|
||||
return q, nil
|
||||
@@ -70,3 +71,22 @@ func parseSpecQueryType(qType QueryType) (queryprocessor.Type, error) {
|
||||
return queryprocessor.Type(-1), errors.New("invalid query type")
|
||||
}
|
||||
}
|
||||
|
||||
func parseStringToUUIDArray(sids *[]string) (*[]uuid.UUID, error) {
|
||||
var ids []uuid.UUID
|
||||
if sids != nil {
|
||||
ids = make([]uuid.UUID, len(*sids))
|
||||
for index, id := range *sids {
|
||||
parsedID, err := uuid.Parse(id)
|
||||
if err != nil {
|
||||
return nil, errors.New("invalid required id")
|
||||
}
|
||||
|
||||
ids[index] = parsedID
|
||||
}
|
||||
|
||||
return &ids, nil
|
||||
}
|
||||
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user