Files
query-orchestration/internal/query/test.go
T
Michael McGuinness 0ac5ff9e15 Merged in feature/testquery (pull request #39)
Test Query

* depstextandclean

* startedcleaningresult

* resulttidyup

* roundone

* cleaning

* unsyncedquery

* startedtestsandsimplification

* api

* querytests

* resultprocessortests

* unittests

* cleanup
2025-01-29 11:52:37 +00:00

62 lines
1.4 KiB
Go

package query
import (
"context"
"queryorchestration/internal/query/result"
resultprocessor "queryorchestration/internal/query/result/processor"
"github.com/google/uuid"
)
type Test struct {
QueryID uuid.UUID
DocumentID uuid.UUID
QueryVersion int32
}
func (s *Service) Test(ctx context.Context, filters Test) (string, error) {
doc, err := s.svc.Document.Get(ctx, filters.DocumentID)
if err != nil {
return "", err
}
col, err := s.svc.Collector.GetByJobID(ctx, doc.JobID)
if err != nil {
return "", err
}
res, err := s.svc.Result.GetValueWithVersion(ctx, &result.GetValueWithVersionParams{
QueryID: filters.QueryID,
DocumentID: filters.DocumentID,
QueryVersion: filters.QueryVersion,
MinCleanVersion: col.MinCleanVersion,
MinTextVersion: col.MinTextVersion,
})
if err == nil {
return res.GetValue(ctx)
}
q, err := s.GetWithVersion(ctx, filters.QueryID, filters.QueryVersion)
if err != nil {
return "", err
}
value, err := s.svc.Result.Process(ctx, &result.Process{
DocumentID: filters.DocumentID,
MinCleanVersion: col.MinCleanVersion,
MinTextVersion: col.MinTextVersion,
Query: &resultprocessor.Query{
ID: q.ID,
Type: q.Type,
Version: filters.QueryVersion,
RequiredQueryIDs: q.RequiredQueryIDs,
Config: q.Config,
},
})
if err != nil {
return "", err
}
return value.GetValue(ctx)
}