introduces a new type wrapping a nested map so that aggregation of globally excluded items in driveish services don't need to manage the map updates themselves. --- #### Does this PR need a docs update or release note? - [x] ⛔ No #### Type of change - [x] 🧹 Tech Debt/Cleanup #### Issue(s) * #2340 #### Test Plan - [x] ⚡ Unit test - [x] 💚 E2E
75 lines
1.9 KiB
Go
75 lines
1.9 KiB
Go
package inject
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/alcionai/corso/src/internal/common/idname"
|
|
"github.com/alcionai/corso/src/internal/common/prefixmatcher"
|
|
"github.com/alcionai/corso/src/internal/data"
|
|
"github.com/alcionai/corso/src/internal/kopia"
|
|
"github.com/alcionai/corso/src/pkg/account"
|
|
"github.com/alcionai/corso/src/pkg/backup/details"
|
|
"github.com/alcionai/corso/src/pkg/control"
|
|
"github.com/alcionai/corso/src/pkg/control/repository"
|
|
"github.com/alcionai/corso/src/pkg/fault"
|
|
"github.com/alcionai/corso/src/pkg/path"
|
|
"github.com/alcionai/corso/src/pkg/selectors"
|
|
)
|
|
|
|
type (
|
|
BackupProducer interface {
|
|
ProduceBackupCollections(
|
|
ctx context.Context,
|
|
resourceOwner idname.Provider,
|
|
sels selectors.Selector,
|
|
metadata []data.RestoreCollection,
|
|
lastBackupVersion int,
|
|
ctrlOpts control.Options,
|
|
errs *fault.Bus,
|
|
) ([]data.BackupCollection, prefixmatcher.StringSetReader, error)
|
|
|
|
Wait() *data.CollectionStats
|
|
}
|
|
|
|
BackupConsumer interface {
|
|
ConsumeBackupCollections(
|
|
ctx context.Context,
|
|
bases []kopia.IncrementalBase,
|
|
cs []data.BackupCollection,
|
|
pmr prefixmatcher.StringSetReader,
|
|
tags map[string]string,
|
|
buildTreeWithBase bool,
|
|
errs *fault.Bus,
|
|
) (*kopia.BackupStats, *details.Builder, kopia.DetailsMergeInfoer, error)
|
|
}
|
|
|
|
RestoreProducer interface {
|
|
ProduceRestoreCollections(
|
|
ctx context.Context,
|
|
snapshotID string,
|
|
paths []path.Path,
|
|
bc kopia.ByteCounter,
|
|
errs *fault.Bus,
|
|
) ([]data.RestoreCollection, error)
|
|
}
|
|
|
|
RestoreConsumer interface {
|
|
ConsumeRestoreCollections(
|
|
ctx context.Context,
|
|
backupVersion int,
|
|
acct account.Account,
|
|
selector selectors.Selector,
|
|
dest control.RestoreDestination,
|
|
opts control.Options,
|
|
dcs []data.RestoreCollection,
|
|
errs *fault.Bus,
|
|
) (*details.Details, error)
|
|
|
|
Wait() *data.CollectionStats
|
|
}
|
|
|
|
RepoMaintenancer interface {
|
|
RepoMaintenance(ctx context.Context, opts repository.Maintenance) error
|
|
}
|
|
)
|