package resourcepool

import (
	clusterngv1beta "github.com/tidbcloud/cluster-service-ng/api/cluster-service-ng/v1beta"

	globalngv1 "github.com/tidbcloud/tidb-management-service/api/spec/global/nextgen/v1"
	"github.com/tidbcloud/tidb-management-service/utilities/bizerr"
)

func tiflashModeToRegional(mode globalngv1.TiflashMode) (clusterngv1beta.TiflashMode, bizerr.BizError) {
	switch mode {
	case globalngv1.TiflashMode_TIFLASH_MODE_UNSPECIFIED:
		return clusterngv1beta.TiflashMode_TIFLASH_MODE_UNSPECIFIED, nil
	case globalngv1.TiflashMode_TIFLASH_MODE_AUTO:
		return clusterngv1beta.TiflashMode_TIFLASH_MODE_AUTO, nil
	case globalngv1.TiflashMode_TIFLASH_MODE_LEGACY:
		return clusterngv1beta.TiflashMode_TIFLASH_MODE_LEGACY, nil
	case globalngv1.TiflashMode_TIFLASH_MODE_COLUMNAR:
		return clusterngv1beta.TiflashMode_TIFLASH_MODE_COLUMNAR, nil
	default:
		return clusterngv1beta.TiflashMode_TIFLASH_MODE_UNSPECIFIED,
			bizerr.New(bizerr.ErrCodeParams, "unsupported tiflash_mode: %d", mode)
	}
}
