package main import ( "context" controllers "queryorchestration/api/queryRunner" documentclean "queryorchestration/internal/document/clean" documenttext "queryorchestration/internal/document/text" "queryorchestration/internal/job/collector" "queryorchestration/internal/query" "queryorchestration/internal/query/result" "queryorchestration/internal/server" "queryorchestration/internal/server/queue" _ "github.com/lib/pq" ) func main() { ctx := context.Background() queryrunner := func(cfg *server.Config) queue.Controller { extract := documenttext.New() text := documenttext.New() clean := documentclean.New() coll := collector.New(cfg.Database, &collector.Services{ Text: text, Clean: clean, }) res := result.New(cfg.Database) svc := query.New(cfg.Database, &query.Services{ Result: res, Text: extract, Collector: coll, }) return controllers.NewQueryRunner(cfg.Validator, &controllers.Services{ Query: svc, }) } server := queue.NewServer(ctx, &queue.ListenerConfig{ Controller: queryrunner, }) server.Listen(ctx) }