package rules

import (
	"github.com/tidbcloud/infra-provider/regional-server/api/v1alpha1"
	"github.com/tidbcloud/infra-provider/regional-server/pkg/common/utils"
)

type AppboxRule interface {
	ChooseAppBox(*v1alpha1.APPBoxList) *v1alpha1.APPBox
}

type AppboxDefaultRule struct {
}

func (r *AppboxDefaultRule) ChooseAppBox(list *v1alpha1.APPBoxList) *v1alpha1.APPBox {
	appbox := &list.Items[0]
	for i, inner := range list.Items {
		if utils.NameLargerThan(inner.Name, appbox.Name) {
			appbox = &list.Items[i]
		}
	}
	return appbox
}
