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 NewDefaultBackup(ns string, cluster *cloudv1.Cluster) *cloudv1.Backup {
	return &cloudv1.Backup{
		ObjectMeta: metav1.ObjectMeta{
			Namespace: ns,
			Name:      fmt.Sprintf("e2e-backup-%s-%d", cluster.Name, rand.Int31()),
			Labels: map[string]string{ // add more labels if needed
				labels.LabelKeyProject: labels.GetProjectFromLabels(cluster.Labels),
			},
		},
		Spec: cloudv1.BackupSpec{
			ClusterName: cluster.Name,
		},
	}
}
