package br

import (
	"context"

	"github.com/tidbcloud/tidb-management-service/nextgen-global-service/domain/entity"
	"github.com/tidbcloud/tidb-management-service/utilities/bizerr"
)

//go:generate go run go.uber.org/mock/mockgen@latest -source=$GOFILE -package=mock_$GOPACKAGE -destination=./mock_$GOPACKAGE/mock_$GOFILE

type RestoreRepo interface {
	Create(ctx context.Context, restore *entity.Restore) bizerr.BizError
	Save(ctx context.Context, restore *entity.Restore) bizerr.BizError
	Delete(ctx context.Context, clusterId uint64) bizerr.BizError
	// this func always return deleted restore record
	Get(ctx context.Context, clusterId uint64) (*entity.Restore, bizerr.BizError)
	HasActiveByTargetClusterIDs(ctx context.Context, clusterIDs []uint64) (bool, bizerr.BizError)
}
