package data

import (
	"fmt"
	"math/rand"

	cloudv1 "github.com/tidbcloud/infra-api/api/v1"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

	"github.com/tidbcloud/shared-provider/pkg/utils/labels"
)

func NewDefaultRestore(ns, bn string, cluster *cloudv1.Cluster) *cloudv1.Restore {
	return &cloudv1.Restore{
		ObjectMeta: metav1.ObjectMeta{
			Namespace: ns,
			Name:      fmt.Sprintf("e2e-restore-%s-%d", cluster.Name, rand.Int31()),
			Labels: map[string]string{ // add more labels if needed
				labels.LabelKeyProject: labels.GetProjectFromLabels(cluster.Labels),
			},
		},
		Spec: cloudv1.RestoreSpec{
			ClusterName: cluster.Name,
			From: cloudv1.From{
				Backup: bn,
			},
		},
	}
}
