Merged in feature/standardisefilepath (pull request #111)
Feature/standardisefilepath * baseprocessing * generalstructure
This commit is contained in:
@@ -5,12 +5,13 @@ import (
|
||||
"context"
|
||||
"database/sql"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"queryorchestration/internal/database/repository"
|
||||
"queryorchestration/internal/serviceconfig/build"
|
||||
"queryorchestration/internal/serviceconfig/objectstore"
|
||||
|
||||
"github.com/aws/aws-sdk-go-v2/service/s3"
|
||||
"github.com/google/uuid"
|
||||
@@ -18,7 +19,7 @@ import (
|
||||
|
||||
type ProcessParams struct {
|
||||
Bucket string
|
||||
Key string
|
||||
Key objectstore.BucketKey
|
||||
Hash string
|
||||
ClientID string
|
||||
}
|
||||
@@ -44,9 +45,10 @@ func (s *Service) mergePages(pages []*Page) (io.Reader, error) {
|
||||
}
|
||||
|
||||
func (s *Service) processTrigger(ctx context.Context, trigger *repository.GetDocumentTextTriggerRow, params *ProcessParams) error {
|
||||
keyStr := params.Key.String()
|
||||
response, err := s.cfg.GetStoreClient().GetObject(ctx, &s3.GetObjectInput{
|
||||
Bucket: ¶ms.Bucket,
|
||||
Key: ¶ms.Key,
|
||||
Key: &keyStr,
|
||||
IfMatch: ¶ms.Hash,
|
||||
})
|
||||
if err != nil {
|
||||
@@ -71,10 +73,6 @@ func (s *Service) processTrigger(ctx context.Context, trigger *repository.GetDoc
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *Service) createTextKey(clientId string, textId uuid.UUID) string {
|
||||
return fmt.Sprintf("%s/text/out/%s", clientId, textId)
|
||||
}
|
||||
|
||||
func (s *Service) storeProcess(ctx context.Context, text io.Reader, trigger *repository.GetDocumentTextTriggerRow, params *ProcessParams) error {
|
||||
version := build.GetVersionUnixTimestamp()
|
||||
|
||||
@@ -99,11 +97,17 @@ func (s *Service) storeProcess(ctx context.Context, text io.Reader, trigger *rep
|
||||
|
||||
var textId uuid.UUID
|
||||
if existingId == uuid.Nil || errors.Is(err, sql.ErrNoRows) {
|
||||
key := s.createTextKey(params.ClientID, trigger.ID)
|
||||
key := objectstore.BucketKey{
|
||||
ClientID: params.ClientID,
|
||||
Location: objectstore.TextOut,
|
||||
CreatedAt: time.Now().UTC(),
|
||||
Filename: trigger.ID.String(),
|
||||
}
|
||||
keyStr := key.String()
|
||||
|
||||
textId, err = q.AddDocumentText(ctx, &repository.AddDocumentTextParams{
|
||||
Bucket: params.Bucket,
|
||||
Key: key,
|
||||
Key: keyStr,
|
||||
Hash: hash,
|
||||
})
|
||||
if err != nil {
|
||||
@@ -112,7 +116,7 @@ func (s *Service) storeProcess(ctx context.Context, text io.Reader, trigger *rep
|
||||
|
||||
_, err = s.cfg.GetStoreClient().PutObject(ctx, &s3.PutObjectInput{
|
||||
Bucket: ¶ms.Bucket,
|
||||
Key: &key,
|
||||
Key: &keyStr,
|
||||
Body: storeReader,
|
||||
})
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user