package documentclean import ( "context" "log/slog" "queryorchestration/internal/database" "queryorchestration/internal/database/repository" "queryorchestration/internal/document" "github.com/google/uuid" ) type CleanParams struct { ID uuid.UUID Location document.Location } func (s *Service) executeCleanTasks(params *CleanParams) (*document.Location, error) { // TODO - various cleaning tasks return ¶ms.Location, nil } func (s *Service) clean(ctx context.Context, id uuid.UUID) error { slog.Debug("cleaning document", "id", id.String()) docId := database.MustToDBUUID(id) entry, err := s.cfg.GetDBQueries().GetDocumentEntry(ctx, docId) if err != nil { return err } outLocation, err := s.executeCleanTasks(&CleanParams{ ID: id, Location: document.Location{ Bucket: entry.Bucket, Key: entry.Key, }, }) if err != nil { return err } version := s.svc.Version.GetVersion() err = s.cfg.GetDBQueries().AddDocumentCleanEntry(ctx, &repository.AddDocumentCleanEntryParams{ Documentid: docId, Version: version, Bucket: outLocation.Bucket, Key: outLocation.Key, }) if err != nil { return err } return nil }