package main import ( "context" controllers "queryorchestration/api/api" serviceinterfaces "queryorchestration/api/serviceInterfaces" "queryorchestration/internal/api" "queryorchestration/internal/collector" "queryorchestration/internal/export" "queryorchestration/internal/query" "queryorchestration/internal/server" _ "github.com/lib/pq" "google.golang.org/grpc" ) func main() { ctx := context.Background() controllers := func(cfg *server.Config) *grpc.Server { grpcServer := grpc.NewServer() serviceinterfaces.RegisterQueryServiceServer(grpcServer, controllers.NewQueryController(*query.New(cfg.Database), cfg.Validator)) serviceinterfaces.RegisterExportServiceServer(grpcServer, controllers.NewExportController(*export.New(cfg.Database), cfg.Validator)) serviceinterfaces.RegisterJobCollectorServiceServer(grpcServer, controllers.NewJobCollectorController(*collector.New(cfg.Database), cfg.Validator)) return grpcServer } server := api.New(ctx, &api.Config{ GetControllers: controllers, }) server.Listen() }