Files
query-orchestration/internal/query/sync/sync.go
T
Michael McGuinness 8f409e60a8 Merged in bugfix/errhandling (pull request #89)
Error handling

* basic
2025-03-05 19:49:03 +00:00

37 lines
831 B
Go

package querysync
import (
"context"
"log/slog"
"queryorchestration/internal/database"
"github.com/google/uuid"
)
func (s *Service) Sync(ctx context.Context, id uuid.UUID) error {
dbid := database.MustToDBUUID(id)
isextracted, err := s.cfg.GetDBQueries().IsDocumentTextExtracted(ctx, dbid)
if err != nil {
return err
} else if !isextracted {
slog.Error("document has no extracted text", "id", id)
return nil
}
unsyncedQueries, err := s.cfg.GetDBQueries().ListUnsyncedNoDepsQueriesByDocId(ctx, dbid)
if err != nil {
return err
}
slog.Debug("unsynced queries", "document_id", id.String(), "queries", unsyncedQueries)
ids := make([]uuid.UUID, len(unsyncedQueries))
for i, dbId := range unsyncedQueries {
ids[i] = database.MustToUUID(dbId)
}
return s.svc.ResultSync.TriggerMultiSync(ctx, id, ids)
}