package reference

import (
	xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1"

	cloudv1 "github.com/tidbcloud/infra-api/api/v1"
	"github.com/tidbcloud/infra-provider/pkg/resource"
)

func GetZonalResourceRefs(network *cloudv1.Network, r resource.NetworkZonalResource, zones []string) []xpv1.Reference {
	refs := []xpv1.Reference{}
	for _, zone := range zones {
		name := r.Namer(network).WithZone(zone).Name()
		refs = append(refs, xpv1.Reference{
			Name: name,
		})
	}

	return refs
}

func GetResourceRef(network *cloudv1.Network, r resource.NetworkResource) xpv1.Reference {
	return xpv1.Reference{
		Name: r.Namer(network).Name(),
	}
}
