Merged in jb/openapi (pull request #22)

add openapi infra

* add openapi infra

Includes generated stubs and all deps

* generatetolocation

* basesetupoffunctionsandclient

* round1controllertests

* passintegrationtests

* cleanupfromfullsuite

* storedjson

* fixjsonyaml

* fixtests


Approved-by: Michael McGuinness
This commit is contained in:
Jay Brown
2025-01-15 19:45:51 +00:00
committed by Michael McGuinness
parent 5ca36b0502
commit 174644b63c
443 changed files with 78766 additions and 2119 deletions
+1 -1
View File
@@ -2,7 +2,7 @@ package main
import (
"context"
controllers "queryorchestration/api/queue"
controllers "queryorchestration/api/queryRunner"
"queryorchestration/internal/document"
"queryorchestration/internal/queue"
"queryorchestration/internal/server"
+26 -10
View File
@@ -2,32 +2,48 @@ package main
import (
"context"
controllers "queryorchestration/api/api"
serviceinterfaces "queryorchestration/api/serviceInterfaces"
"log"
queryservice "queryorchestration/api/queryService"
"queryorchestration/internal/api"
"queryorchestration/internal/collector"
"queryorchestration/internal/export"
"queryorchestration/internal/query"
"queryorchestration/internal/server"
"github.com/labstack/echo/v4"
_ "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))
registerHandlers := func(cfg *server.Config, e *echo.Echo) *api.APIConfig {
exp := export.New(cfg.Database)
col := collector.New(cfg.Database)
que := query.New(cfg.Database)
return grpcServer
services := &queryservice.Services{
Export: exp,
JobCollector: col,
Query: que,
}
cons := queryservice.NewControllers(cfg.Validator, services)
queryservice.RegisterHandlersWithBaseURL(e, cons, "")
swagger, err := queryservice.GetSwagger()
if err != nil {
log.Panicf("Error loading swagger: %s", err)
}
return &api.APIConfig{
Swagger: swagger,
}
}
server := api.New(ctx, &api.Config{
GetControllers: controllers,
RegisterHandlers: registerHandlers,
})
server.Listen()