package cluster

import (
	"context"

	globaldedicatedv1 "github.com/tidbcloud/tidb-management-service/api/spec/global/dedicated/v1"
	"github.com/tidbcloud/tidb-management-service/dedicated-global-service/domain/entity"
	"github.com/tidbcloud/tidb-management-service/utilities/bizerr"
)

func (s *serviceImpl) GetDefaultTidbVersion(
	ctx context.Context,
	request *globaldedicatedv1.GetDefaultTidbVersionRequest,
) (*globaldedicatedv1.GetDefaultTidbVersionResponse, bizerr.BizError) {
	clusterVersion, err := s.clusterConfigCli.GetClusterVersion(ctx, &entity.Cluster{
		Cluster: &globaldedicatedv1.Cluster{
			CloudProviderId: request.GetCloudProvider(),
			RegionId:        request.GetRegion(),
			OrganizationId:  request.GetTenantId(),
		}})
	if err != nil {
		return nil, bizerr.WrapError(err, "get default tidb version")
	}
	return &globaldedicatedv1.GetDefaultTidbVersionResponse{
		Version: clusterVersion,
	}, nil
}
