// **Listens For**: Body Containing Document ID. // // **Action**. // // Checks if the document is eligible for syncing. // // By validating: the client can_sync parameter. // // If eligible, send an event to the DOCCLEAN queue. package main import ( "context" "log/slog" "os" docsyncrunner "queryorchestration/api/docSyncRunner" "queryorchestration/internal/client" "queryorchestration/internal/document" documentsync "queryorchestration/internal/document/sync" "queryorchestration/internal/server/runner" documentcleanc "queryorchestration/internal/serviceconfig/queue/documentclean" _ "github.com/lib/pq" ) type DocSyncConfig struct { runner.BaseConfig[docsyncrunner.Body] documentcleanc.DocCleanConfig } func main() { ctx := context.Background() cfg := &DocSyncConfig{} cfg.ControllerFunc = func() runner.Controller[docsyncrunner.Body] { cli := client.New(cfg) doc := document.New(cfg) docsync := documentsync.New(cfg, &documentsync.Services{ Document: doc, Client: cli, }) return docsyncrunner.New(&docsyncrunner.Services{ Document: docsync, }) } server, err := runner.New(ctx, cfg) if err != nil { slog.Error(err.Error()) os.Exit(1) } server.Listen(ctx) }