package base

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

type BaseAction struct {
	BucketRepo        repo.BucketRepo
	TransProvider     db.TransProvider
	BackupSettingRepo backupRepo.BackupSettingRepo
	BucketModel       bucket.BucketModelV2
}

func NewBaseAction(
	transProvider db.TransProvider,
	bucketRepo repo.BucketRepo,
	backupSettingRepo backupRepo.BackupSettingRepo,
	bucketModel bucket.BucketModelV2,
) BaseAction {
	return BaseAction{
		BucketRepo:        bucketRepo,
		TransProvider:     transProvider,
		BackupSettingRepo: backupSettingRepo,
		BucketModel:       bucketModel,
	}
}
