package base

import (
	"github.com/tidbcloud/dataflow-service/app/repo"
	backupRepo "github.com/tidbcloud/dataflow-service/app/repo/backup"
	"github.com/tidbcloud/pkgv2/db"
)

// BaseExportAction extends the base backup action with export-specific functionality
type BaseExportAction struct {
	TransProvider    db.TransProvider
	BackupRepo       backupRepo.BackupRepo
	BackupExportRepo backupRepo.BackupExportRepo
	BucketRepo       repo.BucketRepo
}

// NewBaseExportAction creates a new BaseExportAction
func NewBaseExportAction(
	transProvider db.TransProvider,
	backupRepo backupRepo.BackupRepo,
	backupExportRepo backupRepo.BackupExportRepo,
	bucketRepo repo.BucketRepo,
) BaseExportAction {
	return BaseExportAction{
		TransProvider:    transProvider,
		BackupRepo:       backupRepo,
		BackupExportRepo: backupExportRepo,
		BucketRepo:       bucketRepo,
	}
}
