package common

import (
	globalcommonv1 "github.com/tidbcloud/tidb-management-service/api/spec/global/common/v1"
	openapicommonv1beta1 "github.com/tidbcloud/tidb-management-service/api/spec/tidb_cloud_open_api/common/v1beta1"
)

func CvtOpenAPIServicePlan(
	in globalcommonv1.ServicePlan,
) openapicommonv1beta1.ServicePlan {
	switch in {
	case globalcommonv1.ServicePlan_Starter:
		return openapicommonv1beta1.ServicePlan_Starter
	case globalcommonv1.ServicePlan_Essential:
		return openapicommonv1beta1.ServicePlan_Essential
	case globalcommonv1.ServicePlan_Premium:
		return openapicommonv1beta1.ServicePlan_Premium
	case globalcommonv1.ServicePlan_BYOC:
		return openapicommonv1beta1.ServicePlan_BYOC
	case globalcommonv1.ServicePlan_Essential_V2:
		return openapicommonv1beta1.ServicePlan_Essential_V2
	case globalcommonv1.ServicePlan_Premium_Reserved:
		return openapicommonv1beta1.ServicePlan_Premium_Reserved
	default:
		return openapicommonv1beta1.ServicePlan_SERVICE_PLAN_UNSPECIFIED
	}
}

func CvtGlobalServicePlan(
	in openapicommonv1beta1.ServicePlan,
) globalcommonv1.ServicePlan {
	switch in {
	case openapicommonv1beta1.ServicePlan_Starter:
		return globalcommonv1.ServicePlan_Starter
	case openapicommonv1beta1.ServicePlan_Essential:
		return globalcommonv1.ServicePlan_Essential
	case openapicommonv1beta1.ServicePlan_Premium:
		return globalcommonv1.ServicePlan_Premium
	case openapicommonv1beta1.ServicePlan_BYOC:
		return globalcommonv1.ServicePlan_BYOC
	case openapicommonv1beta1.ServicePlan_Essential_V2:
		return globalcommonv1.ServicePlan_Essential_V2
	case openapicommonv1beta1.ServicePlan_Premium_Reserved:
		return globalcommonv1.ServicePlan_Premium_Reserved
	default:
		return globalcommonv1.ServicePlan_SERVICE_PLAN_UNSPECIFIED
	}
}
