creatorupdatordeprecate

This commit is contained in:
Michael McGuinness
2025-01-03 13:41:07 +00:00
parent 0ac156f0e1
commit 788b21594c
36 changed files with 545 additions and 226 deletions
+62
View File
@@ -0,0 +1,62 @@
package queryprocessor
import (
"fmt"
"queryorchestration/internal/database"
"queryorchestration/internal/database/repository"
"github.com/google/uuid"
)
func ParseDBNullType(qType repository.NullQuerytype) (Type, error) {
if !qType.Valid {
return TypeJsonExtractor, fmt.Errorf("invalid database query type")
}
return ParseDBType(qType.Querytype)
}
func ParseDBType(qType repository.Querytype) (Type, error) {
switch qType {
case repository.QuerytypeJsonExtractor:
return TypeJsonExtractor, nil
case repository.QuerytypeContextFull:
return TypeContextFull, nil
default:
return TypeJsonExtractor, fmt.Errorf("invalid database query type")
}
}
func ToDBQueryType(t Type) (repository.NullQuerytype, error) {
var dbType repository.Querytype
switch t {
case TypeJsonExtractor:
dbType = repository.QuerytypeJsonExtractor
case TypeContextFull:
dbType = repository.QuerytypeContextFull
default:
return repository.NullQuerytype{}, fmt.Errorf("invalid database query type")
}
return repository.NullQuerytype{Querytype: dbType, Valid: true}, nil
}
func ParseDBQuery(q *repository.GetCollectorQueriesRow) (*Query, error) {
reqQueryIDs := make([]uuid.UUID, len(q.Requiredids))
for index, id := range q.Requiredids {
reqQueryIDs[index] = database.MustToUUID(id)
}
qType, err := ParseDBNullType(q.Type)
if err != nil {
return nil, err
}
return &Query{
ID: database.MustToUUID(q.Queryid),
Version: q.Queryversion.Int32,
Type: qType,
RequiredQueryIDs: reqQueryIDs,
}, nil
}