Files
query-orchestration/internal/document/text/execute.go
T
Michael McGuinness fee71e7740 Merged in feature/postprocessing (pull request #114)
Feature/postprocessing

* tests

* passtest

* fixshorttests

* mosttests

* improvingbasedockerfile

* testspeeds

* testing

* host

* canparallel

* clean

* passfullsuite

* singlepagemax

* test

* findfeatures

* findstables

* tbls

* tablestoo

* tablestoo

* lateraltests

* tableloc

* cleanup

* inlinetable

* childids

* cleanup

* tests
2025-04-22 14:40:16 +00:00

49 lines
1001 B
Go

package documenttext
import (
"context"
"log/slog"
documenttypes "queryorchestration/internal/document/types"
"queryorchestration/internal/serviceconfig/objectstore"
"github.com/google/uuid"
)
func (s *Service) executeExtraction(ctx context.Context, documentId uuid.UUID) error {
clean, err := s.cfg.GetDBQueries().GetCleanEntryByDocId(ctx, documentId)
if err != nil {
return err
} else if clean.Fail.Valid {
slog.Error("document has no clean document", "id", documentId)
return nil
}
key, err := objectstore.ParseBucketKey(*clean.Key)
if err != nil {
return err
}
doc, err := documenttypes.GetFile(ctx, s.cfg, documenttypes.GetFileParams{
Bucket: *clean.Bucket,
Key: key,
Hash: *clean.Hash,
Mimetype: documenttypes.ParseDBNullMimeType(clean.Mimetype),
})
if err != nil {
return err
}
text, err := s.getDocumentText(ctx, doc)
if err != nil {
return err
}
err = s.storeProcess(ctx, text, clean)
if err != nil {
return err
}
return nil
}