2025-01-03 13:41:07 +00:00
|
|
|
package query
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"context"
|
2025-01-29 11:52:37 +00:00
|
|
|
"queryorchestration/internal/query/result"
|
|
|
|
|
resultprocessor "queryorchestration/internal/query/result/processor"
|
2025-01-03 14:21:14 +00:00
|
|
|
|
|
|
|
|
"github.com/google/uuid"
|
2025-01-03 13:41:07 +00:00
|
|
|
)
|
|
|
|
|
|
2025-01-03 14:21:14 +00:00
|
|
|
type Test struct {
|
|
|
|
|
QueryID uuid.UUID
|
|
|
|
|
DocumentID uuid.UUID
|
|
|
|
|
QueryVersion int32
|
|
|
|
|
}
|
|
|
|
|
|
2025-01-03 13:41:07 +00:00
|
|
|
func (s *Service) Test(ctx context.Context, filters Test) (string, error) {
|
2025-01-29 11:52:37 +00:00
|
|
|
doc, err := s.svc.Document.Get(ctx, filters.DocumentID)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return "", err
|
|
|
|
|
}
|
2025-01-03 13:41:07 +00:00
|
|
|
|
2025-01-29 11:52:37 +00:00
|
|
|
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)
|
2025-01-03 13:41:07 +00:00
|
|
|
}
|