package common

import (
	"strconv"

	"github.com/pingcap/test-infra/common/model/resource"
)

var (
	ResourceHandleSource   = &resource.ResourceHandle{}
	ResourceHandleMySQL    = &resource.ResourceHandle{}
	ResourceHandleKafka    = &resource.ResourceHandle{}
	ResourceHandleWorkload = &resource.ResourceHandle{}

	ResourceHandleKafkaConsumer       = &resource.ResourceHandle{}
	ResourceHandleKafkaConsumerTarget = &resource.ResourceHandle{}

	ResourceHandleTiUP = &resource.ResourceHandle{}
)

const (
	// DBName is the database for run workload, also used for consistency check.
	DBName = "workload"

	ChangefeedMySQL360 = "qihoo360-mysql-task"

	DBNameccPrefix = "betting_"
	DBNamecc = "betting_0"
	ChangefeedMySQLcc  = "cc-mysql-task"
)

type SinkType int

const (
	SinkTypeMySQL SinkType = iota
	SinkTypeKafka
)

func (s SinkType) String() string {
	switch s {
	case SinkTypeMySQL:
		return "mysql"
	case SinkTypeKafka:
		return "kafka"
	default:
		return "#" + strconv.Itoa(int(s))
	}
}
