package child

import (
	"github.com/tidbcloud/dataflow-service-ng/app/models/domain"
	dataflow "github.com/tidbcloud/dataflow-service-ng/idl/pbgen/proto/consoleapi"
)

// ChangefeedS3Provider maps the staging provider onto the changefeed contract.
//
// TiCDC addresses every provider by an s3:// URI and is told which one it is
// through this flag: for Alibaba it appends provider=alibaba to the sink URI,
// which makes TiCDC and BR use path-style addressing and skip the AWS-only
// bucket-region probe that fails against OSS.
func ChangefeedS3Provider(provider domain.DataPipelineS3Provider) dataflow.S3Provider {
	if provider == domain.DataPipelineS3ProviderAlibabaOSS {
		return dataflow.S3Provider_S3_PROVIDER_ALIBABA_OSS
	}
	return dataflow.S3Provider_S3_PROVIDER_AWS
}
