Files
query-orchestration/internal/query/processor/service.go
T
Michael McGuinness 518927c395 Merged in feature/update (pull request #27)
Query Update

* baselineupdate

* baseupdateplusmodelupdates

* passtests

* somemoresubmittesting

* testinnerfunctions

* readmeandinstall

* cleanerstartup

* readmeplusdeps

* tidyatrighttime

* validatetests

* normalizedontvalidate

* abitofzenormalizationcleanup

* addunitstestforhelperfuns

* normalizeactiveversiontestas
2025-01-20 13:31:48 +00:00

81 lines
1.4 KiB
Go

package queryprocessor
import (
"context"
"queryorchestration/internal/query/result"
"github.com/google/uuid"
)
type Type int
const (
TypeJsonExtractor = iota
TypeContextFull
)
type Create struct {
Type Type
RequiredQueryIDs *[]uuid.UUID
Config *string
}
func (s *Create) GetConfig() *string {
return s.Config
}
func (s *Create) SetConfig(cfg *string) {
s.Config = cfg
}
func (s *Create) GetRequiredQueryIDs() *[]uuid.UUID {
return s.RequiredQueryIDs
}
func (s *Create) SetRequiredQueryIDs(ids *[]uuid.UUID) {
s.RequiredQueryIDs = ids
}
type Update struct {
ID uuid.UUID
ActiveVersion *int32
RequiredQueryIDs *[]uuid.UUID
Config *string
}
func (s *Update) GetConfig() *string {
return s.Config
}
func (s *Update) SetConfig(cfg *string) {
s.Config = cfg
}
func (s *Update) GetRequiredQueryIDs() *[]uuid.UUID {
return s.RequiredQueryIDs
}
func (s *Update) SetRequiredQueryIDs(ids *[]uuid.UUID) {
s.RequiredQueryIDs = ids
}
type Query struct {
ID uuid.UUID
Type Type
Version int32
RequiredQueryIDs *[]uuid.UUID
Config *string
}
type Creator interface {
Validate(ctx context.Context, entity *Create) error
}
type Updator interface {
Validate(ctx context.Context, current *Query, entity *Update) error
}
type Processor interface {
Process(ctx context.Context, query *Query, values *[]result.Value) (string, error)
}