Files
query-orchestration/internal/document/text/execute.go
T
Michael McGuinness db469e7491 Merged in feature/assertions (pull request #158)
Assertions + Gen Text

* assert
2025-05-28 12:36:47 +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
}